C++如何判断两个矩形框有交集-创新互联

矩形框是否有交集的判断

本人也查找了一些方法,发现直接套用公式,无法满足需求,主要是自己没有花一点时间去思考;

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的土默特右旗网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

矩形框的判断,主要方法是判断两个矩形没有交集,然后再取反,就能判断出矩形框是否存在交集;

但是其中重要的一点是需要结合坐标系,主要是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;   //无交集
    }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享名称:C++如何判断两个矩形框有交集-创新互联
文章转载:http://lszwz.com/article/cshddg.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款