【问题标题】:Find all bounding boxes intersecting with a given point (using a tree structure)查找与给定点相交的所有边界框(使用树结构)
【发布时间】:2015-01-18 16:02:48
【问题描述】:

我创建了一个函数,它遍历二维边界框列表并找到包含给定二维点的边界框。不幸的是,这很慢,所以我一直在寻找一种使用某种树结构来优化它的方法。

我已经看到很多基于在框中查找点的问题,但没有看到从点中查找框的问题。我知道如何进行交叉,所以它只是我感兴趣的树结构。我认为四叉树可能适合,但我不确定它如何处理在不同节点中重复的边界框。

最好使用某种二叉搜索树来递归地分割 x 轴和 y 轴(如中值切割)?

【问题讨论】:

  • 会的,这是我的第一个问题,所以没有意识到!

标签: algorithm binary-search-tree intersection box bounding


【解决方案1】:

我建议你使用分段树。

看看这些幻灯片:

http://algo.kaust.edu.sa/Documents/cs372l07.pdf

您特别在寻找解决更高维度查询的解决方案(幻灯片 25)

【讨论】:

  • 谢谢,它看起来非常适合边界框搜索,因为它可以很好地处理重叠并且具有二进制搜索速度
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-10
  • 2013-06-03
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 2022-01-10
相关资源
最近更新 更多