It is quite simple. In rotation around the origin of the coordinate system for angle Theta coordinates (x,y) are changing as
x' = x * cos(Theta) - y * sin(Theta);
y' = x * sin(Theta) + y * cos(Theta);
So, all that you need is to translate point of rotation to one of the points that you have. Lets write it in a more simplified way: (x1,y1) = (14,446) and (x2,y2) = (226,496). You are trying to "rotate" (x2,y2) around (x1,y1). Calculate (dx2,dy2) in a new coordinate system with the origin at (x1,y1).
(dx2,dy2) = (x2-x1,y2-y1);
Now rotate (positive angles are counterclockwise):
dx2' = dx2 * cos(165 Degrees) - dy2 * sin(165 Degrees);
dy2' = dx2 * sin(165 Degrees) + dy2 * cos(165 Degrees);
The last step is to translate coordinates of the point from the origin at (x1,y1) back to the original (0,0);
x2' = dx2' + x1;
y2' = dy2' + y1;
ps: read also this :) http://en.wikipedia.org/wiki/Rotation_matrix and do not forget that most trigonometric functions in different programming languages deal mostly with radians..
pps: and I hope that I did not scared you - ask if you have any questions.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…