私のパーリンノイズ関数(0.75の永続性で6オクターブの3Dシンプレックスを合計する)は、double
sの2D配列配列を生成します。
これらの数値はそれぞれ[-1、1]に正規化され、平均は0になります。例外を回避するためにクランプします。これは浮動小数点の精度の問題によるものと思いますが、スケーリング係数は十分に適切であると確信しています。理想的なケースでは、ノイズ出力をまさにこの近傍に制限します。
とにかく、それがすべての詳細です。重要なのは、ここに256x256のノイズの配列があります。
通常の近似のヒストグラムは次のようになります。
Matlablillietest
は、Lillieforsテストを適用して、一連の数値が正規分布に由来するかどうかを判断する関数です。私の結果は繰り返し1でした。これは、これらの数値が正規分布していないことを意味します。
f(x)
ノイズ関数の値のリストに適用すると、結果が均一に分布しているように見える関数が必要です。
この関数をC#で実装可能にし、実行に数分もかからないようにしたいと思います。
繰り返しになりますが、数値がどこから来ているかは問題ではありません(問題は、ある分布を別の分布に変換すること、具体的には通常のような分布を均一に変換することです)。それにもかかわらず、私のノイズ関数の実装はこれとこれに基づいています。上記の値の配列はここにあります。