如何将 3D 矩阵展平为数组?
How to flatten 3D matrices into arrays?
我正在尝试将任意大小的 3D 矩阵展平为数组,以便可以根据空间索引 i
、j
和 k
从数组中检索值。显然,每个数组索引都必须是唯一的。我试过将数组索引设置为 int idx = i + width * (j + height * k)
,但这不是唯一的,因为如果 width == 1
,(1,0,0)
和 (0,1,0)
会给出相同的索引。有谁知道索引或展平 3D 矩阵的更好方法吗?
你的公式没问题,因为如果 width == 1
,那么 j
必须总是 0
我正在尝试将任意大小的 3D 矩阵展平为数组,以便可以根据空间索引 i
、j
和 k
从数组中检索值。显然,每个数组索引都必须是唯一的。我试过将数组索引设置为 int idx = i + width * (j + height * k)
,但这不是唯一的,因为如果 width == 1
,(1,0,0)
和 (0,1,0)
会给出相同的索引。有谁知道索引或展平 3D 矩阵的更好方法吗?
你的公式没问题,因为如果 width == 1
,那么 j
必须总是 0