【发布时间】:2014-12-09 18:02:31
【问题描述】:
我有一大组要以 2D 形式渲染的对象,我从下到上对它们进行了排序。我目前正在使用 R-tree 来获取当前视口中的一部分。但是,在将它们从空间索引中取出后,我必须按它们的 Z 顺序对它们进行重新排序。与在空间索引中查找它们的列表(其中数百个项目与我的查询匹配)相比,这种排序需要大约 6 倍的时间。
有没有一种二维空间索引,可以通过矩形边界框快速查找,并按排序顺序返回元素?
【问题讨论】:
-
基于octree 的东西可能是一个不错的起点...
-
您是否考虑过简单地使用 3D R-tree?它可能需要重新排序坐标(例如(z,x,y)而不是(x,y,z)),但似乎应该可以按z排序的顺序获得结果。如果不是,那么应该使用 3D k-d 树。另外,你有多少个Z?使用基数排序或其他东西可能会更好。
-
Z 值是不同的——每个存储的对象都有一个唯一值。
标签: data-structures spatial-index