C:矩形相交、相包含、相离关系判断
矩形相交 包含 问题。参考
假定矩形是用一对点表达的(minx, miny) (maxx, maxy),那么两个矩形
rect1{(minx1, miny1)(maxx1, maxy1)}
rect2{(minx2, miny2)(maxx2, maxy2)}
相交的结果一定是个矩形,构成这个相交矩形rect{(minx, miny) (maxx, maxy)}的点对坐标是:
minx = max(minx1, minx2)
miny = max(miny1, miny2)
maxx = min(maxx1, maxx2)
maxy = min(maxy1, maxy2)
如果两个矩形不相交,那么计算得到的点对坐标必然满足:
( minx > maxx ) 或者 ( miny > maxy )
判定是否相交,以及相交矩形是什么都可以用这个方法一体计算完成。
从这个算法的结果上,我们还可以简单的生成出下面的两个内容:
㈠ 相交矩形: (minx, miny) (maxx, maxy)
㈡ 面积: 面积的计算可以和判定一起进行
if ( minx>maxx ) return 0;
if ( miny>maxy ) return 0;
return (maxx-minx)*(maxy-miny)
第二种方法
两个矩形相交的条件:两个矩形的重心距离在X和Y轴上都小于两个矩形长或宽的一半之和.这样,分两次判断一下就行了.
bool CrossLine(Rect r1,RECT r2)
{
if(abs((r1.x1+r1.x2)/2-(r2.x1+r2.x2)/2)<((r1.x2+r2.x2-r1.x1-r2.x1)/2) && abs((r1.y1+r1.y2)/2-(r2.y1+r2.y2)/2)<((r1.y2+r2.y2-r1.y1-r2.y1)/2))
return true;
return false;
}
转载于:https://www.cnblogs.com/benpaobadaniu/p/4693732.html
C:矩形相交、相包含、相离关系判断相关推荐
- java判断线与矩形相交_判断任意多边形与矩形的相交(线段与矩形相交或线段与线段相交)...
任意多边形与矩形的相交,其实就是判断多条线段是否与这个矩形相交,再简单点就是判断线段是否与矩形的每一条边相交了.那现在,我们先来看看判断一条线段与矩形的其中一条线段的相交的情况(上方水平线): (图形 ...
- 判断矩形是否相交(包含,点相交,边相交)
矩形的相交问题也是一个常用的问题,最近碰到的有点多,连续碰到了三四题了,每次都要重新写,不如直接总结出来,直接写成一个板子,以后就能抄了: 目前只考虑没有角度的矩形相交 首先是矩形的相交问题:矩形的相 ...
- 几何算法:矩形碰撞和包含检测算法
大家好,我是前端西瓜哥.今天来讲讲几何算法中,比较经典的算法:矩形碰撞和包含检测算法. 矩形碰撞检测是被广泛使用的算法. 比如在游戏中,为了优化图形碰撞判断效率(复杂不规则图形之间的碰撞算法很复杂), ...
- 编码器A相B相Z相的定义
编码器的信号又A相.B相.Z相的定义,这个和电机的ABC相的没有关系,本文介绍编码器A相.B相.Z相的概念. 编码器A相B相Z相的概念 谓U相.V相.W相是指的电机的主电源的三相交流供电,与编码器没有 ...
- 编码器z相 C语言代码,编码器a相b相z相的使用方法
编码器a相b相z相的使用方法 编码器只有A相.B相.Z相信号的概念.A相.B相.Z相是编码器的通道输出信号,所谓的U相.V相.W相是交流电机主电源的三相主回路供电. 编码器的A相.B相.Z相信号中,A ...
- 判断两个矩形相交以及求出相交的区域
问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角 坐标为(Xb2,Yb2). (1)设计一个算法,确定两 ...
- 如何判断两个矩形相交
假定矩形是用一对点表达的(minx, miny) (maxx, maxy),那么两个矩形 rect1{(minx1, miny1)(maxx1, maxy1)} rect2 ...
- java判断两个矩形是否相交_判断矩形相交以及求出相交的区域
问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角 坐标为(Xb2,Yb2). (1)设计一个算法,确定两 ...
- c语言两个矩形相交部分坐标,C++判断矩形相交的方法
本文实例讲述了C++判断矩形相交的方法.分享给大家供大家参考.具体如下: 已知2矩形原点和宽高,判断2矩形相交,相交矩形 相交判断原理: 假定矩形是用一对点表达的(minx, miny) (maxx, ...
- 步进电机的细分驱动中1-2相, W1-2相, 2W1-2相, 4W1-2相 表示什么意思?
今天碰到一个很古老的问题:步进电机的1-2相, W1-2相, 2W1-2相, 4W1-2相 表示什么意思? 有意思的是,很多年前没看步进电机驱动器的说明书了,自己也完全不记得了,那时候也没有写博客的习 ...
最新文章
- USB 之三 常用抓包/协议分析工具(Bus Hound、USBlyzer、USBTrace、USB Monitor Pro等)
- boost::multiprecision模块实现MPC后端对多精度复数的使用的测试程序
- 数值和布尔值的解构赋值
- django学习----01HelloWorld
- JVM垃圾回收算法标记清除和复制算法
- php mysql插入多个列_php mysql插入多条记录
- Javascript特效:电商商品展示放大镜
- 苹果Mac3D建模软件SketchUp Pro很专业
- 第三章:Servlet基础
- 如何加密文件及文件夹
- 高一数学微课堂【教学视频】
- 100+道Java经典面试题(面中率高)
- 微信反编译(二)源码还原
- 数据项、数据字典、模式等基本概念辨析 数据库系统结构
- 微软自带dns服务器,微软改进Windows 10加密DNS服务器配置(DoH) 现在设置起来更方便...
- 适用于计算机/手机的常用音乐播放器推荐
- SpringBoot使用@Slf4j注解
- win10使用技巧----便签固定到桌面
- 三极管判断极性的方法
- 谷歌seo自建博客做外链有用吗?谷歌外链怎么做?