title: Rotate a point by another point in 2D
body: <p>I want to know how to work out the new co-ordinates for a point when rotated by an angle relative to another point.</p>
  
  <p>I have a block arrow and want to rotate it by an angle theta relative to a point in the middle of the base of the arrow.</p>
  
  <p>This is required to allow me to draw a polygon between 2 onscreen controls. I can't use and rotate an image.</p>
  
  <p>From what I have considered so far what complicates the matter further is that the origin of a screen is in the top left hand corner.</p>