Performance 在二维空间中查找矩形

Performance 在二维空间中查找矩形,performance,algorithm,geometry,spatial-index,Performance,Algorithm,Geometry,Spatial Index,我在2D空间中有一组不同大小的矩形。矩形的数量可以从10个动态更改为100000个,它们的位置和大小经常会更新 您建议在给定点(x,y)处查找矩形的空间结构是什么?假设搜索操作也经常执行(例如鼠标移动)。如果您可以参考各种空间索引算法的比较,或者在这里比较它们的搜索/构建/更新性能,那就太好了。使用四叉树() 确定矩形开始和结束的所有可能的X和Y值。然后根据这些值构建一个四叉树。在四叉树的每个叶中,存储哪些矩形与叶的坐标范围重叠。找到哪些矩形重叠,然后只需找到包含坐标的叶子。我建议。它主要是为矩

我在2D空间中有一组不同大小的矩形。矩形的数量可以从10个动态更改为100000个,它们的位置和大小经常会更新

您建议在给定点(x,y)处查找矩形的空间结构是什么?假设搜索操作也经常执行(例如鼠标移动)。如果您可以参考各种空间索引算法的比较,或者在这里比较它们的搜索/构建/更新性能,那就太好了。

使用四叉树()


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

我建议。它主要是为矩形(或N维轴对齐立方体)设计的。

是否希望找到包含给定点的所有矩形?矩形是任意旋转的,还是它们的轴平行于x和y?它们的轴平行于Ox,Oy,很抱歉错过了这个。找到所有的矩形会很好,但即使找到一个包含一个点的矩形也足够了。我知道各种各样的,但我从来没有和他们一起工作过,所以更好奇的是专家的意见,我应该根据给定的情况选择哪一个。。。