当前位置:编程学习 > 网站相关 >>

判断两个线段\矩形相交

如何判断两个线段\矩形相交?

首先来判断两个线段的情况:假设有两个线段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

补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,