space-partitioning

    2热度

    2回答

    我有一个问题,我需要一种在给定卷内查找对象的非常有效的方法。可以想象,对象被表示为具有X-min,Y-min,Z-min和X-max,Y-max,Z-max值的方框。在空间中可能有数百万个这样的对象,问题是在任意给定的用户提供的音量内找到对象。用户输入框的X,Y和Z值的最小值,最大值。 目前,我拥有Oracle数据库表中的所有这些对象,这些对象都是为X,Y和Z值索引的范围。任何用于查找对象的查询都

    3热度

    1回答

    我在三维空间中有许多点(+100,000)。我需要使用最近的邻居和范围查询。首先我使用kdtree(k = 3),但每个点都有一个velocity属性。他们的位置不是静止的,他们改变了他们的位置。问题从这里开始。使用旧位置很容易做最近的邻居和范围查询。但我必须根据它们的速度来计算它们的新位置。在计算出他们的新位置后,我必须找到最近的邻居并在范围内搜索。 每次点改变他们的位置我必须更新kdtree,

    1热度

    1回答

    我试图将数据存储在关系数据库的binary space partitioning tree中。关于这个数据结构的棘手部分是它有两种不同类型的节点。第一种类型,我们称之为数据节点,只是保存了一定数量的项目。我们定义可以保留的项目的最大数量为t。第二种类型(我们称之为容器节点)包含另外两个子节点。当一个项目被添加到树中时,节点被递归直到找到一个数据节点。如果数据节点中的项目数量少于t,则将该项目插入到

    4热度

    2回答

    我试图设计一个矢量量化的实现作为一个C++模板类,可以处理矢量的不同类型和尺寸(例如16维矢量字节,或4d矢量双打等)。 我一直在阅读了对算法,我理解大部分: here和here 我要实现的林德BUZO灰色(LBG)算法,但我m难以找出划分簇的一般算法。我想我需要定义一个平面(超平面?),将平面中的矢量分开,这样在平面的每一侧上都有相同的数字。 [编辑以添加更多信息] 这是一个反复的过程,但我想我

    2热度

    2回答

    我应该在地图上显示一组标记以指示附近的兴趣点。这些标记将通过点击打开公共聊天室,因此我认为用户在进入该房间之前应该看到有关每个标记的简短地址信息,而无需点击标记。不过,如果我更改标记图标在这个意义上,一些标志物可能会冲突,你可以看到如下: 我想要做的是显示尽可能多的标记没有碰撞什么,更换图标与像一个点一个非常小的标记(任何地址信息),这些碰撞的国家: 我实现通过执行x轴扫描算法来检测碰撞得到这个结

    2热度

    1回答

    我对应于相同的一维(线性)空间的两组区间。这是一个粗略的视觉效果 - 事实上,有更多的间隔,他们更分散,但是这给出了基本的想法。 这些区间的每一个中包含的信息,和我写一个程序将信息存放在一个设定的时间间隔(红色),以包含在另一组(蓝色)的信息进行比较。 这是我的问题。我想将空间划分为n块,以便在每个块中进行大致相同量的比较工作(工作量取决于该空间部分中的间隔数)。此外,该分区不应该在两个块之间分割

    12热度

    1回答

    我需要将大的静态大小的矩形分割成小矩形的算法。我一个完美的实现是这样的: struct RECT { int l,t,r,b; }; class BigRect { public: // width and height of big rect BigRect(unsigned width, unsigned height); // retur

    3热度

    1回答

    我一直试图在我的游戏中实现空间分区算法,但空间哈希和四叉树都不是我正在寻找的。 我的关卡尺寸不应该有限制(只有Int32限制)。我需要一个不需要“级别宽度”和“级别高度”的空间分区算法。 我有许多移动的物理对象。我需要该算法足够快以支持500多个对象。 还可以吗?

    0热度

    1回答

    似乎有类似的问题here,但我对答案的清晰度和实用性都不满意。我在最近的一次采访中被问到我将存储大量浮点数的数据结构,以便我为自己或最近的邻居查找新的到来。我说过我会使用二叉搜索树,并尝试使它达到O(log n)的平衡。 然后,问题扩展到了两个维度:我将使用什么数据结构来存储大量(x,y)对,例如用于快速查找的地理坐标?我无法想到一个令人满意的答案,并且在扩展到K维时完全放弃了。直接使用使用坐标值

    9热度

    3回答

    我有一个包裹在边缘的2D地图。所以如果你离开右边缘,你会重新出现在地图的左侧。同样与三个其他边缘。 这是可继承的KDTree,我用它来查找点的范围内的元素的问题。通常情况下,你会检查超球与超平面是否碰撞,看看你是否应该继续搜索树的另一边,但是这种检查不能用于包装边缘。 有什么方法可以修改KD树来与甜甜圈2D空间一起工作吗?