我正在寻找另一种算法:一个免费的C / C ++实现平均距离最近邻居问题。
所以基本上我在3D中有一个点云,我想要所有点和它们各自最近邻居之间的距离的平均值。最简单的方法是找到每个点的最近邻居,计算该邻居与该点的距离,并将这些距离的总和除以点数。但是,有更好的算法,因为它具有很多冗余并且近似运行得更快。我正在寻找那些更好的算法的免费C / C ++实现。
ε-近似如果罚款。
答案 0 :(得分:2)
您可以尝试使用Quadtree,如in this question所述。在其他3D / 2D图形库中,您的问题也有很多实现。
几年前我在一个项目中使用了GEOS,'几何引擎,开源',非常满意。
答案 1 :(得分:1)
C ++库FLANN允许您进行“快速近似最近邻搜索”。它是用C ++编写的,并声称是这类搜索中速度最快的实现之一。
希望这有帮助!