计算两个坐标之间的角度?Python

对不起

假设您在 0.0 到 1.0 的范围内有两个坐标。A: (0.12, 0.75) B: (0.43, 0.97) 你想从 A 点走到 B 点。你将如何在 python 中计算角度。其中北为 0,南为 180。

鲍里斯·卡普查诺夫

如果你想从北方得到它,那么你去:

def get_angle(x1,y1,x2,y2):
    return math.degrees(math.atan2(y2-y1, x2-x1))

这有效,因为

tan(x) = Opposite/Adjacent;
Opposite/Adjacent = (x2-x1)/(y2-y1);
x=atan(x2-x1, y2-y1)

是的atan倒数tan为了不只是获得方向,而是真正的方向,我们使用该atan2函数,因为它可以获得从 -pi (-180) 到 +pi (180) 的使用角度,而atan只能产生 -pi/2 (- 90) 和 pi/2 (90)。

一个问题: 的参数顺序atan2是 y 差异first,所以它是atan2(dy, dx)不是 atan2(dx, dy)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章