x1 = line1[0] #第1条直线的两端点
y1 = line1[1]
x2 = line1[2]
y2 = line1[3]
x3 = line2[0]#第2条直线的两端点
y3 = line2[1]
x4 = line2[2]
y4 = line2[3]
if (x2 - x1) == 0:
k1 = None
else:
k1 = (y2 - y1) * 1.0 / (x2 - x1) # 计算k1
b1 = y1 - x1 * k1
if (x4 - x3) == 0: # L2直线斜率不存在操作
k2 = None
b2 = 0
else:
k2 = (y4 - y3) * 1.0 / (x4 - x3) # 斜率存在操作
b2 = y3 - x3 * k2
if k1 is None:
if not k2 is None:
x = x1
y = k2 * x1 + b2
point_is_exist=True
elif k2 is None:
x=x3
y=k1*x3+b1
elif not k2==k1:
x = (b2 - b1) * 1.0 / (k1 - k2)
y = k1 * x + b1
x = int(x)
y = int(y)
两直线的交点为:[x,y]