假设您在 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] 删除。
我来说两句