我正在使用CGAL的K_neighbor_search模块来执行最近邻搜索问题。这很好用,很容易使用。示例代码显示给定查询点,它可以从一组点以及距离中找到最近的邻居点。但是,我只能获得最近的邻居点。我不知道如何获得算法找到的点的索引。 例如,我使用以下代码,
std::list<Point_d> points;
Tree tree(points.begin(), points.end());
Neighbor_search search(tree, query, N);
for(Neighbor_search::iterator it = search.begin(); it != search.end(); ++it)
{
std::cout << "Point: " << it->first << "\n";
std::cout << "Distance: " << std::sqrt(it->second) << "\n";
}
结果如下:
点:222 129 161
距离:189.307
但是如何获得结果点的索引?至于这个问题的原因,我想得到最近邻点的法线,所以我需要引用这一点。 有人能帮助我吗?