Rotation about an arbitrary point

[Hill:224-225. Foley & van Dam: p.208-210, 217-222]
Find the transformation that rotates by an angle theta about a point P(x,y):

Let's choose to describe all transformations w.r.t. a fixed set of axes:
  • translate P to origin: trans(-2,-3,0)
  • perform rotation: rot(z,90)
  • translate P back: trans(2,3,0)

T = trans(2,3,0) rot(z,90) trans(-2,-3,0)

Rotation about an arbitrary axis

Hill: 239-241
Overall Transform
trans(P0) rot(x,-alpha) rot(y,beta) rot(z,theta) rot(y,-beta) rot(x,alpha) trans(-P0)