Transformations allow us to:
- Place predefined objects at arbitrary locations, orientations, and sizes
- Build complex scenes from simple primitives
- Animate objects over time

Scale (about origin, factor m)
x′=mx,y′=my
Rotate (about origin, angle θ)
x′=xcosθ−ysinθ
y′=xsinθ+ycosθ
Translate (by vector (xo,yo))
x′=x+xo,y′=y+yo
Shear (parallel to x-axis, factor a)
x′=x+ay,y′=y
Matrix Representation
2×2 matrices work for scale, rotate, and shear, but not translation.
Scale:
[x′y′]=[m00m][xy]
Rotate:
[x′y′]=[cosθsinθ−sinθcosθ][xy]
Identity:
[x′y′]=[1001][xy]
The Translation Problem
Translation cannot be represented as 2×2 matrix multiplication:
[x′y′]=[xy]+[xoyo]
This breaks uniformity—other transforms are multiplicative.
Summary
- Scale, rotate, and shear can be expressed as matrix multiplication
- Translation requires an additive term (not multiplicative)
- This motivates homogeneous coordinates