10得票2回答
四叉树查找邻居

我正在寻找一个算法来查找四叉树中的邻居,例如在这个图像中,我有红色节点,如何找到蓝色节点。有什么想法吗?

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

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

13得票3回答
快速找到点到多边形最近边的距离的方法

设置 此函数需要提供从点到多边形最近边缘的距离 已知点位于多边形内部 多边形可以是凸多边形或凹多边形 将需要测试许多点(数百万) 将需要通过函数运行许多不同的多边形(数十个) 预先计算并持久存储数据结构是一种选择。 最终搜索函数将使用C++编写 对于函数实现,我知道一种简单的方法是使用...

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

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

85得票8回答
何时使用二进制空间分割、四叉树、八叉树?

最近我了解了二元空间分割树及其在3D图形和碰撞检测中的应用。我也简要地浏览了与四叉树和八叉树相关的材料。什么情况下应该使用四叉树而不是BSP树,反之亦然?它们是否可互换?如果我有足够的信息来填写如下表格,那就满意了: | BSP | Quadtree | Octree -...

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

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

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

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

36得票3回答
二维碰撞检测的四叉树

我正在尝试使用四叉树进行2D碰撞检测,但我对如何实现它感到有些困惑。首先,我会有一个四叉树,其中包含四个子树(每个象限都代表一个),以及一组无法放入单个子树中的对象。 在树中检查碰撞物体时,我会像这样做(感谢QuadTree for 2D collision detection): 检查...

13得票1回答
什么是粗略和精细的网格搜索?

我正在阅读这个回答: 高效(且解释得很好)的二维碰撞检测四叉树实现 并遇到了这段文字: 好吧,事实上四叉树不是我用于此目的的首选数据结构。我更倾向于使用网格层次结构,例如一个粗糙的世界网格、一个更精细的区域网格和一个更精细的子区域网格(3个密集级别的固定网格,没有涉及到树结构),使...

8得票3回答
四叉树遍历

我正在尝试为四叉树实现一个前向迭代器。不幸的是,我似乎找不到关于四叉树遍历的任何资源。 有人能指点我正确的方向吗?