5.
两条线段:AB=(xe1,ye1)-(xp1,yp1),CD=(xe2,ye2)-(xp2,yp2)
直线方程分别为:y=k1x+b1,y=k2x+b2
k和b分别等于:k=(ye-yp)/(xe-xp),b=(yexp-ypxe)/(xp-xe)
两条线段有交点,可以得出x=(b2-b1)/(k1-k2)
而这个x如果在(xe1,xp1)并且在(xe2,xp2)中,则可以说有交点。
如果不在范围中,则说明线段短啦,交不上。
前面都是计算,有了公式之后直接算。
需要判断的地方一个是计算k和b时的除数为零,一个是k1和k2相等。
两条线段:AB=(xe1,ye1)-(xp1,yp1),CD=(xe2,ye2)-(xp2,yp2)
直线方程分别为:y=k1x+b1,y=k2x+b2
k和b分别等于:k=(ye-yp)/(xe-xp),b=(yexp-ypxe)/(xp-xe)
两条线段有交点,可以得出x=(b2-b1)/(k1-k2)
而这个x如果在(xe1,xp1)并且在(xe2,xp2)中,则可以说有交点。
如果不在范围中,则说明线段短啦,交不上。
前面都是计算,有了公式之后直接算。
需要判断的地方一个是计算k和b时的除数为零,一个是k1和k2相等。