17得票6回答
存储物品以便通过x,y坐标进行定位

我正在尝试确定一种快速存储一组对象的方法,每个对象都有x和y坐标值,以便我可以快速检索某个矩形或圆周内的所有对象。 对于小的对象集(~100),简单地将它们存储在列表中并进行迭代是相对快速的。但是,对于更大的组,这样做会变得非常缓慢。 我还尝试将它们存储在一对TreeMaps中,一个按x坐标排...

7得票1回答
四叉树 - 当内部物品移动时如何更新

我已经实现了一个可用的四叉树。它将二维空间细分以容纳物品,这些物品由其边界框(x、y、宽度、高度)在最小可能的四叉树上进行标识(最小面积为止)。 我的代码基于这个实现(我使用的是Lua而不是C#):http://www.codeproject.com/KB/recipes/QuadTree....

20得票4回答
这些四叉树库有哪些好的呢?

看起来我的某个项目需要使用四叉树,这是我以前从未涉及过的东西。从我所了解的来看,它们应该比暴力尝试问题能产生更大的性能提升。这些Python模块中有哪些好用呢? Quadtree 0.1.2 <= 不行: 无法在Python 3.1中执行 QuadTree <= 可以: 简单且...

7得票3回答
四叉树如何处理非正方形区域?

我了解四叉树在方形图像上的工作原理(通过将图像分割直到该部分为单一颜色,并将其存储在叶节点中)。 如果图像的一个维度比另一个维度更长,那么最小子单位可能是2x1像素区域,这使得使用四叉树分割方法来存储单一颜色变得困难。您将如何解决此问题?

11得票3回答
四叉树和Kd树

我有一组各地位置的纬度和经度信息,也知道我的当前位置的纬度和经度。我需要找出最靠近我的当前位置的地点。 Kdtree和quadtree中哪个算法是从纬度和经度信息集中查找邻近位置最好的? 其中一个算法相对于另一个算法的优点是什么? 我们如何在C#中实现这些算法以实现上述目的? Not...

8得票2回答
一个无限可扩展的四叉树被称为什么?

2D空间索引问题: 当一个数据结构被无限扩展成四叉树时,其中每个节点既不包含绝对坐标也不包含绝对比例尺--每个节点的坐标系统已被归一化为单位正方形(0,0)-(1,1),而且顶级节点并非绝对固定时,你如何称呼它? 当然是四叉树,但这是哪种类型的四叉树呢?(是否有常见名称?我在文献中看到了数...

44得票2回答
R-Tree和Quadtree的比较

我希望比较R-Tree和Quadtree在地理空间数据方面的应用。虽然有文献可查,但我很难找到介绍基本比较的文档。所以我决定问这个问题。 在我看来,R-Tree具有平衡性,树没有空叶子节点。作为缺点,如插入或删除等基本操作可能导致重构整个索引。 相反,四叉树不平衡,有空叶子,但不需要重构。...

34得票3回答
在Mathematica中实现四叉树

我在Mathematica中实现了quadtree。作为一个新手,我想知道是否可以通过更好地利用模式来改进或使其更加紧凑。 (我明白通过修剪未使用的节点可以优化树,并且可能会有更好的数据结构,如k-d树用于空间分解。) 此外,我仍然不确定每次添加新点时都要复制整个树/表达式的想法。但我的理...

17得票1回答
QuadTree二维碰撞检测

我目前正在开发一个2D射击游戏,使用四叉树进行碰撞检测。我编写了可以将演员正确推入树中所属的节点/叶子的四叉树。然而,我还有一些问题。 首先,如何使用我的四叉树选择其他对象以测试碰撞?我不确定该如何实现。 这带来了第二个问题。假设我有一个在节点中的物体,它不是另一个节点的邻居,但该物体足够...

8得票1回答
构建四叉树以使相邻节点之间只有一个层级差异(LOD)

我正在尝试构建四叉树,它基于一个位置和一个最大深度来细分一个区域。我想用这个来实现地形的细节级别。换句话说,我有一个位置(x, y),一个区域(x, y, width),并将其传递给一些方法build(region, position, maxDepth),然后应该返回覆盖整个平面的节点数组。...