Graphics Reference
In-Depth Information
to an object. This series of transformations is compiled into 4
4 matrices and is multiplied together
to produce a compound 4
3 submatrix
represents a rotation to apply to the object, while the first three elements of the fourth column
represent the translation (assuming points are represented by column vectors that are premultiplied
by the transformation matrix). No matter how the 4
4 transformation matrix. In such a matrix, the upper left 3
4 transformation matrix was formed (no matter
in what order the transformations were given by the user, such as “rotate about x , translate, rotate
about x , rotate about y , translate, rotate about y ”), the final 4
4 transformation matrix produced
by multiplying all of the individual transformation matrices in the specified order will result in a
matrix that specifies the final position of the object by a 3
3 rotation matrix followed by a trans-
lation. The conclusion is that the rotation can be interpolated independently from the translation. (For
now, consider that the interpolations are linear, although higher order interpolations are possible; see
Appendix B.5 .)
Consider two such transformations that the user has specified as key states with the intention of
generating intermediate transformations by interpolation. While it should be obvious that interpolating
the translations is straightforward, it is not at all clear how to go about interpolating the rotations.
In fact, it is the objective of this discussion to show that interpolation of orientations is not nearly
as straightforward as interpolation of translation. A property of 3
3 rotation matrices is that the
rows and columns are orthonormal (unit length and perpendicular to each other). Simple linear
interpolation between the nine pairs of numbers that make up the two 3
3 rotation matrices to be
interpolated will not produce intermediate 3
3 matrices that are orthonormal and are therefore
not rigid body rotations. It should be easy to see that interpolating from a rotation of þ 90 degrees about
the y -axis to a rotation of 90 degrees about the y -axis results in intermediate transformations that are
nonsense ( Figure 2.15 ) .
So, direct interpolation of transformation matrices is not acceptable. There are alternative represen-
tations that are more useful than transformation matrices in performing such interpolations including
fixed angle, Euler angle, axis-angle, quaternions, and exponential maps.
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0
1
0
0
Positive 90-degree y -axis rotation
Negative 90-degree y -axis rotation
000
0
1
0
0
00
Interpolated matrix halfway between the orientation representations above
FIGURE 2.15
Direct interpolation of transformation matrix values can result in nonsense—transformations.
 
Search WWH ::




Custom Search