[0,N[ の整数座標を持つ固定サイズ (N) 3D 空間がある場合、それらの (x,y,z) 座標を単一の線形インデックス [0,N*N*N[] に変換するにはどうすればよいですか? 、1 つの座標 (x、y、z) から次の隣接座標 (x-1、y、z)、(x+1、y、z)、... (26 の隣接座標) までの平均距離が最小化され、比較されます。単純な「インデックス = x + N*y + N*N*z」式に?
私の場合、N は固定されていて大きすぎないため、高価な数式は許容できるソリューションです。そのため、マッピングを 1 回計算して、高価な場合は結果をキャッシュすることができます。
これが必要な理由は、近接度に基づいて同じ値を圧縮しようとしているためです。そのため、隣接する値を配列内で隣り合わせに配置すると、圧縮率が向上します。
いくつかのJavaコードを指すことができれば、さらに良いでしょう...