Game Development Reference

In-Depth Information

Local Coordinate Axes

Earlier, we defined the Cartesian coordinate system to use for your fixed global refer‐

ence, or world coordinates. This world coordinate system is all that's required when

treating particles; however, for rigid bodies you'll also use a set of local coordinates fixed

to the body. Specifically, this local coordinate system will be fixed at the body's center-

of-mass location. You'll use this coordinate system to track the orientation of the body

as it rotates.

For plane motion, we require only one scalar quantity to describe the body's orientation.

This is illustrated in
Figure 2-8
.

Figure 2-8. Local coordinate axes

Here the orientation, Ω, is defined as the angular difference between the two sets of

coordinate axes: the fixed world axes and the local body axes. This is the so-called Euler

angle. In general 3D motion there is a total of three Euler angles, which are usually called

yaw
,
pitch
, and
roll
in aerodynamic and hydrodynamic jargon. While these angular

representations are easy to visualize in terms of their physical meaning, they aren't so

nice from a numerical point of view, so you'll have to look for alternative representations

when writing your 3D real-time simulator. These issues are addressed in
Chapter 9
.

Angular Velocity and Acceleration

In two-dimensional plane motion, as the body rotates, Ω will change, and the rate at

which it changes is the angular velocity, ω. Likewise, the rate at which ω changes is the

angular acceleration, α. These angular properties are analogous to the linear properties

of displacement, velocity, and acceleration. The units for angular displacement, velocity,