我在计算CGAL中的k阶Voronoi图和3D Voronoi图方面遇到了麻烦。
首先,我想从给定的点集(2D/3D)中计算k阶Voronoi图(k为最近邻居数)。
据我所知,在CGAL演示ipelet文件夹中有一个头文件"k_delaunay.h"(代码在这里),它可以计算k阶“常规三角剖分”。而且我相信我可以将常规三角剖分转换为Delaunay三角剖分。
然而,从代码中我们可以看到复杂度非常高。我已经测试了30万个2D点,实际运行计算k阶Voronoi图的时间是不可接受的。因此,我想知道是否有其他CGAL中的k阶Voronoi图的实现方式(我的其余代码都是用CGAL编写的,所以我真的想使用现有的数据结构)?
此外,由于CGAL的Voronoi图适配器仅支持2D,是否有有效的方法将3D Delaunay三角剖分转换为3D Voronoi图?
谢谢!