Page 114 - Computer Graphics Handout
P. 114
and is the transpose of the matrix M that we derived in Section 3.3.4. The 12 values can be set arbitrarily, and we say that this
transformation has 12 degrees of freedom. However, points and vectors have slightly different representations in our affine
space. Any vector is represented as
Any point can be written as
If we apply an arbitrary C to a vector,
v = Cu,
we see that only nine of the elements of C affect u, and thus there are only nine degrees of freedom in the transformation of vectors.
Affine transformations of points have the full 12 degrees of freedom. We can also show that affine transformations preserve lines.
Suppose that we write a line in the form
P(α) = P0+ αd,
where P0 is a point and d is a vector. In any frame, the line can be expressed as
p(α) = p0+ αd,
where p0 and d are the representations of P0 and d in that frame. For any affine
transformation matrix A,
Cp(α) = Cp0+ αCd.
Thus, we can construct the transformed line by first transforming p0 and d and using whatever line-generation algorithm we choose
when the line segment must be displayed. If we use the two-point form of the line,
p(α) = αp0+ (1− α)p1,
a similar result holds. We transform the representations of p0 and p1 and then construct the transformed line. Because there are
only 12 elements in C that we can select arbitrarily, there are 12 degrees of freedom in the affine transformation of a line or line
segment. We have expressed these results in terms of abstract mathematical spaces. However, their importance in computer
graphics is practical. We need only to transform the homogeneous-coordinate representation of the endpoints of a line segment to
determine completely a transformed line. Thus, we can implement our graphics systems as a pipeline that passes endpoints through
affine-transformation units and generates the interior points at the rasterization stage. Fortunately, most of the transformations
that we need in computer graphics are affine. These transformations include rotation, translation, and scaling. With slight
modifications, we can also use these results to describe the standard parallel and perspective projections discussed in Chapter 4.
114

