矩形相交判断超简单方法

本文介绍了判断两个矩形是否相交的简单方法,通过分析线段相交的条件,得出矩形在X和Y轴上投影相交的条件,即:min(xa2,xb2)>=max(xa1,xb1)且min(ya2,yb2)>=max(ya1,yb1)。" 116614993,10541196,Linux CentOS7 系统根目录详解,"['Linux系统', '文件系统', 'Linux目录结构', '根目录', '系统管理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设矩形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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值