float|vector pnoise(float x, int px)
float|vector pnoise(vector x, vector p)
float|vector pnoise(vector4 xyzt, vector4 p)
float|vector pnoise(float x, float y, int px, int py)
float|vector pnoise(vector xyz, int px, int py, int pz)
float|vector pnoise(vector4 xyzt, int px, int py, int pz, int pt)
Perlinノイズには2つの形式があります: 1つ目が、N次元空間の至る所でランダムに変化する非周期型ノイズ。 2つ目が、指定した空間の範囲を繰り返す周期型ノイズ。
この関数は周期型ノイズを生成します。noise関数を使えば、非周期型のPerlinノイズを生成します。
色々な関数が4D(vector4引数)、3D(vector引数)、2D(2つのfloat引数)、1D(float引数) positionでノイズの値を返します。ランダムなfloat値または3つのランダムな値のvectorを取得することができます。
“p”のintまたはvectorの引数は、周期の範囲を指定します。例えば、2D画像を作成して、それをタイル状に並べたいとします:
clr = pnoise(X * 4, Y * 5, _4, 5_)
このサンプルでは、Xの範囲が0から4、Yの範囲が0から5、ノイズは、その区間内で周期的です。
周期の引数が0なら、VEXはそれを周期性が ない ものだと扱います。これを使えば、1次元だけのノイズ周期が作られます。
ノイズの分布は、次元に依存しています。高い次元ほど、ノイズ値がガウス分布に近づきます。
See also | |
noise |