判断两个线段\矩形相交
如何判断两个线段\矩形相交?
首先来判断两个线段的情况:假设有两个线段A和B,左右端点分别为A1,A2和B1,B2,分别考虑下面两种情况
1. 线段A在线段B的左边,即A1< B1,那么 A,B不相交的条件是 A1 < B1 && B1 > A2
2. 线段A在线段B的右边,即A1> B1,那么 A,B不相交的条件是 B1 < A1 && A1 > B2
那么将上面两种情况综合起来考虑就是Min(A2,B2) - Max(A1,B1) < 0两条线段不会相交, 感兴趣的可以在纸上画一下就出来这个规律了。高X=Min(A2,B2) - Max(A1,B1) ,如果X>=0,那么X就是相交的区域大小。
将其拓展到二维矩形,只需要再求出另一维的Y值,如果X和Y都大于等于0,说明两个矩形是相交的,面积为X * Y
补充:综合编程 , 其他综合 ,