class LinerEquation:
def __init__(self,a,b,e,c,d,f):
self.__a=a
self.__b=b
self.__e=e
self.__c=c
self.__d=d
self.__f=f
def getX(self):
return (self.__e*self.__d-self.__b*self.__f)/(self.__a*self.__d-self.__b*self.__c)
def getY(self):
return (self.__a*self.__f-self.__e*self.__c)/(self.__a*self.__d-self.__b*self.__c)
def getPoint(x1,y1,x2,y2,x3,y3,x4,y4):
a=-1*(y2-y1)/(x2-x1)
b=1
e=y1-x1*(y2-y1)/(x2-x1)
c=-1*(y4-y3)/(x4-x3)
d=1
f=y3-x3*(y4-y3)/(x4-x3)
L=LinerEquation(a,b,e,c,d,f)
x=L.getX()
y=L.getY()
return x,y
def main():
x1,y1,x2,y2=map(float,input("Enter two endpoints of the first line segment:").split(","))
x3,y3,x4,y4=map(float,input("Enter two endpoints of the second line segment:").split(","))
if (y2-y1)/(x2-x1)!=(y4-y3)/(x4-x3):
x,y= getPoint(x1,y1,x2,y2,x3,y3,x4,y4)
print("(",x,y,")")
else :
print("平行或共线,不能求交点")
main()
python求2条不相交实线交点
猜你喜欢
转载自blog.csdn.net/weixin_44001521/article/details/104502463
今日推荐
周排行