On Fri, Jul 29, 2011 at 1:57 PM, Benjamin Root <ben.r...@ou.edu> wrote:

>
>
> On Fri, Jul 29, 2011 at 2:52 PM, Charles R Harris <
> charlesr.har...@gmail.com> wrote:
>
>>
>>
>> On Fri, Jul 29, 2011 at 11:07 AM, Martin Ling <martin-nu...@earth.li>wrote:
>>
>>> On Fri, Jul 29, 2011 at 09:14:00AM -0600, Charles R Harris wrote:
>>> >
>>> >    Well, if the shuttle used a different definition then it was out
>>> there
>>> >    somewhere. The history of quaternions is rather involved and mixed
>>> up with
>>> >    vectors, so it may be the case that there were different
>>> conventions.
>>>
>>> My point is that these are conventions of co-ordinate frame, not of
>>> different representations of quaternions themselves. There's no two
>>> "handednesses" of quaternions to support. There are an infinte number of
>>> co-ordinate frames, and a quaternion can be interpreted as a rotation in
>>> any one of them. It's a matter of interpretation, not calculation.
>>>
>>> >    It might also be that the difference was between vector and
>>> >    coordinate rotations, but it is hard to tell without knowing how
>>> >    the code actually made use of the results.
>>>
>>> Indeed, this is the other place the duality shows up. If q is the
>>> rotation of frame A relative to frame B, then a vector v in A appears
>>> in B as:
>>>
>>>        v' = q * v * q.conjugate
>>>
>>> while a vector u in B appears in A as:
>>>
>>>        u' = q.conjugate * u * q
>>>
>>> The former is often thought of as 'rotating the vector' versus the
>>> second as 'rotating the co-ordinate frame', but both are actually the
>>> same operation performed using a different choice of frames.
>>>
>>>
>> They are different, a vector is an element of a vector space independent
>> of coordinate frames, coordinate frames are a collection of functions from
>> the vector space to scalars. Operationally, rotating vectors is a map from
>> the vector space onto itself, however the  coordinates happen to be the same
>> when the inverse rotation is applied to the coordinate frame, it's pretty
>> much the definition of coordinate rotation. But the concepts aren't the
>> same. The similarity between the operations is how covariant vectors got to
>> be called contravariant tensors, the early workers in the field dealt with
>> the coordinates.
>>
>> But that is all to the side ;) I'm wondering about the history of the
>> 'versor' object and in which fields it was used.
>>
>> Chuck
>>
>>
> I am starting to get very interested in this quaternion concept (and maybe
> how I could use it for mplot3d), but I have never come across it before
> (beyond the typical vector math that I am familiar with).  Can anybody
> recommend a good introductory resource to get me up to speed?
>
>
Well, there is Robert's
recommendation<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.110.5134&rep=rep1&type=pdf>,
which looks sort of like a reprise of Klein & Sommerfeld's Theory of
the 
Top<http://books.google.com/books/about/The_theory_of_the_top.html?id=xdxGF918uI8C>,
but there are lots of resources out there for the application of quaternions
to graphics. The main advantage of quaternions is that they provide a simply
connected representation of rotations, there isn't a jump between rotations
of +/- 180 degrees. Also, since they exist on the surface of a 4 dimensional
ball you can interpolate rotations by a path on that surface, or even
approximate same by secant lines between nearby points.

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to