octree

    0热度

    1回答

    我想使用八叉树作为OGL场景表示,并且在那里有一些移动对象。我也想用这个八叉树来加速碰撞检测。有没有什么好的算法可以为你提供八叉树路径(移动物体穿透的所有单元/路径)? 假设我有一个移动物体,我知道速度(所以两个位置,移动的开始和一帧中移动的结束)。 我的想法是简单地通过整个树并执行包含移动对象和其他单元的单元的碰撞检测。这会给我所有人,但这不是一个矫枉过正的? 谢谢!

    1热度

    1回答

    定期地,应用程序将会接收到大量移动对象(大约每秒100,00,000 [100万])的经度和纬度。 要求是检测400米范围内的任何物体,检测必须在400毫秒(毫秒)内完成。 因此,每当应用程序接收到具有经度和纬度的任何新对象时,我首先需要将其添加到数据结构中,并检查数据结构中的任何其他对象是否与400中新添加的对象的距离不超过400米女士。 从我的研究,我有以下2个选项: 选项1: Redis的G

    1热度

    2回答

    我看过了我们的神谷歌搜索数,并没有发现说明,在一个直观的方式任何物品,以下问题: "How can i smoothly mesh a Octree of voxels?" 我知道八叉树理论上是如何工作的(从未实现过一个“尚未”)。我想要的是如何获取节点数据的算法方法,并生成一个平滑的,基于三角形的网格,就像Marching Cubes一样(我甚至不知道八叉树是否使用了行进立方体......)

    0热度

    1回答

    我有一个3D网格(稀疏的八叉树),每个叶子(最深的节点)存储一个3d点的颜色。我想将整个八叉树转换为一个3d点的线性数组(顶点缓冲区),可以直接上传到OpenGL。 以一种令人反感的方式,我可以迭代八叉树的所有节点并填充线性数组。 现在,我面临的问题是,当我向稀疏八叉树中添加新的3d点并想更新顶点缓冲区时,我必须遍历完整的八叉树才能将数据导入OpenGL。 有没有人有一个想法如何避免只有几点更新/

    0热度

    1回答

    我有一个问题,给我麻烦;我的目标是创建一个八叉树。 实际上,它非常便宜(但对于我想要用八叉树来说,它已经足够了)。 我的问题是我的std::vector<std::reference_wrapper<Point>>填充了相同的值。所以我的插入创建了一个无限循环。但是这里是代码,也许它会更容易理解。我把我的错误发生的评论。 source.cpp void main(){ std::rand

    0热度

    1回答

    在文章Advanced Octrees 2: node representations中指出: 节点的AABB可以明确地像以前一样被保存,也可以从区位内隐式存储节点的树的深度来计算码。为了从其位置代码中导出节点处的树深度,需要标志位来指示位置代码的结束。没有这样的标志,就不可能区分例如在001和000 001之间。通过使用1位来标记序列的结束1 001可以容易地与1 000 001相区分。使用这样

    0热度

    3回答

    我想使用Cypher在Neo4j中创建八叉树结构。我想创建一个类似于下图的内容:如何实现这一点的 任何想法,而无需创建每个节点的关系“手动”?

    0热度

    1回答

    我已经创建了一个八叉树数据结构,但它并不完美。我正在努力与复制构造函数和析构函数。 这里是我的头文件: class Octree { public: static int lastbranch; static bool utolsoelotti; struct node { int value; node *child[8]; }; Octree(); ~

    1热度

    1回答

    美好的一天,我正在实施一个八叉树。但是,当输入大小超过2时,我一直在收到StackOverflowError。我无法理解为什么出现此错误。八叉树 octree = new Octree(3, new Point(0,0,0)); 的 实例化,其中第一个参数是尺寸和第二参数是根 代码八叉树的人口 public void generateList(int num) { for(int

    0热度

    1回答

    我使用WebGL渲染巨大的3D体积,并在着色器(glsl)中实施光线投射算法。该卷是从生物图像堆栈创建的。我想要做的是在渲染3D音量时保持放大和缩小。但图像堆栈是高分辨率,以获得我需要使用八叉树的实时性能。你有什么建议可以实现吗?