【发布时间】:2021-08-19 15:46:16
【问题描述】:
目前我正在尝试让 Voronoi 多边形划分一定大小的平面(例如 1000x1000 和 500 个随机点)。
为此,我使用了 Delaunay 三角剖分 - Bowyer Watson 算法。多亏了这一点,我能够生成点并正确连接 Voronoi 图中包含的边。不幸的是,就我而言,我需要一个多边形列表(其中每个多边形都包含一个边列表)。
我试图创建一个简单的算法,该算法将一个接一个地获取边缘并寻找下一个以创建最终多边形等等 - 不幸的是没有成功。我也在考虑取三角形的顶点并创建一个圆,直到形成多边形(从现有的边缘),但我不确定这是否是一个好的解决方案?
有什么办法吗?或者我应该使用不同的算法来获取 Voronoi 多边形列表? 我在网上没有找到适合这个问题的解决方案,如果有的话,不胜感激
【问题讨论】:
-
那么,您已经有了边(线段),您只需要将多边形导出为边路径?
-
@RBarryYoung 是的,我已经有了边列表,我需要将其转换为多边形列表
-
我建议使用here 描述的算法构建一个双向连接边列表 (DCEL)。
标签: algorithm graph-theory voronoi