2011-09-05 137 views

回答

0

您的实现依赖 -

如果您使用辛树细分空间,那么通常你会在它扔了一堆的的V3s,一旦一个节点具有比它一定的积分的更多,你细分,并重新分配他们。

如果您正在寻找一种方法来存储我的世界风格体素,那么您将细分,直到您达到1:1的体素大小,并将数据存储在叶节点中。

数据来自哪里取决于您 - 八叉树是一种存储,操作和搜索数据的方式,而不是文件格式。

0

八叉树中的每个节点都有一个点。这些节点被分解成(你猜对了)八个孩子节点。这些节点又包含每个单个点。

一般情况下,你不加你的顶点所有到八叉树,除非你正在做一些不敬虔的碰撞检测,其中的每一个顶点计算......不,你不能让它再快,但它仍然比由较少数量的节点给出的近似值慢。 (几乎所有的情况都是如此,近似速度更快)。

同样,如果你在做高质量的八进制渲染,应该可能有多少个节点。

现在到了答案:

  1. 创建边框将其包围从中央根节点。

  2. 插入每个点。这应该在相关的方向上细分八叉树。

    1. 当您插入这些点时,数据将进一步向下移动到更密切地模拟您的模型的叶节点中。
    2. 此外,细分时,每个后续节点的边界框减半。
  3. 如果你真的要保存它,你可以保存顶点(编号),然后让你的程序写下来节点之间的各种连接和顶点到磁盘上,在那里他们将能够在大致相同的时间从头开始构建八叉树。

无论如何,我希望我回答你的问题。