在2d空间中查找矩形

时间:2012-05-21 01:43:54

标签: performance algorithm geometry spatial-index

我在2D空间中设置了各种大小的矩形。矩形的数量可以动态地从10变化到100 000,它们的位置以及它们的大小经常被更新。

您建议在给定点(x,y)找到矩形的空间结构?假设搜索操作也经常执行(例如在鼠标移动时)。如果您可以参考各种空间索引算法比较或比较它们的搜索/构建/更新性能 - 这将是可爱的。

2 个答案:

答案 0 :(得分:2)

我建议R-Tree。它主要用于矩形(或N维轴对齐立方体)。

答案 1 :(得分:0)

使用四叉树(http://en.wikipedia.org/wiki/Quadtree)。

确定矩形开始和结束的所有可能的X和Y值。然后根据这些值构建四叉树。在四叉树的每个叶子中,存储哪些矩形与叶子的坐标范围重叠。找到哪些矩形重叠只是找到包含坐标的叶子。