我正在研究多边形切片算法,并找到了将多边形切片为 n 部分的解决方案。 问题是我只知道需要切割多边形的线,而这些线来自 voronoi 图。
是否有任何现有的算法可以通过在需要切割的地方将多边形切割成n部分?
这是一张图片来展示我已经拥有的内容:
蓝色多边形需要在红线处进行切片以获得(在本例中)7 个较小的多边形。
知道如何以最有效的方式解决这个问题吗?
最佳答案
您可以使用例如 Clipper library 找到多边形与 Voronoi 图的每个单元格的交集。 .
AFAIK,它允许根据开放的 voronoi 单元(折线)剪切多边形
编辑 快速检查后:库只能通过闭合多边形剪切折线,返回多边形内部的部分折线。它无法找到由折线切割的多边形的一部分(当然,这是不明确的操作)。 因此需要有界 voronoi 图。
关于c# - 将多边形切成 n block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31298877/