如何找到一组任意放置的非重叠矩形的自然边界多边形?

How can I find a natural border polygon of a set of arbitrarily placed non-overlapping rectangles?

给定一组任意放置的、不重叠的矩形;我怎样才能找到一个代表构成矩形的点周围的自然边界的多边形?举例说明:

如何找到绿线或蓝线?我已经尝试过,但没有成功:

我不确定我是否遗漏了一些明显的东西,或者这实际上是一个比我最初预期的更难的问题。

这是一个启发式的方法。计算船体 H1 矩形。现在计算船体 H2 不在 H1 上的矩形角。 所以现在你有两个嵌套的凸包。 考虑将 H1 的边 e 移动到 H2 的顶点 v。 一些这样的举动可以被排除在外,因为这两个新的 边穿过一个矩形。选择接受最小的 ev 形成的三角形的高度, 如下图所示。