首先,我很抱歉提出这个简单的问题。可能有一个模块来计算两点之间的角度和距离。
A=(560023.449575887646362057.3904932579)
B=(560036.449575887646362071.8904932579)
最佳答案
鉴于
可以使用以下公式计算角度theta
和A和B之间的距离:
import math
def angle_wrt_x(A,B):
"""Return the angle between B-A and the positive x-axis.
Values go from 0 to pi in the upper half-plane, and from
0 to -pi in the lower half-plane.
"""
ax, ay = A
bx, by = B
return math.atan2(by-ay, bx-ax)
def dist(A,B):
ax, ay = A
bx, by = B
return math.hypot(bx-ax, by-ay)
A = (560023.44957588764, 6362057.3904932579)
B = (560036.44957588764, 6362071.8904932579)
theta = angle_wrt_x(A, B)
d = dist(A, B)
print(theta)
print(d)
会产生
0.839889619638 # radians
19.4743420942
(编辑:由于您正在处理平面中的点,因此使用
atan2
比使用点积公式更容易)。关于python - Python:是否存在已经找到角度和两点之间距离的模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13543977/