Types of Transformations

Let's step back for a second and categorize the transformations we've seen so far. Here's a summary:

Linear Transformations

Let us consider a function

i.e., F is a map from n-tuples of reals to m-tuples of reals. We call such a map linear provided

Another way to characterize F is by writing

In other words, every linear transformation can be written as a matrix multiplication.

Affine Transformations

An affine transformation can simply be thought of as a linear transformation plus a translation:

Where q is an m-tuple which acts on the result of the matrix multiplication.

We will see that affine transformations can be viewed as linear transformations in an affine space. This means that if we could somehow embed our usual Cartesian world inside some affine space, we could express these transformations as matrix multiplications.

Projective Transformations

The general form for a projective transformation is rather complicated:

Fortunately, we can perform a similar embedding that we did to simplify affine transformations. A projective transformation is just a linear transformation in a projective space. So, if we could embed the Cartesian world in a projective space, we could express all our usual geometric transformations as simple matrix multiplications.


Homogeneous Coordinates

Happily, such an embedding exists, and it allows us to build a single unified framework that performs all these transformations efficiently. What we do is embed our usual three-dimensional coordinates inside a four-dimensional space by rewriting them as homogeneous coordinates. In homogeneous coordinates, the point (x,y,z) is mapped to the set of points (wx,wy,wz,w) where w takes on all real numbers. A general four-dimensional point (x,y,z,w) [w != 0] represents the three-dimensional point (x/w,y/w,z/w). This division is called perspective division.

Note that this repeated division can become computationally expensive in the long run. If we can find some way to phrase our transformations so that they preserve w = 1, the extra division step won't be necessary when trying to translate back to three-dimensional coordinates. It turns out that this is not always feasible in the general case of a projective transformation. However, affine transformations can always be written so that they preserve w = 1.



Previous: Types of Projection

Up: Geometric Transformation Index

Next: Clipping