首页 > 文档 > noise() 噪音
2017
07-09

noise() 噪音

名称:noise()

 

例子:

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);
  }
}

 

描述:

返回指定坐标处的Perlin噪声值。 Perlin噪声是随机序列发生器,产生比标准random()函数更自然,谐波序列的数字。它是由Ken Perlin在20世纪80年代开发的,并已用于图形应用程序,以生成程序纹理,形状,地形和其他看似有机的形式。

与random()函数相反,Perlin噪声被定义在无限的n维空间中,其中每对坐标对应于固定的半随机值(仅针对程序的寿命而定)。结果值始终在0.0到1.0之间。处理可以根据给出的坐标数量来计算1D,2D和3D噪声。噪声值可以通过移动噪声空间来动画化,如上面的第一个例子所示。第二和第三维也可以解释为时间。

实际的噪声结构与音频信号相似,就功能的使用频率而言。类似于物理学中的谐波概念,Perlin噪声是在几个八度计算的,它们被加在一起以获得最终结果。

调整结果序列的另一种方式是输入坐标的比例。由于函数在无限空间内起作用,所以坐标的值并不重要;只有连续坐标之间的距离很重要(例如在循环内使用noise()时)。通常,坐标之间的差越小,噪声序列越平滑。 0.005-0.03的工作最适合大多数应用,但这取决于使用情况。

在处理中已经对噪声的准确性进行了辩论。为了澄清,它是1983年实施的“经典Perlin噪声”,而不是2001年以来的较新的“单声道噪声”方法。

 

语法:

noise(x)
noise(x, y)
noise(x, y, z)

 

参数:

x float: x-coordinate in noise space  噪声空间中的x坐标
y float: y-coordinate in noise space  噪声空间中的y坐标
z float: z-coordinate in noise space  噪声空间中的z坐标

 

返回:float

 

相关:

noiseSeed()
noiseDetail()
random()



最后编辑:
作者:Hewes
这个作者貌似有点懒,什么都没有留下。

noise() 噪音》有 3 条评论

  1. Pingback 引用通告: noiseDetail() | Processing编程艺术

  2. Pingback 引用通告: random() 随机 | Processing编程艺术

  3. Pingback 引用通告: noiseSeed() | Processing编程艺术

留下一个回复

你的email不会被公开。