将多边形切成 n 块

Slice polygon into n-pieces

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

是否有任何现有算法可以通过在需要切割的地方设置线来将多边形切割成 n 部分?

这是我已有的图片:

蓝色多边形需要在红线处进行切片以获得(在本例中)7 个较小的多边形。

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

您可以使用例如 Clipper library.

找到多边形与 Voronoi 图的每个单元格的交点

AFAIK,它允许针对开放的 voronoi 单元(折线)裁剪多边形

编辑 快速检查后:库只能通过闭合多边形裁剪折线,返回多边形内部的部分折线。它找不到被折线切割的多边形的一部分(当然,这是模棱两可的操作)。 所以需要有界的 voronoi 图。