如何确定两个矩形是否重叠(成角度)

问题描述 投票:0回答:1

我想确定两个矩形是否重叠(不相交)。我知道如何对轴对齐的矩形执行此操作,但是在这种情况下,我有一个矩形并不总是与轴对齐的(也就是在其中心旋转)。 This post显示了如何计算两个相交的矩形,但不会像this picture所示那样将另一个矩形归类为另一个矩形,因为它们是重叠的,而不是相交。

在我的情况下,一个矩形是轴对齐的(黑框),另一个是旋转的(红框),这样可能会更容易。

我想我需要多个案例来确定它们是否重叠。第一种简单的情况是检查黑框内是否有任何红色顶点。然后,我可以检查任何红色/黑色边缘是否相交。我不确定如何覆盖上面显示的情况以及是否有更简单的方法来做到这一点。

[额外详细信息:这是用于我的图形软件裁剪器(在这种情况下,不能使用硬件裁剪),其中黑框是我的窗口/视口,红框是“ sprite”,黑框以外的任何内容都被裁剪/未渲​​染我正在使用正交2D投影。最后,我将有两个功能,一个用于检测子画面是否在窗口/视口之外(我在这个问题中要问的是什么),后来我将创建一个将子画面裁剪到窗口/内的功能。 Sutherland–Hodgman算法处理视口。

graphics shapes overlap angle clip
1个回答
0
投票

通常称为AABB-OBB相交测试。 (轴对齐的边界框和定向的边界框)。如果一个边界框完全位于另一个边界框内,则仍将其视为“相交”。

© www.soinside.com 2019 - 2024. All rights reserved.