【发布时间】:2012-03-22 19:14:13
【问题描述】:
我有一个包含数百万个点的 3D 点云。我想将这些点存储在 3D 体素空间中。沿坐标轴的体素数超过3000(x)、4000(y)、1500(z),共计3000*4000*1500体素。我需要存储在体素中;最大点数、最小高度、最大高度和质心。然而,90% 的体素是空的。所以它需要大量的内存来存储它。实际上,我想稍后搜索每个体素的 26 个相邻体素。那么,在体素空间中存储这些数据并有效访问这些数据的最佳方法是什么?
创建一个多维数组,在性能方面不是最好的解决方案...请任何提示?
【问题讨论】:
-
在 90% 为空时,您仍有 1.800.000.000 个体素。无论如何,这不会飞。您可以沿一维存储体素的运行,但查找成本很高。
-
@leftaroundabout,它可能是 4D 体素,还是不是?
-
@usr voxel = 体积像素,体积定义为 3D
-
体积未定义为 3D。至少根据维基百科。
-
使用几何数据时,0D 是空间中的任意点,可以驻留在任意维度空间中;即使是用作位置而不是具有大小的方向的vector2,vector3等也是0D空间。另一个词 0D 空间是空间中的任意点。 1D 空间是两个点(距离)之间的连接,它可以是空间中的 2D 或 3D 矢量,其中方向和/或大小被认为是有效的重要信息。另一个词 1D 是到语言环境或两点之间的距离或测量场...
标签: c++ 3d computational-geometry