码迷,mamicode.com
首页 > 其他好文 > 详细

矩形相交判断超简单方法

时间:2015-04-27 20:11:44      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

设矩形A(xa1,ya1),(xa2,ya2),B(xb1,yb1),(xb2,yb2)
其中:
xa1<=xa2,ya1<=ya2
xb1<=xb2,yb1<=yb2

先看线段相交的判断:
La:xa1,xa2   xa1<=xa2
Lb:xb1,  xb2   xb1<=xb2
考虑对立面(只有两种情况):
不相交的条件:xa2<xb1||xa1>xb2
由摩根律,得出相交条件:xa2>=xb1&&xa1<=xb2

矩形A B相交的条件为:分别在X和Y轴上的投影相交。
也就是:
对X轴,线段相交条件,有
xa2>=xb1(1)
xa1<=xb2(2)
xa1<=xa2(3)
xb1<=xb2(4)
(1),(3)<=> xa2>=max(xa1,xb1);
(2),(4)<=> xb2>=max(xa1,xb1);
min(xa2,xb2)>=max(xa1,xb1);
同理可得:min(ya2,yb2)>=max(ya1,yb1);
故相交条件为:
min(xa2,xb2)>=max(xa1,xb1)&&min(ya2,yb2)>=max(ya1,yb1)
其中:
xa1<=xa2,ya1<=ya2
xb1<=xb2,yb1<=yb2

矩形相交判断超简单方法

标签:

原文地址:http://blog.csdn.net/wongson/article/details/45314551

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!