如何从 enu 向量中获取方位角和仰角
how to get azimuth and elevation from enu vectors
如何获得从一个 enu 矢量到另一个 enu 矢量的方位角和仰角?
A link 到一个公式或一段代码会很有帮助。我在搜索时根本没有得到太多信息。
您可以使用以下方法计算东-北-上矢量 (x,y,z)
和 (u,v,w)
之间的方位角和仰角:
- 减去向量:
(x,y,z) - (u,v,w) = (x-u,y-v,z-w) = (x',y',z')
- 计算方位角:
a = arctan(x'/y') = arctan((x-u)/(y-v))
- 计算仰角:
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
如何获得从一个 enu 矢量到另一个 enu 矢量的方位角和仰角?
A link 到一个公式或一段代码会很有帮助。我在搜索时根本没有得到太多信息。
您可以使用以下方法计算东-北-上矢量 (x,y,z)
和 (u,v,w)
之间的方位角和仰角:
- 减去向量:
(x,y,z) - (u,v,w) = (x-u,y-v,z-w) = (x',y',z')
- 计算方位角:
a = arctan(x'/y') = arctan((x-u)/(y-v))
- 计算仰角:
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