Two-dimensional transforms


We've already used simple two-dimensional transforms. Here we will simply develop a consistent framework for them.

Two-dimensional transforms are nothing but functions used to map points from one place to another. Transforms can be applyed to any of the drawing primitives that we've discussed to this point. Transforms can also be applied to the pixel coordinates of an image.


We'll begin with a very simple transfrom and generalize it until we arrive at a very powerful representation.

Translations

Translations are a simple family of two-dimensional transforms. Tranlations were at the heart of our Sprite implementations in Project #1.

Translations have the following form

x' = x + tx

y' = y + ty
For every translation there exists an inverse function which undoes the translation. In our case the inverse looks like:
x = x' - tx

y = y' - ty
There also exists a special translation, called the identity, that leaves every point unchanged.
x' = x + 0

y' = y + 0
These properties might seem trivial at first glance, but they are actually very important, because when these conditions are shown for any class of functions it can be proven that such a class is closed under composition (i.e. any series of translations can be composed to a single translation). In mathematical parlance this the same as saying that translations form an algebraic group.

Rotations

Another interesting class of 2-transforms involve rotations about the origin. Rotations are a group.

Euclidean Transforms

Euclidean transforms combine both rotation and translation.
Note: Discuss order

Simlitude Transforms


Affine Transforms



This page was last modified Wednesday, October 02, 1996