There is an easier way to rotate a point about another point. First, you translate everything so that the point you are rotating about becomes (0,0). Now do your rotation. Then translate everything back. The key thing to note is that we reduce a problem of “rotating about an arbitrary point” to “rotating about the origin”, which we already know how to do, and is quite easy to do!