有一个直线方程式,还有两点,怎么求直线与这两点形成的线段的交点,用python
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
先求两直线的交点,再判断交点是否在这两点形成的线段上
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}