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