代码之家  ›  专栏  ›  技术社区  ›  Xzhsh

用于欧几里德三维数据查询的良好数据结构?

  •  1
  • Xzhsh  · 技术社区  · 16 年前

    存储点云数据的好方法是什么,以便它对执行这两个查询之一的应用程序是最佳的?

    1. 距(x,y,z)最近的(即最低欧氏距离)数据点
    2. 得到一个半径为R,围绕一个点(x,y,z)的球体内的所有点

    结构只会被填充一次,但会被读取很多次。一个低内存占用将是很好的,因为我可能正在处理的数据集的>700万分,但速度应该是首要问题。一个图书馆会很好,但如果在该领域的专业知识有限的情况下,它是可行的,我不介意自己实现它。

    提前谢谢!

    2 回复  |  直到 16 年前
        1
  •  1
  •   deinst    16 年前

    Kd-Tree ))最近邻,通常范围查询会很快。

    你也可以看看 CGAL . 我用CGAL做了其他的事情,它相当快,非常全面,但是文档会驱使你喝酒。

        2
  •  1
  •   Reed Copsey    16 年前

    KD-Trees 对于这两种查询都非常好。

    Octree 在许多情况下也是一个很好的选择,而且可能更容易实现。

    k-nearest neighbor searching 将显示许多有用的库。我的运气很好 ANN

    推荐文章