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

Robert Kern robert.kern at gmail.com
Thu Jul 28 23:16:58 EDT 2011


On Thu, Jul 28, 2011 at 21:48, Robert Love <rblove_lists at comcast.net> wrote:
>
> On Jul 28, 2011, at 7:42 AM, Martin Ling wrote:
>
>> On Wed, Jul 27, 2011 at 10:29:08PM -0500, Robert Love wrote:
>>>
>>> To use quaternions I find I often need conversion to/from matrices and
>>> to/from Euler angles.  Will you add that functionality?
>>
>> Yes, I intend to. Note that these conversions are already available in
>> the standalone (non-dtype) implementation in imusim.maths.quaternions:
>>
>> http://www.imusim.org/docs/api/imusim.maths.quaternions.Quaternion-class.html#setFromEuler
>> http://www.imusim.org/docs/api/imusim.maths.quaternions.Quaternion-class.html#toEuler
>> http://www.imusim.org/docs/api/imusim.maths.quaternions.Quaternion-class.html#setFromMatrix
>> http://www.imusim.org/docs/api/imusim.maths.quaternions.Quaternion-class.html#toMatrix
>>
>> I should do a new release though - the Euler methods there only support
>> ZYX and ZXY order conversions, my development version supports any order.
>>
>>> Will you handle the left versor and right versor versions?
>>
>> I don't know what this means. Please enlighten me and I'll be happy to
>> try! I thought a 'right versor' was a unit quaternion representing an
>> angle of 90 degrees (as in 'right angle') - I don't see what a 'left'
>> one would be.
>>
>
> Quaternions have a "handedness" or a sign convention.  The recently departed Space Shuttle used a Left versor convention while most things, including Space Station, use the right versor convention, in their flight software.  Made for frequent confusion.

For what it's worth, I have found this paper by James Diebel to be the
most complete listing of all of the different conventions and
conversions amongst quaternions, Euler angles, and rotation vectors:

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.110.5134

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco



More information about the NumPy-Discussion mailing list