2

你如何获得从一个 enu 矢量到另一个 enu 矢量的方位角和仰角?

一个公式或一段代码的链接会很有帮助。搜索时我根本没有得到太多信息。

4

1 回答 1

0

您可以计算 East-North-Up 矢量之间的方位角和仰角,(x,y,z)(u,v,w)使用以下方法:

  1. 减去向量:(x,y,z) - (u,v,w) = (x-u,y-v,z-w) = (x',y',z')
  2. 计算方位角:a = arctan(x'/y') = arctan((x-u)/(y-v))
  3. 计算仰角:e = arctan(z'/y') = arctan((z-w)/(y-v))

在 Python 中:

v1 = np.array([3,4,4])
v2 = np.array([1,2,6])
v = v1 - v2

a = np.degrees(np.arctan(v[0]/v[1]))
e = np.degrees(np.arctan(v[2]/v[1]))

print('azimuth = '+str(a)+', elevation = '+str(e))

输出:

azimuth = 45.0, elevation = -45.0

方位角和仰角

(图片来源)

于 2019-04-04T17:21:39.387 回答