寻找点和物体碰撞的理想数据结构?

时间:2015-04-06 21:23:57

标签: data-structures tree geometry

我正在解决这个问题,我不知道要使用哪种数据结构。

我在2D平面上有多个对象(凸多边形和圆形),对于给定的点,我必须计算点所在的对象(它们可以重叠)。

我一直在读K-D树,但我不知道如何为这种物体“弯曲”它。我也一直在阅读关于边界体积层次结构,但我不知道它是否是最佳的。

那么,您认为这个问题的最佳数据结构是什么?时间性能比内存使用更重要。)

谢谢!

1 个答案:

答案 0 :(得分:0)

在大多数情况下,"效率" BVH,kd-tree,R-tree等空间划分方案来自智能树构造。只要你能很好地建造你的树,你就会有很快的表现。对于你的情况,我会说kd-tree很好 - 它很常见,有很多可用的源代码。 R树也是如此。我不明白你的意思"弯曲"它适合你的对象。对于Kd-Tree,您需要决定的是,给定一个轴对齐的平面 - 对于2D情况,如果圆(或多边形)位于一侧或跨越,则它将是x = c或y = c。相当琐碎的问题。