https://blog.geomusings.com/2007/06/25/rotating-a-point-around-a-base-point/
Rotating a Point Around a Base Point