计算2点的角度

jma*_*erx 15 c++

给定P1和P2,我如何获得从P1到P2的角度?谢谢

Jac*_*ack 39

这只是float angle = atan2(p1.y - p2.y, p1.x - p2.x).

当然返回类型是以弧度为单位,如果你需要以度为单位 angle * 180 / PI


Ank*_*kur 6

好好记得高中三角.这就是我得到的.

两点是A(x1,y1)和B(x2,y2)

我假设您想要两点之间的角度和原点O(0,0).

那么每个点都会形成一个由高度,底部和斜边限定的三角形,所以你得到两个角度alpha1和alpha2.我们的想法是通过做beta = alpha1 - alpha2来找到这些中的每一个并计算你所需的角度beta,其中alpha1是alpha1> alpha2.

计算alpha1 = inv_tan(y1/x1)和alpha2 = inv_tan(y2/x2)

然后做beta = alpha1 - alpha2