You have some point \(p\) and you want to rotate it \(\theta\) degrees about another point \(o\).

As always, we draw the situation (including the knowns, unknowns, and any needed auxillary elements). We then try to express our unknown (the new point, \(p'\)) in terms of our knowns.

Here is an implementation of the above solution in iodide.