两直线夹角求解-Python编程实现

来源:互联网 发布:网络电视同步 编辑:程序博客网 时间:2024/06/05 04:43

最近用Python进行直线夹角计算,总结较好的两种方法,现总结如下:

1:根据向量求夹角

由上式进行编程代码如下:

#求出斜率 k1 = (Coords2y-Coords1y)/(float(Coords2x-Coords1x)) k2 = (Coords4y-Coords3y)/(float(Coords4x-Coords3x)) #方向向量 x = np.array([1,k1]) y = np.array([1,k2]) #模长 Lx = np.sqrt(x.dot(x)) Ly = np.sqrt(y.dot(y)) #根据向量之间求其夹角并四舍五入 Cobb = int((np.arccos(x.dot(y)/(float(Lx*Ly)))*180/np.pi)+0.5)

2:根据斜率求夹角

#求出斜率并四舍五入

Cobb =int(math.fabs(np.arctan((k1-k2)/(float(1 + k1*k2)))*180/np.pi)+0.5)