def lineEquation(x1, y1, x2, y2): A = y2 - y1 B = x1 - x2 C = x2 * y1 - x1 * y2 return A, B, C
def intersectPoint(x1, y1, x2, y2, x3, y3, x4, y4): A1, B1, C1 = lineEquation(x1, y1, x2, y2) A2, B2, C2 = lineEquation(x3, y3, x4, y4) m = A1 * B2 - A2 * B1 if m == 0: print("无交点") else: x = (C2 * B1 - C1 * B2) / m y = (C1 * A2 - C2 * A1) / m return x, y
xi, yi = intersectPoint(lines[0][0], lines[0][1], lines[0][2], lines[0][3], lines[1][0], lines[1][1], lines[1][2], lines[1][3]) self.ax.scatter(xi, yi, color='blue')
|