概述
矩形框是否有交集的判断
本人也查找了一些方法,发现直接套用公式,无法满足需求,主要是自己没有花一点时间去思考;
矩形框的判断,主要方法是判断两个矩形没有交集,然后再取反,就能判断出矩形框是否存在交集;
但是其中重要的一点是需要结合坐标系,主要是y轴数据的变化
坐标系一(普通坐标系)
蓝色刻度是x轴,红色刻度是y轴;
(x11, y11)和 (x12, y12)是红色矩形框的坐标
(x21, y21)和 (x22, y22)是蓝色矩形框的坐标
存在以下情况说明矩形框无交集
x12 < x21 || x22 < x11 || y12 > y21 || y22 > y11
接口如下
bool cal(int32_t x11,int32_t y11,int32_t x12,int32_t y12,int32_t x21,int32_t y21,int32_t x22,int32_t y22)
{
if(!(x12 > x21 || x22 > x11 || y12 > y21 || y22 > y11))
{
return true; //有交集
}else{
return false; //无交集
}
}
坐标系二(针对图像中的矩形数据)
蓝色刻度是x轴,红色刻度是y轴;
(x11, y11)和 (x12, y12)是红色矩形框的坐标
(x21, y21)和 (x22, y22)是蓝色矩形框的坐标
存在以下情况说明矩形框无交集
x12 < x21 || x22 < x11 || y12 < y21 || y22 < y11
接口如下
bool cal(int32_t x11,int32_t y11,int32_t x12,int32_t y12,int32_t x21,int32_t y21,int32_t x22,int32_t y22)
{
if(!(x12 < x21 || x22 < x11 || y12 < y21 || y22 < y11))
{
return true; //有交集
}else{
return false; //无交集
}
}
最后
以上就是积极流沙为你收集整理的C++ 如何判断两个矩形框有交集的全部内容,希望文章能够帮你解决C++ 如何判断两个矩形框有交集所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复