首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重建最有效的八叉树结构是什么?

重建最有效的八叉树结构是什么?
EN

Stack Overflow用户
提问于 2013-01-23 00:29:10
回答 1查看 3.8K关注 0票数 2

我编写了一个完整的八叉树实现,没有对三维重建进行太多的优化,但是树结构包含了太多的指针,并且不能支持超过256^3个体素。

理论上,对于一个非树结构,如果我使用一个vector<bool>,它使用每个体素1位,这将是更可接受的,因为非树结构可以支持2k^3和8GB内存。

但是,优化的八叉树结构应该能够做到等于或优于这一点,因为:

  1. 它不应该存储每一个体素,因为压缩可以允许压缩附近,相同值的体素。
  2. 它不应该使用太多的指针,因为指针本身已经使用了相当数量的字节。
  3. 八叉树必须具有相当低的节点/体素比。

对于完全八叉树,节点数可以计算为(s^3 -1) / 7s是体积分辨率,它是2的幂。例如,如果是s = 4,我需要八叉树中的1 + 8 = 9节点来表示4x4x4的体素网格。

有人知道C++中符合这些规范的八叉树实现吗?

EN

回答 1

Stack Overflow用户

发布于 2013-06-18 12:33:45

我认为octrees是可行的,但是只有在需要时才应该构建子节点(至少设置了一个体素)。此外,应该使用压缩。通常相邻的体素具有相同的值,因此RLE压缩看起来很好。在本文中,http://www.terathon.com/voxels/对此作了解释。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14470507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档