x |
y |
w |
This is the transpose of the row vector [x y w], so we can also refer to it as [x y w]T.
We generally "normalize" this vector by scaling it so that w = 1. For example, we would convert [4 6 2]T to [2 3 1]T. The exception is a point at infinity (ie: a direction vector), in which case w = 0.
x' | a | b | c | x | ||
y' | ← | d | e | f | × | y |
w' | g | h | i | w |
The following are convenient primitive matrices:
The identity matrix transforms a point to itself:
x | 1 | 0 | 0 | x | ||
y | ← | 0 | 1 | 0 | × | y |
w | 0 | 0 | 1 | w |
A translation matrix translates the position of a point:
x+a | 1 | 0 | a | x | ||
y+b | ← | 0 | 1 | b | × | y |
w | 0 | 0 | 1 | w |
A rotation matrix rotates points about the origin:
cosθ x + sinθ y | cosθ | sinθ | 0 | x | ||
-sinθ x + cosθ y | ← | -sinθ | cosθ | 0 | × | y |
0 | 0 | 1 | w |
A scale matrix scales a point about the origin:
ax | a | 0 | 0 | x | ||
by | ← | 0 | b | 0 | × | y |
w | 0 | 0 | 1 | w |