当前位置: 首页 > 知识库问答 >
问题:

查找两个矩形是否重叠[重复]

陈文景
2023-03-14

我试图找出两个矩形是否相互重叠。我将下面的矩形表示为< code>[x1,x2] x [y1,y2]

Rect 1 = [0.0, 1.0] x [0.0, 1.0]
Rect 2 = [0.7, 1.2] x [0.9, 1.5]

我只需要一个伪代码,我可以实现它来查找矩形是否彼此重叠。

共有2个答案

充星腾
2023-03-14

如果您的矩形表示为[x1, x2]x[y1, y2]

if (a.x1 > b.x2 || b.x1 > a.x2) return false; // check x-axis
if (a.y1 > b.y2 || b.y1 > a.y2) return false; // check y-axis
return true;

条件<代码>a. x1

闻人景澄
2023-03-14
  if ((Rect1.topLeft.x  >  Rect2.bottomRight.x) || (Rect1.bottomRight.x  <  Rect2.topLeft.x)  || (Rect1.topLeft.y > Rect2.bottomRight.y) || (   Rect1.bottomRight.y  <  Rect2.topLeft.y)):
            Then NOT OVERLAPPING
  else:
            OVERLAPPING
 类似资料:
  • 我有经度和纬度的地理坐标,比如西北和东南经度/纬度。所以,当我得到它们的时候,我把它们转换成公制。因此,这里我得到了我的第一个西北和东南坐标的矩形,然后我有了北,南,西,东坐标的相同公制中的边界矩形。我需要检查这两个直角相交的边,我写的是: 我不确定我做得对不对?我的要求是,如果第二个矩形的边界与第一个矩形的边界相交,那么第二个必须留在左边。否则,过滤。

  • 问题内容: 我想看看我从数据库读取的时间是否与用户提供的时间重叠。 我的数据库如下所示: 我的代码如下所示: 如果我故意输入两次重叠的时间,则不会回显错误。我究竟做错了什么? 问题答案: 当且仅当以下条件中的至少一个成立时,两个时间段P1和P2重叠: P1在P2的开始和结束之间开始() P2在P1的开始和结束之间开始() 这将捕获部分重叠的期间以及一个完全覆盖另一个期间的期间。如果两个周期重叠,则

  • 对于不懂几何或公式的人来说,这是一个非常简单的问题。我需要知道两个圆是否相交。就这样。 我有两个圆圈:圆圈1和圆圈2。这两个圆的大小相同,半径相同。他们永远不会有所不同。我需要一个公式来显示这些圆圈是否重叠。我不在乎在哪里。我不在乎多少。我不在乎任何细节,而是真假。圆圈是否重叠?我只需要一些我可以在Javascript中得到的东西。 这里的公式对我不起作用。如何检测一个圆和同一平面上的任何其他圆的

  • 每个扇区可以表示为(x,y,r,a,d),其中x,y是位置,r是半径,d是方向,a是角度。给定两个圆形扇区的这些信息,如何确定它们是否相互重叠?有没有什么高效的算法来解决它?谢谢!

  • 问题内容: 我有两个日期范围,(start1,end1)::: >> date1 &&(start2,end2)::: >> date2。 我想检查两个日期是否为OverLaped。 我的流程图 假定“ <> =”运算符对于比较是有效的。 } 任何建议将不胜感激。 问题答案: 您可以为此使用Joda-Time。 它提供指定开始时刻和结束时刻的类,并可以检查与的重叠。 就像是 版画 因为第一个间隔的

  • 我有一个图像,我想在鼠标移动到某些矩形区域时显示工具提示。矩形区域可以达到1000。但是,只要检查每个矩形中的点是否在其中,即O(N),就会使界面在移动鼠标时没有响应。 有没有小于O(N)的方法?我可以预先对矩形进行排序(我假设这是必需的)。矩形可能会(很少)重叠,但同一区域重叠的矩形不能超过4-5个。在这种情况下,我可能需要获得所有矩形的列表,但即使只是其中的任何一个也足够了。 但是我假设这个问