[ODE] FW: Quick dQuaternion question

Auro auro.ghosh at gmail.com
Thu Jun 15 01:07:01 MST 2006

Hmm Jon,

you've stated it very clearly yourself: right-handed rules for a right
handed system, and left-handed rules for a left handed system, as long as
you stick to the conventions there is never any mixing up. So if you're
working with a left-handed system and pass certain data into a black-box
(ODE) and retrieve the data back and interpret it as left-handed then you
have no problems. The same goes if you were working with a right handed
system. In short you really don't have to bother what handed-system the
black-box uses - since its internal system is consistent and your external
system is consistent.

But that does not imply that the black-box is handedness free (though you're
justified in saying that to minimise confusion). Handedness is both an
interpretation/physical constraint and also an inherent requirement in the
mathematical cross-product operation. You cannot compute a cross-product
without a handedness convention. Thus you are right in saying that
matrix-multiplication is handedness neutral, and I'd agree that unit
quaternions and orthogonal matrices under multiplication are both the SO(3)
group - but can you actually convert from quats to mats without a handedness
convention (this is a question I actually ask you - since all the reference
on this topic I've had is from Martin Baker's euclideanspace:
And there the method he shows uses cross-products and is therefore
handedness dependent.)? Therefore I wouldn't say that "quaternion
multiplication must be handedness neutral" (they definitely are not -
though, when multiplied, what they conceptually represent - two consecutive
rotations is 3 space, is handedness neutral!)

Anyway, irrespective of the theoretical question of "can you convert?", the
ODE code for "dQMultiply0, dQtoR", clearly state that the ODE black-box
internally uses a right-handed system.

Thanks again for your patient replies.



On 6/13/06, Jon Watte (ODE) <hplus-ode at mindcontrol.org> wrote:
> X rotated around Y always yield -Z, both in left-handed interpretation
> and right-handed interpretation. (this is why rotations use the left
> hand rule in left-handed systems, and the right hand rule in
> right-handed systems) You have your interpretations and your coordinate
> systems mixed up in your question.
> Note that "A physically clockwise rotation around Y" is expressed as
> negative angles in right-handed systems, but as positive angles in a
> left-handed system. The crucial realization is that "clockwise" or
> "physical" is an interpretation domain constraint, not math.
> Think of it this way: if you convert the quaternions to matrices,
> multiply the matrices, and then convert back to quaternion, that's what
> you get when you multiply quaternions directly. Thus, because matrix
> multiplication is handedness neutral, and quaternion/matrix conversion
> is handedness neutral, then quaternion multiplication must be handedness
> neutral.
> As the FAQ says: feed ODE left-handed data; then the data you pull out
> is left-handed.
> Cheers,
>                         / h+
- Aurobrata Ghosh -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://q12.org/pipermail/ode/attachments/20060615/1dcb82f2/attachment-0001.htm

More information about the ODE mailing list