C++ 具有三维阵列式界面的八叉树

C++ 具有三维阵列式界面的八叉树,c++,arrays,voxel,octree,C++,Arrays,Voxel,Octree,我想使用八叉树来节省空间,因为我有一堆3d数组,其中包含大量相同的数据(体素块,其中块仅为uint16)。我见过用于光线遍历或空间分区的八叉树的实现,但它们都包含八叉树中心和节点大小,我不需要这些,我只需要压缩数据存储。我目前正在研究莫顿代码,但我甚至不确定这样做是否正确。我做了我想要的,大小可以从拆分量计算出来。 在内存中,对于磁盘,我计划将多个块组合成“大块”,然后lz压缩它;每个都是一个值(如果整个八分之一被该值占用)或指向另8个元素的指针,每个都是一个值(如果整个八分之一被该值占用)或指

我想使用八叉树来节省空间,因为我有一堆3d数组,其中包含大量相同的数据(体素块,其中块仅为uint16)。我见过用于光线遍历或空间分区的八叉树的实现,但它们都包含八叉树中心和节点大小,我不需要这些,我只需要压缩数据存储。我目前正在研究莫顿代码,但我甚至不确定这样做是否正确。

我做了我想要的,大小可以从拆分量计算出来。

在内存中,对于磁盘,我计划将多个块组合成“大块”,然后lz压缩它;每个都是一个值(如果整个八分之一被该值占用)或指向另8个元素的指针,每个都是一个值(如果整个八分之一被该值占用)或指向另8个元素的指针。。。你明白我的意思了。八叉树是值的3d数组的压缩数据存储。我知道,我不知道如何制作接口来访问像3d数组这样的八叉树节点。value=get(x,y,z),返回叶节点最近的值。