利用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,")")
//
第一次发文,希望可以对您有帮助,如果有可以互相学习的地方,我不足的地方,希望您指教。