我想“平滑”多边形,以使它们保持大部分“外部”外观,但是没有“内部走廊”。多边形平滑
把它放到上下文中:下图显示了一组多点创建的多边形。下面的多边形大致代表一个房间,每个多边形的内部部分都是门和其他东西。 现在我想重新改进这些多边形,所以它们再次看起来像房间。
我的问题是:什么(一组)算法符合我的需求?创建一个凸包或缓冲多边形不是我想要的(尽管我尝试过)。缓冲区多边形不保留多边形的外观,并且凸包不会去除这些向内的部分。
这就是它看起来像: 这是一个很糟糕的photoshop图像,我想它看起来像。 注意小内部走廊被删除。
编辑:常用的简化也将无法正常工作,可能是。这就是我的多边形如何与Douglas Peucker一起简化的样子。距离容差已经很激进,但内部凹痕仍然没有消失。这并不令人感到意外,因为内部的凹陷很长,所以也是相当值得期待的。
编辑2:
这就像我想删除这个例子中的内凹痕:
我不认为多边形简化将有所帮助。我用道格拉斯皮克应用的例子更新了我的问题。在您张贴的示例图片中,我的问题就像我想要删除B右侧中间的“好看”B的凹痕。 – benjist
我已更新我的问题并附上张贴的图片以说明此问题。 – benjist
@benjist:我明白了。您需要一个专门用于您输入多边形类型的特设“凹痕检测器”。他们有一个非常特殊的内角角度,突出的反射顶点。 –