`
wangzjie
  • 浏览: 75154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

两个矩形是否相交

 
阅读更多

假定矩形是用一对点表达的(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  
   
  判定是否相交,以及相交矩形是什么都可以用这个方法一体计算完成

分享到:
评论

相关推荐

    flash判断旋转矩形是否相交

    矩形相交的基本思路是检查两个矩形的边界是否相互交叉。对于旋转矩形,由于旋转可能导致非平行边,这个过程相对复杂。我们可以通过以下步骤来实现: 1. **坐标转换**:首先,我们需要将所有矩形的坐标转换到同一...

    C# 快速计算两个矩形相交源码(修复版)

    - 当两个矩形相交时,可以计算出它们的相交部分。这需要找到新的左下角和右上角坐标,使得新矩形的边界位于两个原始矩形的交集内。 ``` Rectangle Intersection(Rectangle rect1, Rectangle rect2) { int new...

    C++判断矩形相交的方法

    如果两个矩形相交,那么它们的交集将形成一个新的矩形。这个新矩形的左上角坐标是两个矩形左上角坐标的较大者,即min(minx1, minx2)和min(miny1, miny2)。这个新矩形的右下角坐标是两个矩形右下角坐标的较小者,即...

    易语言矩形相交并生成相交矩形源码

    当两个矩形相交时,它们的交集也是一个矩形。计算相交矩形的坐标需要找到四个顶点:左上、右上、左下和右下,这些顶点位于两个相交矩形的边界线上。具体步骤是找到两个矩形左边界和右边界的最大值作为相交矩形的左右...

    Python判断直线和矩形是否相交的方法

    该函数接受8个参数,分别是直线上的两个点A和B的x、y坐标,以及矩形的左上角和右下角的x、y坐标。函数首先将所有输入转换为浮点数,以进行精确的浮点数运算,避免整数除法带来的误差。 接下来,函数通过计算直线AB...

    易语言矩形相交

    在计算机图形学和编程中,矩形相交是一个常见的几何问题,它涉及到判断两个矩形是否在空间中有重叠部分。易语言,一种简洁而直观的中文编程语言,提供了处理这种问题的函数和方法。本篇文章将深入探讨易语言中的矩形...

    求两个矩形求范围交集的快速算法

    两个矩形相交有三种情况: 1. 相离,可以通过判断两个矩形的X最大值,最小值以及Y最大值,最小值的大小比较判定。(空间搜索外包矩形常用算法) 2. 包含与被包含,也是通过两个矩形的X最大值,最小值以及Y最大值,...

    提供的点是否在圆,矩形,多边形内部的方法.txt

    提供的点是否在圆,内部的方法 提供的点是否在矩形内部的方法 提供的点是否在多边形内部的方法

    矩形相交以及求出相交的区域的原理解析

    如果两个矩形的中心之间的水平和垂直距离都小于或等于各自半宽度和半高度之和,那么两个矩形相交。具体地,这可以表示为两个条件: 1. `|Xb3 - Xa3| (Wa/2) + (Wb/2)` 2. `|Yb3 - Ya3| (Ha/2) + (Hb/2)` 接下来,...

    并查集矩形相交判断.pdf

    如果满足以下任意条件,两个矩形相交: - A[x1] ≤ B[x1] ≤ A[x2] - A[x1] ≤ B[x2] ≤ A[x2] - A[y1] ≤ B[y1] ≤ A[y2] - A[y1] ≤ B[y2] ≤ A[y2] - 这种方法简单直观,但可能包含点相交的情况,需要额外...

    C#两矩形求差-可视化操作

    为了实现矩形求差,我们需要遍历其中一个矩形的所有边界,检查它们是否与另一个矩形相交,并根据交集情况更新结果矩形。 接下来,我们将讨论如何实现可视化操作。在C#中,我们可以利用Windows Forms或WPF框架创建...

    安卓Android源码——(矩形碰撞).zip

    `Rect`提供了多种方法,如`intersects()`用于检测两个矩形是否相交,`contains()`用于检查一个点或另一个矩形是否在当前矩形内。例如: ```java Rect rect1 = new Rect(0, 0, 100, 100); Rect rect2 = new Rect(80,...

    使用图形界面分析矩形

    这个程序允许用户计算矩形的面积并检测两个矩形是否相交。以下是对这一主题的详细阐述: 1. **C语言与Windows API**: C语言是一种基础且强大的编程语言,通常用于系统级编程和开发底层软件。然而,C语言本身并不...

    python计算两个矩形框重合百分比的实例

    如果中心点距离小于等于两矩形半边长之和的一半,那么两个矩形相交,函数返回`True`;否则,返回`False`。 然后,`solve_coincide`函数用于计算两个矩形的重合度。首先,它调用`mat_inter`函数判断这两个矩形是否...

    代码判断两条线段是否相交(两种实现算法)

    1. **判断线段端点是否相交:** 首先,检查线段AB的两个端点是否在线段CD上,反之亦然。如果发现端点重合,那么线段相交。 2. **计算线段的斜率:** 如果端点不重合,我们可以计算线段AB和CD的斜率。如果两线段平行...

    两个矩形求交快速算法

    为了快速判断两个矩形是否相离,可以采用基于边界坐标的方法。具体而言,如果一个矩形A的X最大值小于另一个矩形B的X最小值,或者A的X最小值大于B的X最大值,或者A的Y最大值小于B的Y最小值,又或者A的Y最小值大于B的Y...

    易语言-易语言矩形相交并生成相交矩形

    在二维几何中,两个矩形相交意味着它们的边界至少有一个交点。判断两个矩形是否相交,可以通过比较它们的边界坐标来实现。对于每个矩形,我们有四个顶点(左下、右下、左上、右上),如果一个矩形的任何一边跨越了另...

    C#求矩形边长

    在实际应用中,例如在游戏开发中,你可能需要检测两个矩形是否相交。这时,可以计算它们的边距,如果所有的边距都为正,则说明不相交;如果至少有一条边距为负,说明两矩形相交。边距计算方法如下: ```csharp ...

Global site tag (gtag.js) - Google Analytics