当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。