[Numpy-discussion] Quaternion dtype for NumPy - initial implementation available

Benjamin Root ben.root at ou.edu
Fri Jul 29 15:57:23 EDT 2011


On Fri, Jul 29, 2011 at 2:52 PM, Charles R Harris <charlesr.harris at gmail.com
> wrote:

>
>
> On Fri, Jul 29, 2011 at 11:07 AM, Martin Ling <martin-numpy at 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?

Thanks,
Ben Root
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110729/94f2ae12/attachment.html>


More information about the NumPy-Discussion mailing list