I want to know how to work out the new co-ordinates for a point when rotated by an angle relative to another point.
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.
This is required to allow me to draw a polygon between 2 onscreen controls. I can't use and rotate an image.
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.
If you have the
System.Windows.Media
namespace available, then you can use the built in transformations:If you are using GDI+ to do that, you can use
Transform
methods of theGraphics
object:Then draw the actual stuff.
If you rotate point
(px, py)
around point(ox, oy)
by angletheta
you'll get: