欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用python实现判断两条直线是否平行,若相交,输出交点。

程序员文章站 2022-04-02 10:02:48
...

利用python实现判断两条直线是否平行,若相交,输出交点。
自己输入四个点坐标,代表两条直线。p1(x1,y1),p2(x2,y2),p3(x3,y3),p4(x4,y4)。根据判断交点p是否存在来判断两直线位置关系。

//
x1,y1,x2,y2,x3,y3,x4,y4 = eval(input("Enter 三点坐标: "))

try:
#(y1 - y2)*x - (x1 - x2)*y == (y1 - y2)*x1 - (x1 - x2)*y1
#(y3 - y4)*x - (x3 - x4)*y == (y3 - y4)*x3 - (x3 - x4)*y3
    x = ( (x3-x4) * (  (y1 - y2)*x1 - (x1 - x2)*y1  ) - (x1 - x2) * ( (y3 - y4)*x3 - (x3 - x4)*y3 ) ) / (   (y1 - y2)*(x3 - x4) - (y3 - y4)*(x1 - x2)  )
    y = ( (y3-y4) * (  (y1 - y2)*x1 - (x1 - x2)*y1  ) - (y1 - y2) * ( (y3 - y4)*x3 - (x3 - x4)*y3 ) ) / (   (y1 - y2)*(x3 - x4) - (y3 - y4)*(x1 - x2)  )
except ZeroDivisionError:
    print("The two lines are parallel")
else:
    print("The intersecting point is at (",x,",",y,")")
//

第一次发文,希望可以对您有帮助,如果有可以互相学习的地方,我不足的地方,希望您指教。

相关标签: python 经验分享