3D パーリン ノイズ アルゴリズムを低次元に適応させようとしていますが、その理由がよくわからないため、勾配関数に問題があります。
hash
元の Perlin 勾配関数は、aと 3 次元座標の4 つの引数を取ります(x, y, z)
。以下に示すように、関数の結果は の値に基づいて返さhash mod 16
れます。
0
:x + y
1
:-x + y
2
:x - y
3
:-x - y
4
:x + z
5
:-x + z
6
:x - z
7
:-x - z
8
:y + z
9
:-y + z
10
:y - z
11
:-y - z
12
:y + x
13
:-y + z
14
:y - x
15
:-y - z
からの戻り値は一種のパターン0
を作成します。これは、すべての組み合わせが 1 回表されるためです。11
ただし、最後の 4 つは重複しています。最後の 4 つの戻り値に適合するように選択されたのはなぜですか? (x, y)
また、2 次元と 1次元の類似のケースは何でしょう(x)
か?