2016-09-02 74 views
1

我想“平滑”多边形,以使它们保持大部分“外部”外观,但是没有“内部走廊”。多边形平滑

把它放到上下文中:下图显示了一组多点创建的多边形。下面的多边形大致代表一个房间,每个多边形的内部部分都是门和其他东西。 现在我想重新改进这些多边形,所以它们再次看起来像房间。

我的问题是:什么(一组)算法符合我的需求?创建一个凸包或缓冲多边形不是我想要的(尽管我尝试过)。缓冲区多边形不保留多边形的外观,并且凸包不会去除这些向内的部分。

这就是它看起来像: Polygons 这是一个很糟糕的photoshop图像,我想它看起来像。 注意小内部走廊被删除。

Fixed room polygons

编辑:常用的简化也将无法正常工作,可能是。这就是我的多边形如何与Douglas Peucker一起简化的样子。距离容差已经很激进,但内部凹痕仍然没有消失。这并不令人感到意外,因为内部的凹陷很长,所以也是相当值得期待的。

Simplified polygons

编辑2:

这就像我想删除这个例子中的内凹痕:

B

回答

0

什么你正在寻找的短语多边形简化下进,其中有大量的文献。 开始可以找到at this link, 从中复制下面的图像。


enter image description here   enter image description here
有旨在实现特定优化标准, 许多调查了 Handbook of Discrete and Computational Geometry许多复杂的算法。

+0

我不认为多边形简化将有所帮助。我用道格拉斯皮克应用的例子更新了我的问题。在您张贴的示例图片中,我的问题就像我想要删除B右侧中间的“好看”B的凹痕。 – benjist

+1

我已更新我的问题并附上张贴的图片以说明此问题。 – benjist

+0

@benjist:我明白了。您需要一个专门用于您输入多边形类型的特设“凹痕检测器”。他们有一个非常特殊的内角角度,突出的反射顶点。 –