将多边形切成n片

时间:2015-07-08 16:51:02

标签: c# .net geometry polygon partitioning

我正在研究多边形切片算法,并找到了将多边形切成n个部分的解决方案。 问题是我只知道需要切割多边形的线条,这些是来自voronoi图。

是否有任何算法可以通过将多边形切割成需要切割的多边形来将多边形切割成n个部分?

下面是一张照片,展示了我已经拥有的东西:

Polygon (Blue), to be sliced at red lines

蓝色多边形需要在红线处切片以获得(在这种情况下)7个较小的多边形。

知道如何以最有效的方式解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您可以使用例如Clipper library找到多边形与Voronoi图的每个单元格的交点。

AFAIK,它允许将多边形剪切到打开的voronoi单元格(折线) enter image description here

编辑快速检查后:库只能通过闭合多边形剪切折线,返回多边形内部折线的一部分。它找不到多边形的一部分,用折线切割(当然是模糊的操作)。 因此需要有限的voronoi图。