如何将 3D 矩阵展平为数组?

How to flatten 3D matrices into arrays?

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

你的公式没问题,因为如果 width == 1,那么 j 必须总是 0