Graphics Reference
In-Depth Information
CHAPTER
2
Technical Background
This chapter serves as a prelude to the computer animation techniques presented in the remaining
chapters. It is divided into two sections. The first serves as a quick review of the basics of the computer
graphics display pipeline and discusses potential sources of error when dealing with graphical data. It is
assumed that the reader has already been exposed to transformation matrices, homogeneous coor-
dinates, and the display pipeline, including the perspective projection; this section concisely reviews
these topics. The second section covers various orientation representations that are important for the
discussion of orientation interpolation in Chapter 3.3 .
2.1 Spaces and transformations
Much of computer graphics and computer animation involves transforming data (e.g., [ 2 ] [ 7 ] ). Object
data are transformed from a defining space into a world space in order to build a synthetic environment.
Object data are transformed as a function of time in order to produce animation. Finally, object data
are transformed in order to view the object on a screen. The workhorse transformational representation
of graphics is the 4
4 transformation matrix, which can be used to represent combinations of three-
dimensional rotations, translations, and scales as well as perspective projection.
A coordinate space can be defined by using a left- or a right-handed coordinate system (see
Figure 2.1a,b ) . Left-handed coordinate systems have the x -, y -, and z -coordinate axes aligned as the
thumb, index finger, and middle finger of the left hand are arranged when held at right angles to each
other in a natural pose: extending the thumb out to the side of the hand, extending the index finger
coplanar with the palm, and extending the middle finger perpendicular to the palm. The right-handed
coordinate system is organized similarly with respect to the right hand. These configurations are inher-
ently different; there is no series of pure rotations that transforms a left-handed configuration of axes
into a right-handed configuration. Which configuration to use is a matter of convention. It makes no
difference as long as everyone knows and understands the implications. Another arbitrary convention is
the axis to use as the up vector. Some application areas assume that the y -axis is “up.” Other appli-
cations assume that the z -axis is “up.” As with handedness, it makes no difference as long as everyone
is aware of the assumption being made. In this topic, the y -axis is considered “up.”
This section first reviews the transformational spaces through which object data pass as they are
massaged into a form suitable for display. Then, the use of homogeneous representations of points
and the 4 4 transformation matrix representation of three-dimensional rotations, translation, and
scale are reviewed. Next come discussions of representing arbitrary position and orientation by a series
Search WWH ::




Custom Search