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



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

如果你想从North获取它,那么你可以这样做:

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)

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

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

我会计算x的差和y的差,并使用math模块的math.atan2(y/x)函数。然后只需将弧度转换为度并添加90º。

相关内容

  • 没有找到相关文章

最新更新