2-D Transformations
Tom Kelliher, CS 320
Apr. 19, 2000
Friday is lab day.
Read 4.8,9. Questions on cube.c for 4/24.
Pong project.
- 2-D transformations: rotation, translation, scaling.
Concatenation of transformations, transformation matrices.
Three primitive transformation:
- Rotation.
- Scaling.
- Translation.
We'll consider each in turn.
The idea is to perform all transformations via matrix multiplications:
I'll assume you're familiar with (from 5.1):
- Vector spaces and their properties.
- Dot product.
- Magnitude of a vector: .
- Angle between two vectors:
- Properties of matrices.
- Some trigonometry:
We're all probably somewhat rusty. I know I am.
Consider rotating the point by about the origin.
With a little magic:
What's our transformation matrix look like?
- ``Contract'' or ``expand'' a point (polygon).
- Point moves in relation to origin.
- Differential, uniform scalings.
Matrix representation?
Move the point:
Matrix representation?
- Use allows use to achieve translations via matrix multiplications.
- Add a third coordinate to a point: .
- Two sets of homogeneous coordinates represent the same point iff they
are multiples of each other.
- A ``homogenized'' point.
Our translation:
Can we combine transformations?
- Consider composing two translations: , and
, .
- Consider two scalings.
- Consider two rotations.
- Rigid body. Arbitrary sequence of translations and rotations.
- Affine. Parallelism of lines preserved, but not lengths nor angles.
- Shear (affine).
Consider the x-shear transformation:
What's the y-shear transformation matrix look like?
- How do we rotate about an arbitrary point?
- How do we scale about an arbitrary point?
Thomas P. Kelliher
Tue Apr 18 19:14:38 EDT 2000
Tom Kelliher