當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Processing noiseDetail()用法及代碼示例


Processing, noiseDetail()用法介紹。

用法

  • noiseDetail(lod)
  • noiseDetail(lod, falloff)

參數

  • lod (int) 噪聲使用的八度音階數
  • falloff (float) 每個八度的衰減因子

返回

  • void

說明

調整由 Perlin 噪聲函數產生的特征和細節級別。與物理學中的諧波類似,噪聲是在幾個八度音階上計算的。較低的八度音階對輸出信號的貢獻更大,因此定義了噪聲的整體強度,而較高的八度音階在噪聲序列中創建了更細粒度的細節。



默認情況下,噪聲是在 4 個八度音程上計算的,每個八度音程的貢獻正好是其前一個八度音程的一半,從第一個八度音程的 50% 強度開始。這個衰減量可以通過添加一個額外的函數參數來改變。例如,衰減因子 0.75 意味著每個八度音程現在將具有前一個較低八度音程的 75%(減少 25%)的影響。雖然 0.0 和 1.0 之間的任何數字都是有效的,但請注意,大於 0.5 的值可能會導致 noise() 返回大於 1.0 的值。



通過更改這些參數,noise() 函數創建的信號可以適應非常具體的需求和特征。

例子

float noiseVal;
float noiseScale=0.02;

void draw() {
  for (int y = 0; y < height; y++) {
    for (int x = 0; x < width/2; x++) {
      noiseDetail(3,0.5);
      noiseVal = noise((mouseX+x) * noiseScale, (mouseY+y) * noiseScale);
      stroke(noiseVal*255);
      point(x,y);
      noiseDetail(8,0.65);
      noiseVal = noise((mouseX + x + width/2) * noiseScale, 
                       (mouseY + y) * noiseScale);
      stroke(noiseVal * 255);
      point(x + width/2, y);
    }
  }
}

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 noiseDetail()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。