How to get angle between two points?,
Posted 10 May 2005 - 02:00 AM
Members - Reputation: 367
Posted 10 May 2005 - 02:24 AM
If you want the the angle between the line defined by these two points and the horizontal axis:
double angle = atan2(y2 - y1, x2 - x1) * 180 / PI;
If you want the angle bewteen the vectors OP1 and OP2 (O being the origin), you should know that the dot product between two vectors u and v is:
u . v = u.x * v.x + u.y * v.y = |u|*|v|*cos(a)
a being the angle between the vectors.
So the angle is given by:
double n1 = sqrt(x1*x1+y1*y1), n2 = sqrt(x2*x2+y2*y2);
double angle = acos((x1*x2+y1*y2)/(n1*n2)) * 180 / PI;
If you want another "angle", well... I can't think of any other!