4.8 Projections 159
less than n dimensions (generally, n − 1). The most significant use of projection
in computer graphics is in the rendering pipeline of graphics display systems and
libraries, where three-dimensional objects are projected onto a plane before being
rasterized and displayed on a terminal screen.
The class of projective transformations contains two subclasses that are of par-
ticular interest in computer graphics: parallel and perspective. A projection can be
defined as the result of taking the intersection of a line connected to each point on a
geometric object with a plane. In parallel projection, all of these projectors are paral-
lel, while in perspective projection, the projectors meet at a common point, referred
to as the center of projection. As pointed out in Foley et al. (1996, Section 6.1), you
can justifiably consider the center of projection in a parallel projection to be a point
at infinity.
In the following sections, we’ll show how orthographic and perspective projection
transformation matrices can be constructed using only vector algebra techniques.
For a thorough treatment of the various subclasses of parallel projections, and the
construction of parallel and perspective projection transformation matrices for the
purposes of creating viewing transformations, see Foley et al. (1996, Chapter 6).
4.8.1 Orthographic
Orthographic projection (also called orthogonal) is the simplest type of projection
we’ll discuss: it consists of merely projecting points and vectors in a perpendicular
fashion onto a plane, as shown in Figure 4.26. As in the case of the mirror transform,
we define the plane M byapointQ on the plane and (unit) normal vector ˆu.
Orthographic projection of a vector v is simply the usual sort of projection we’ve
been using all along: we project v onto ˆu to get the parallel and perpendicular com-
ponents, and note that since v
⊥
is position independent, the relative location of Q is
not considered. Thus, we have
T(v) =v
⊥
=v −(v ·ˆu) ˆu
(4.33)
The transformation of a point P is similarly trivial:
T(P)= Q + T(v)
= Q + T(P − Q)
= P −((P − Q) ·ˆu) ˆu
(4.34)
The matrix representation of this is accomplished by factoring out v from Equa-
tion 4.33 to give the upper left-hand n × n submatrix:
T
ˆu
=
I −( ˆu ⊗ˆu)