检查一个矩形是否相交或在另一个矩形内

时间:2019-05-07 12:07:28

标签: java geometry

我有以下情况,出于说明目的,分为两种情况。

enter image description here

中间的绿色矩形是我所指的矩形,因为它是恒定的矩形。

现在,我想知道一个黄色矩形是否相交,位于内部或完全封装了绿色矩形。

我看过this并理解了它,但是(除非我忘记了什么),它忽略了黄色矩形位于绿色矩形内的情况。我能想到的最简单的解决方案是按任一顺序仔细检查4个点,但这是only(“ best”)解决方案吗?

1 个答案:

答案 0 :(得分:1)

两个矩形AB的交点为非空

A.l < B.r and A.r > B.l and A.t < B.b and A.b > B.t

(左,右,上,下坐标,y向下)。

A全部包含B iif

A.l <= B.l and A.r >= B.r and A.t <= B.t and A.b >= B.b