我正在尝试在Python中计算两条直线之间的夹角。我在互联网上搜索并找到了如何计算的方程式。但是,我并不总是得到准确的结果。有些结果明显是错误的,而其他结果似乎是正确的。
我的代码如下:
它产生的结果是:
问题在于我不明白为什么第二个结果、第五个结果和最后一个结果都是零。它们相交,因为它们共享一个点,而另一个点没有重复,因为数组中的值是不同的。
我的代码如下:
def angle(pt1, pt2):
m1 = (pt1.getY() - pt1.getY())/1
m2 = (pt2.getY() - pt1.getY())/(pt2.getX()-pt1.getX())
tnAngle = (m1-m2) / (1 + (m1*m2))
return math.atan(tnAngle)
def calculate(pt, ls):
i = 2
for x in ls:
pt2 = point(x, i)
i = i + 1
ang = angle(pt, pt2)*180/math.pi
ang = ang * (-1)
print ang
pt = point(3, 1)
ls = [1, 7, 0, 4, 9, 6, 150]
calculate(pt, ls)
它产生的结果是:
45.0
0.0
45.0
-75.9637565321
0.0
-63.4349488229
0.0
问题在于我不明白为什么第二个结果、第五个结果和最后一个结果都是零。它们相交,因为它们共享一个点,而另一个点没有重复,因为数组中的值是不同的。