获取输入顶点对应的Voronoi站点索引

Get the index of Voronoi sites corresponding to input vertices

我正在使用在 github 上找到的 code,以便使用一组输入顶点和一个矩形生成 Voronoi 图。

我想手动实现加权CVT算法。问题是创建Voronoi图时,vertices/sites的顺序与输入顶点的顺序不一样。结果实际上是一个半边数据结构。所以当我使用以下代码时:

for (VD::Face_iterator fit = vd.faces_begin(),
  fit_end = vd.faces_end();
  fit != fit_end; ++fit)
  {
      std::cout << fit->dual()->point() << std::endl;

 }

结果顶点的打印顺序与输入顶点的顺序不同。 有没有办法以某种方式更快地获取新索引。我认为我可以做到这一点的唯一方法是比较距离,但这真的很慢!

您可以使用 Triangulation_vertex_base_wih_info_2 来将索引存储在顶点中。