有一个直线方程式,还有两点,怎么求直线与这两点形成的线段的交点

有一个直线方程式,还有两点,怎么求直线与这两点形成的线段的交点,用python

对于你这个问题可以参考如下链接:

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

先求两直线的交点,再判断交点是否在这两点形成的线段上

def getABC(x1, y1, x2, y2):
    k = 1
    a = y2 - y1
    if a < 0:
        a *= -1
        k *= -1
    b = k * (x1 - x2)
    c = k * (y1 * x2 - x1 * y2)
    return a, b, c

#例:已知直接方程为: 2x-y-3=0
# 已知两点为: (2,1), (0,7)

A,B,C=2,-1,-3

x1,y1 = 2,1
x2,y2 = 0,7

a,b,c = getABC(x1,y1,x2,y2)

import sympy
x,y = sympy.symbols('x y')
root = sympy.solve([A*x+B*y+C,a*x+b*y+c],[x,y])
print(root)  #返回交点坐标: {x: 2, y: 1}