我有一组 3D 点。这些点会经历一系列微小的扰动(所有的点都会同时被扰动)。示例:如果我在一个框中有 100 个点,则在我的程序的每次迭代中,每个点都可以向上移动,但不超过框宽度的 0.2%。
每次扰动操作后,我想知道到每个点最近邻居的新距离。
这需要使用非常快的数据结构;我正在优化这个以提高速度。这是一个有点棘手的问题,因为我要同时修改所有点。近似 NN 算法不适用于这个问题。
我觉得答案介于 kd-trees 和 Voronoi tessellations 之间,但我不是数据结构方面的专家,所以我对该怎么做感到困惑。我确信这是一个非常困难的问题,需要大量研究才能达到真正的最佳解决方案,但即使是相当最佳的解决方案也对我有用。
谢谢