How to calculate angle between two point matematically?
Answers
Answered by
2
Your question is not well expressed. Two points do not have an "angle from one to another".
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!
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!
Similar questions