连续修改一组点 - 找到所有最近的邻居

时间:2013-04-19 03:49:26

标签: optimization tree kdtree voronoi

我有一组3D点。这些点将经历一系列微小的扰动(所有点将立即被扰动)。示例:如果我在一个方框中有100个点,则在我的程序的每次迭代中,每个点可以向上移动,但不超过框宽度的0.2%。

在每次扰动操作之后,我想知道每个点的最近邻居的新距离。

这需要使用非常快速的数据结构;我正在优化速度。这是一个有点棘手的问题,因为我正在修改所有点数。近似NN算法不适合这个问题。

我觉得答案是在kd-trees和Voronoi镶嵌之间的某个地方,但我不是数据结构的专家,所以我很困惑该怎么做。我确定这是一个非常困难的问题,需要大量的研究才能达到真正的最佳解决方案,但即使是相当优化的东西也适合我。

由于

1 个答案:

答案 0 :(得分:0)

您可以尝试四键或怪物曲线。它减小了尺寸并填充了飞机。 Microsoft bing maps quadkey是一个很好的开始学习。