Game Development Reference
We had previously determined that x = r cos α and y = sin β we substitute them to get
At this point, we can rotate any arbitrary point p by an angle β , and the result will be the
point p' .
Now we could implement this equation in code as a function that receives a point and an
angle and use it to perform the rotations we need. While this may work well enough for
very simple cases, it often results in sub-optimal or difficult to maintain code. There is a
more versatile tool we can use that will allow us to build a mechanism by which we can
perform rotations, as well as chain together multiple rotations; it is the standard method
used in graphics programming, for this we turn to linear algebra.
This matrix will rotate any point represented by a column vector v containing the coordin-
ates of the point.
We obtain the rotated vector v' by multiplying the vector v by the rotation matrix.