Rotation about any Point:
![10_Rotation about any Point.png](https://www.expertsmind.com/CMSImages/10_Rotation%20about%20any%20Point.png)
which again provides
x′ = x * Sx
y′ = y * Sy
Rotation is shown by R (q) :
![1255_Rotation about any Point1.png](https://www.expertsmind.com/CMSImages/1255_Rotation%20about%20any%20Point1.png)
which gives
x′ = x cos φ - y sin φ
y′ = y cos φ + x sin φ
So this is clear that to rotate or scale an object about any point P0 (x0 y0), the following have to be done
1. Translate P0 to origin : T (- x0, - y0)
2. Rotate R (q)
3. Translate back to P0; T (+ x0, + y0)
So (x′ y′) = (x y) * M, where M = T ((- x0, - y0) * R (q) * T(+ x0, + y0).
![762_Rotation about any Point2.png](https://www.expertsmind.com/CMSImages/762_Rotation%20about%20any%20Point2.png)
Figure: Rotation about any Point P0 (x0, y0)