CGAL中的高效k阶voronoi图和3d voronoi图

时间:2014-02-21 02:31:34

标签: c++ algorithm cgal voronoi

我在计算CGAL中的k阶Voronoi图和3d voronoi图时遇到了麻烦。

  1. 首先,我想从给定的一组点(2d / 3d)计算k阶Voronoi图(k是最近邻居的数量)。

    • 据我所知,CGAL demo ipelet文件夹中有一个头文件“k_delaunay.h”(代码here)。它可以计算k阶正则三角剖分。而且我相信我可以将常规三角测量转换为Delaunay三角测量。

    • 但是,从代码中我们可以看出复杂性非常高。我测试了300k 2d点,并且计算k阶Voronoi图的实际运行时间是不可接受的。所以我想知道CGAL中是否存在k-order Voronoi图的其他实现(我的其余代码是用CGAL编写的,所以我真的想使用现有的数据结构)?

  2. 此外,由于CGAL的voronoi图适配器仅支持2D,有没有有效的方法将3D delaunay三角测量转换为3D voronoi图?

  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用分层聚类(即树形图)来代替k阶。