我有一个三角形(A,B,C),正在尝试找到三个点对之间的角度。
问题在于我能在网上找到的算法是用于确定向量之间的角度。使用向量,我会计算从(0, 0)到我拥有的点的向量之间的角度,这不会给出三角形内部的角度。
好的,以下是维基百科页面上的方法和数值减去后的Python代码:
问题在于我能在网上找到的算法是用于确定向量之间的角度。使用向量,我会计算从(0, 0)到我拥有的点的向量之间的角度,这不会给出三角形内部的角度。
好的,以下是维基百科页面上的方法和数值减去后的Python代码:
import numpy as np
points = np.array([[343.8998, 168.1526], [351.2377, 173.7503], [353.531, 182.72]])
A = points[2] - points[0]
B = points[1] - points[0]
C = points[2] - points[1]
for e1, e2 in ((A, B), (A, C), (B, C)):
num = np.dot(e1, e2)
denom = np.linalg.norm(e1) * np.linalg.norm(e2)
print np.arccos(num/denom) * 180
这给出了60.2912487814、60.0951900475和120.386438829,那么我做错了什么吗?
(x,y)
坐标吗? - Matt BallB-A
和C-A
得到两个向量。它们之间的点积给出了它们之间的夹角。 - Mahesh