Graphics Reference
In-Depth Information
The third rotation, R z ( g ), is around the now twice-rotated frame. This rotation can be effected by
undoing the previous rotations with R x (
b ), then rotating around the global z -axis
by R z ( g ), and then reapplying the previous rotations. Putting all three rotations together, and using a
double prime to denote rotation about a twice-rotated frame, results in Equation 2.23 .
a ) followed by R y (
R y 00 ðgÞR y 0 ðbÞR x ðaÞ¼R x ðaÞR y ðbÞR z ðgÞR y ðbÞR x ðaÞR x ðaÞR y ðbÞ
¼ R x ðaÞR y ðbÞR z ðgÞ
(2.23)
Thus, this system of Euler angles is precisely equivalent to the fixed-angle system in reverse order.
This is true for any system of Euler angles. For example, z-y-x Euler angles are equivalent to x-y-z fixed
angles. Therefore, the Euler angle representation has exactly the same advantages and disadvantages
(i.e., gimbal lock) as those of the fixed-angle representation.
2.2.3 Angle and axis representation
In the mid-1700s, Leonhard Euler showed that one orientation can be derived from another by a single
rotation about an axis. This is known as the Euler Rotation Theorem [ 1 ]. Thus, any orientation can be
represented by three numbers: two for the axis, such as longitude and latitude, and one for the angle
( Figure 2.21 ) . The axis can also be represented (somewhat inefficiently) by a three-dimensional vector.
This can be a useful representation. Interpolation between representations ( A 1 , y 1 ) and ( A 2 , y 2 ), where
A is the axis of rotation and y is the angle, can be implemented by interpolating the axes of rotation and
the angles separately ( Figure 2.22 ). An intermediate axis can be determined by rotating one axis part-
way toward the other. The axis for this rotation is formed by taking the cross product of two axes, A 1 and
A 2 . The angle between the two axes is determined by taking the inverse cosine of the dot product of
normalized versions of the axes. An interpolant, k , can then be used to form an intermediate axis and
angle pair. Note that the axis-angle representation does not lend itself to easily concatenating a series of
rotations. However, the information contained in this representation can be put in a form in which these
operations are easily implemented: quaternions.
Angle and axis
of rotation
y
y
Orientation A
Orientation B
x
x
z
z
FIGURE 2.21
Euler's rotation theorem implies that for any two orientations of an object, one can be produced from the other by a
single rotation about an arbitrary axis.
 
Search WWH ::




Custom Search