Thursday 5 December 2013

MQuaternion inversion functions

The wording in the documentation for Maya's quaternion inversion functions can lead you to use them erroneously. MQuaternion::invertIt() (and probably inverse() as well) will make the quaternion represent the inverse rotation and not do an inversion of the quaternion's components. To the latter you will need someQuaternion = -someQuaternion. This will correctly invert the XYZ and W components of the quaternion, and not just the XYZ. Because of double cover, inverted quaternions represent an equivalent orientation in 3D space. You might want to invert all the components when interpolating between two orientations.