Game Development Reference
In-Depth Information
we can do this same operation with the exponential map just as easily.
Quaternions can do this through exponentiation, but an inspection of the
math reveals that it's really using the axis-angle format under the hood.
(Even though quaternions claim to be using the exponential map under the
hood!) Quaternions can also do a similar operation using slerp, but in a
more roundabout way and without the ability for intermediate results to
store rotations beyond 180 degrees. We look at quaternions in Section 8.5.
The exponential map gets more use than the axis-angle. First of all, its
interpolation properties are nicer than Euler angles. Although it does have
singularities (discussed next), they are not as troublesome as for Euler an-
gles. Usually, when one thinks of interpolating rotations, one immediately
thinks of quaternions; however, for some applications, such as storage of
animation data, the underappreciated exponential map can be a viable al-
ternative [27]. But the most important and frequent use of the exponential
map is to store not angular displacement, but rather angular velocity. This
is because the exponential map differentiates nicely (which is somewhat
related to its nicer interpolation properties) and can represent multiple ro-
tations easily.
Like Euler angles, the axis-angle and exponential map forms exhibit
aliasing and singularities, although of a slightly more restricted and benign
manner. There is an obvious singularity at the identity orientation, or the
quantity “no angular displacement.” In this case, θ = 0, and our choice
of axis is irrelevant—any axis may be used. Notice, however, that the
exponential map nicely tucks this singularity away, since multiplication by
θ causes e to vanish, no matter what rotation axis n is chosen. Another
trivial form of aliasing in axis-angle space can be produced by negating
both θ and n . However, the exponential map dodges this issue as well,
since negating both θ and n leaves e = θ n unchanged!
The other aliases cannot be dispatched so easily. As with Euler an-
gles, adding a multiple of 360 o to θ produces an angular displacement that
results in the same ending orientation, and this form of aliasing affects
both the axis-angle and exponential map. However, this is not always a
shortcoming—for describing angular velocity, this ability to represent such
“extra” rotation is an important and useful property. For example, it's
quite important to be able to distinguish between rotation about the x-axis
at a rate of 720 o per second versus rotation about the same axis at a rate
of 1080 o per second, even though these displacements result in the same
ending orientation if applied for an integral number of seconds. It is not
possible to capture this distinction in quaternion format.
As it turns out, given any angular displacement that can be described
by a rotation matrix, the exponential map representation is uniquely deter-
mined. Although more than one exponential map may produce the same
rotation matrix, it is possible to take a subset of the exponential maps
Search WWH ::




Custom Search