Game Development Reference
In-Depth Information
the interpolation. If you have never experienced what Gimbal lock looks
like, you may be wondering what all the fuss is about. Unfortunately, it is
very di cult to fully appreciate the problem from illustrations in a book—
you need to experience it in real time. Fortunately, though, it's easy to find
an animation demonstrating the problem: just do a youtube.com search for
“gimbal lock.”
The first two problems with Euler angle interpolation were irritating,
but certainly not insurmountable. Canonical Euler angles and wrapPi pro-
vide relatively simple workarounds. Gimbal lock, unfortunately, is more
than a minor nuisance; it's a fundamental problem. Could we perhaps
reformulate our rotations and devise a system that does not suffer from
these problems? Unfortunately, this is not possible. There is simply an
inherent problem with using three numbers to describe 3D orientation. We
could change our problems, but not eliminate them. Any system that pa-
rameterizes 3-space orientation using three numbers is guaranteed to have
singularities in the parameterization space and therefore be subject to prob-
lems such as Gimbal lock. The exponential map form (see Section 8.4) , a
different scheme for parameterizing 3D rotation with three numbers, man-
ages to consolidate the singularities to a single point: the antipodes. This
behavior is more benign for certain practical situations, but it does not
remove the singularities completely. To do that, we must use quaternions,
which are discussed in Section 8.5.
8.3.5 Summary of Euler Angles
Let's summarize our findings from Section 8.3 about Euler angles.
Euler angles store orientation by using three angles. These angles are
ordered rotations about the three object-space axes.
The most common system of Euler angles is the heading-pitch-bank
system. Heading and pitch tell which way the object is facing—
heading gives a “compass reading” and pitch measures the angle of
declination. Bank measures the amount of “twist.”
In a fixed-axis system, the rotations occur about the upright axes
rather than the moving body axes. This system is equivalent to Euler
angles, provided that we perform the rotations in the opposite order.
Lots of smart people use lots of different terms for Euler angles, and
they can have good reasons for using different conventions. 7
It's best
7 There are also lots of stupid people who do not have good reasons for the choices
they make—but in the end, the result is the same.
 
Search WWH ::




Custom Search