因此,我们拥有无穷的3d世界,我们需要查询最近的点。然而,我们的点具有标识符并且一直在移动。像KDtree \ Octree这样的数据结构将支持数据点。在3D情况下,搜索和更新方面的连续性运动会不会比KDtree \ Octree复杂得多?
答案 0 :(得分:1)
看看AABB树。这是一种空间数据结构,主要用于游戏中的快速碰撞检测,同时也是CGAL,libigl和类似程序包中用于距离计算的最新数据结构。还可用于查找曲面上的最近点以及多面体和最近邻点中的点包含。
最后,“动态AABB树”显然用于加速数千个刚体的物理模拟。
请参阅:
答案 1 :(得分:1)
看看PH-Tree(我自己的)。它的工作方式有点像具有超立方体寻址的很好的Octree实现(非常快速的更新和kNN搜索),但它也很好地处理了强集群数据并且无法退化(最大深度等于您值中的位数,通常为32或64)。假设您只想存储点(而不是形状/矩形),则可能需要PhTree
(用于整数数据)或PhTreeF
(浮点数据)。