Processing (BETA) version 135+ のリファレンスです。 旧バージョン使用者はソフトウェア内のリファレンスを参照してください。
この文書は Processing のAPIリファレンスを日本語に訳したものです。 最新の内容は 英語版 で確認して下さい。


Name

noise()

Examples
float xoff = 0.0;
void draw() 
{
  background(204);
  xoff = xoff + .01;
  float n = noise(xoff) * width;
  line(n, 0, n, height);
}

float noiseScale=0.02;
void draw() {
  background(0);
  for(int x=0; x < width; x++) {
    float noiseVal = noise((mouseX+x)*noiseScale, 
                            mouseY*noiseScale);
    stroke(noiseVal*255);
    line(x, mouseY+noiseVal*80, x, height);
  }
}
Description 指定した座標に Perlin ノイズを返します。 Perlin ノイズは標準的な random() 関数と比較してより自然な順序で、 調和の取れた数値を生成するランダムシーケンスジェネレータです。 1980年代に Ken Perlin によって開発されました。 手続き型テクスチャ(Procedural Texture)、自然運動、図形、地形などを作り出すグラフィックアプリケーションで使用されています。

Perlin ノイズと random() との違いは、 座標の各組が固定された semi-random 値と一致する場合、 無限のn次元空間で定義されることです(プログラムの寿命のためだけに固定されます)。 結果として値は常に 0.0 から 1.0 の間の値になります。 Processing は与えられた座標数に応じて 1D, 2D, 3D ノイズを計算することができます。 ノイズ値は上記の例で実証されているようにノイズ空間を通って移動することにより変動する場合があります。 第2、第3次元は時間と解釈することもできます。

機能の周波数の使用では、実際のノイズは音声信号と同じように構築されます。 物理学の音響の概念と同様に Perlin ノイズはいくつかのオクターブを合成して結果を得ます。

結果として得られるシーケンシャルの特性を調整するもう1つの方法は入力座標の大きさです。 無限の空間内で動作しているなら、座標の値はたいして重要ではありません。 連続した座標の間隔だけです(例えば、ループ内で noise() を使用するとき)。 一般的に座標間の差が小さいほど結果として生じるノイズシーケンスは滑らかになります。 0.005-0.03 のステップは大部分のアプリケーションで使われています。 しかし、これは使い方しだいで異なるでしょう。
Syntax
noise(x)
noise(x, y)
noise(x, y, z)
Parameters
x float: x coordinate in noise space
y float: y coordinate in noise space
z float: z coordinate in noise space
Usage Web & Application
Related noiseDetail()
random()
Updated on May 01, 2007 12:34:46pm PDT

Creative Commons License

この文書の原文はクリエイティブ・コモンズ(Creative Commons)Attribution-Noncommercial-Share Alike(表示・非営利・継承) ライセンスで公開されています。 このライセンスは同一の許諾条件の下で原作者のクレジットを表示し、また作品を営利目的で利用しなければ、作品に対して複製、頒布、展示、実演、二次的著作物の作成が行えることを示します。

© 2007 Processing.org