如何在 Python 中计算方位角
How to Calculate Azimuth in Python
我在 3d 维度 (x,y,z) 中有两个点,我想计算 Azimuth 然后使用 Python3。先谢谢了。
请试试这个,
在解析几何中,
距离 = SQRT((x2 –x1)2+(y2 –y1)2+(z2 –z1)2)
暴跌 = arcsin ((z2 – z1) / 距离)
方位角 = arctan((x2 –x1)/(y2 –y1))(始终为二维)
返回的值 θ 将在 ±90° 范围内,必须进行校正以给出 0 到 360° 范围内的真实方位角
import math
x1,y1,z1 = 5.0,6.7,1.5
x2,y2,z2 = 4.0,1.2,1.6
distance = math.sqrt((x2-x1)**2+(y2-y1)**2+(z2 -z1)**2)
print(distance)
# 5.5910642993977451
plunge = math.degrees(math.asin((z2-z1)/distance))
print(plunge)
# 1.0248287567800018 # the resulting dip_plunge is positive downward if z2 > z1
azimuth = math.degrees(math.atan2((x2-x1),(y2-y1)))
print(azimuth)
# -169.69515353123398 # = 360 + azimuth = 190.30484646876602 or 180+ azimuth = 10.304846468766016 over the range of 0 to 360°
我在 3d 维度 (x,y,z) 中有两个点,我想计算 Azimuth 然后使用 Python3。先谢谢了。
请试试这个,
在解析几何中,
距离 = SQRT((x2 –x1)2+(y2 –y1)2+(z2 –z1)2)
暴跌 = arcsin ((z2 – z1) / 距离)
方位角 = arctan((x2 –x1)/(y2 –y1))(始终为二维)
返回的值 θ 将在 ±90° 范围内,必须进行校正以给出 0 到 360° 范围内的真实方位角
import math
x1,y1,z1 = 5.0,6.7,1.5
x2,y2,z2 = 4.0,1.2,1.6
distance = math.sqrt((x2-x1)**2+(y2-y1)**2+(z2 -z1)**2)
print(distance)
# 5.5910642993977451
plunge = math.degrees(math.asin((z2-z1)/distance))
print(plunge)
# 1.0248287567800018 # the resulting dip_plunge is positive downward if z2 > z1
azimuth = math.degrees(math.atan2((x2-x1),(y2-y1)))
print(azimuth)
# -169.69515353123398 # = 360 + azimuth = 190.30484646876602 or 180+ azimuth = 10.304846468766016 over the range of 0 to 360°