我boost
用来计算二维中一组点的 voronoi 图,非常简单;
std::vector<Point> points;
...
voronoi_diagram<double> vd;
construct_voronoi(points.begin(), points.end(), &vd);
是否有一种算法来处理生成的多边形,以便查询“给定点属于哪个站点?” 可以在恒定时间内回答吗?换句话说,给定点位于一组多边形中的哪个多边形中?
当然,可以计算并比较给定点与现有点的距离,但这将花费 O(n) 时间并且不利用 Voronoi 图中编码的信息。