如题。

解决方案 »

  1.   

    一个min(p1, p2)函数和一个max(p1, p2)函数,作用是返回输入的两个点x的最小值和最大值。然后通过连个点(p1,p2),来计算它们的斜率,然后用在y上的截距来得到这两个点构成的直线的方程表达式。另外一条线也一样。然后通过联立两个方程来解方程。比如S1X + D1 = S2X + D2, S1S2D1D2都是可以得到的变量。如果X是存在的,那么返回它(只有两个斜率是相等的情况下X是不存在的),然后用这个X的值去验证是否在这两个线段的区间内,如果在,就相交,否则就不相交。
    用上线这个判断两个线段是否相交,矩形其实就是四个线段而已。