#3ds file: rot keyframes
25-Oct-95 13:12:25
Sb: #196879-#3ds file: rot keyframes
Fm: [F] Grant Blaha [Adesk] 72540,1062
To: Mark Hodges 75362,2555
Hi Mark,
>> Sometimes the axis is <1,0,0> and sometimes it is <-1,0,0>, but the sign of
the angle is not inverting. This is causing our animated model suddenly change
heading by 90 degrees. Is this in some way related to quaternions? <<
Is this happening on a key to key basis through a single motion path, or on
key zero? If you are talking about the variations on key zero, the following
information may help.
When objects are created in the editor, the signs on their Euler matrix will
vary depending on what viewport they were created in. These rotations are
assigned because when you create an object in the left viewport, its "front"
will be rotated to the left (Z axis rotation I think).
>> To build a cumulative rotation matrix for each keyframe, I first construct
a quaternion from the axis and angle, construct a rotation matrix from the
quaternion, then concatenate it with the previous rotation matrices.
Is this a correct procedure given the format of the rotation keyframes, or am
I neglecting an important piece of data? <<
I think you need to be interpolating the quaternians and then converting that
result into a Euler. Adding together Euler's won't give you the results you
want because of discontinuities in the tan function.
You may also want to take a look at Quatern.zip in the library. It's a
compilation of all the quaterian related threads over the last 2 years. It's
good stuff.
-Grant Blaha [ADESK]