注:以下的矩形均为轴对齐矩形

1.矩形与矩形的相交判断

参考自:

力扣--矩形面积

力扣--矩形重叠

判断两个矩形是否相交最简单算法_程序员正茂的博客-CSDN博客_矩形相交算法

快速判断两个矩形是否相交_szfhy的博客-CSDN博客_判断两个矩形是否相交

如何判断两个矩形相交_Season的博客-CSDN博客_判断两个矩形相交

主要有两种方法。

1)方法一:用边界判断

第一个矩形:(x1,y1),(x2,y2)
第二个矩形:  (x3,y3),(x4,y4)

如果满足max(x1,x3)<=min(x2,x4)&&max(y1,y3)<=min(y2,y4),则相交。

亦可转化为:x1 <= x4 && x3 <= x2 && y1 <= y4 && y3 <= y2

并且新构成的矩形为(max(x1,x3),max(y1,y3))、(min(x2,x4),min(y2,y4))。可以根据新的点求出矩形的面积,如果用新的点求出的边长小于0,说明是不相交的。

2)方法二:用两个矩形的中心坐标的向量来判断

假设两个矩形的中心为p1、p2。那么其构成的向量p1p2的x分量的绝对值要小于两矩形长的一半,向量p1p2的x分量的绝对值要小于两矩形宽的一半。

2.矩形与圆的相交判断

主要有以下三种比较好的方法,相较于矩形与矩形之间的相交判断难了一个档次。

1)方法一

具体推导见参考链接:

怎样判断平面上一个矩形和一个圆形是否有重叠? - 知乎

力扣力扣--【圆和矩形是否有重叠】

这种做法很巧妙,可以理解为是在找出圆心距离矩形最近的距离,然后判断该距离是否小于圆的半径。

2)方法二

具体推导见参考链接:

力扣--一张图,秒懂。

这种做法相对方法一好理解,就是找到圆心在哪些区域圆是与矩形相交的,然后依次判断圆心是否在这些区域即可。

3)方法三

力扣 验证矩形区域内的点到圆心最小距离(x,y 分别独立选择,三行代码(骗浏览))

其实本质上就是方法一的变种,但是更偏向代数去理解。

3.矩形与三角形的相交判断

目前只想到方法一,有待后面继续更新

1)方法一:

参考自:三角形和矩形相交的判断_双杯献酒的博客-CSDN博客

分为三种情况:

三角形和矩形相交
(1)如果三角形在矩形内部, 则三角形和矩形相交.
   这种情况判断三角形的三个点是否在矩形内即可。
(2)如果矩形在三角形内部, 则三角形和矩形相交
这种情况判断矩形的四个点是否在三角形内即可。
(3)如果三角形至少有一条边(线段)和矩形的至少一条边(线段)相交,
这时候应该就得通过求出三角形三条边的直线方程,判断直线方程与矩形的交点个数来判断了。

判断矩形与矩形、圆、三角形的相交问题相关推荐

  1. 平面中判断线段与矩形是否相交

    文章目录 1. 原理 2. 实现 3. 参考 1. 原理 这个问题的算法思路挺简单的.分成两步来判断: 判断线段的两个端点是否在矩形内,如果两个端点至少有一个在矩形内,说明线段与矩形相交. 如果两个端 ...

  2. 判断两个矩形相交以及求出相交的区域

    问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角 坐标为(Xb2,Yb2). (1)设计一个算法,确定两 ...

  3. java判断两个矩形是否相交_判断矩形相交以及求出相交的区域

    问题:给定两个矩形A和B,矩形A的左上角坐标为(Xa1,Ya1),右下角坐标为(Xa2,Ya2),矩形B的左上角坐标为(Xb1,Yb1),右下角 坐标为(Xb2,Yb2). (1)设计一个算法,确定两 ...

  4. java判断线与矩形相交_判断任意多边形与矩形的相交(线段与矩形相交或线段与线段相交)...

    任意多边形与矩形的相交,其实就是判断多条线段是否与这个矩形相交,再简单点就是判断线段是否与矩形的每一条边相交了.那现在,我们先来看看判断一条线段与矩形的其中一条线段的相交的情况(上方水平线): (图形 ...

  5. ARM6818开发板画任意矩形,圆形,三角形,五角星,6818开发板画太极,画五星红旗(含码源与思路)

    本文利用6818开发板完成LCD屏上绘制任意的矩形,圆形,三角形或五角星形图案,还有绘制太极,五星红旗的方案. 目录 映射 绘制矩形 代码思路 代码实现 实践出真知 绘制圆形 代码思路 代码实现 绘制 ...

  6. HTML矩形与矩形、圆形与圆形、矩形与圆形元素的碰撞判断与动画

    1. 矩形与矩形 判断两个矩形是否碰撞,判断条件:d1Right > d2Left && d1Bottom > d2Top && d1Left < d ...

  7. 不使用物理系统判断两个矩形是否碰撞

    如图所示,不使用物理系统去检测两个物体是否碰撞的效果. 注意:两个物体如果一直相交,在Update中处理的时候会一直输出,在实际使用时需要注意相交时的处理. 直接上代码: 检测碰撞使用的是两个节点,节 ...

  8. OpenGL-第一个三角形与矩形(两个三角形)

    目录 新建项目,进行配置 项目结构 项目属性配置 依赖项设置 三角形代码 部分函数解释 main.cpp 运行截图 矩形代码 main.cpp 运行截图 简单的三角形与矩形 白色三角形 白色矩形 全部 ...

  9. Java黑皮书课后题第3章:**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠

    **3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠 题目 题目概述 运行示例 破题 代码 ...

最新文章

  1. composer自动载入的四种方式
  2. Net设计模式实例之建造者模式(Builder Pattern)(2)
  3. java 发送cookie_Java如何在Servlet中发送cookie?
  4. CS224n笔记一:开端
  5. 牛客挑战赛30 C 小G砍树 换根dp+组合
  6. 数据结构 5分钟带你搞定哈希表(建议收藏)!!!
  7. C++中STL-vector的用法
  8. [RL] pip 安装 atari-py
  9. vue项目打包部署-----解决打包后访问资源失败问题
  10. LeetCode 264.丑数 II(动态规划)
  11. 基于javaweb的学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
  12. 多家多平台拿走的AD封装库Altium-3D封装库+超全原理图库含51+STM32库
  13. 一文教你如何解决TXC晶振工作不正常的问题
  14. 【资源分享】Dll Injector(DLL注入器)
  15. Word 替换为空值时不管用怎么办 出现[只设格式]导致替换无效怎么办
  16. 利用python3 爬取 网易云 上 周杰伦所有专辑,歌曲,评论,并完成可视化分析已经歌曲情绪化分析...
  17. 关于 该设备或资源(127.0.0.1)未设置为接受端口 的解决办法
  18. 易语言调用大漠Ocr文字识别游戏角色坐标
  19. 如何获取到微信公众号的网址
  20. 为自己加油!--ThoughtWorks面试后感

热门文章

  1. 基于电力线载波的路灯控制系统设计
  2. 转载--大内高手—序
  3. 初创公司人才招聘与管理
  4. uni-app吊起微信公众号支付
  5. 易基因|m6A RNA甲基化研究的数据挖掘思路:干货系列
  6. python 人体检测技术_OpenCV 3 Python - 部分人体检测?
  7. 在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?
  8. 各大内存数据库系统对比
  9. 一阶导数/微分和二阶导数/微分算子在图像锐化处理方面的区别
  10. 仿迅雷播放器教程 -- 总结(14)