我正在使用github上的code,以便使用一组输入顶点和一个矩形生成Voronoi图。
我想手动实现加权CVT算法。问题在于,当创建Voronoi图时,顶点/站点的顺序与输入顶点不同。结果实际上是一个半边数据结构。所以当我使用以下代码时:
for (VD::Face_iterator fit = vd.faces_begin(),
fit_end = vd.faces_end();
fit != fit_end; ++fit)
{
std::cout << fit->dual()->point() << std::endl;
}
打印的结果顶点的顺序与输入顶点的顺序不同。 有没有办法以某种方式现在更快地获得新指数。我认为我能做到这一点的唯一方法是比较距离,但这将非常慢!