第0章 引言
一维噪声:beginShape()开始绘制图形,在for循环中得到连续的时间点上的噪声值,使得呈现出连续的波形,在循环外改变x轴上的偏移量,改变噪声移动的速度。得到可持续移动的一维噪声。
float xoff = t;
beginShape();
for (int i = 0; i < width; i++) {
float y = noise(xoff)*height*1.2;
xoff += 0.02;
vertex(i,y);
}
endShape();
t+= 0.02;
拓展:按下鼠标时增大递增时间变量,加快移动的速度。
if(mousePressed){
t+= 0.04;
}
二维噪声:二维噪声从线性空间转到了网格空间,在循环中遍历每个像素点并根据noise()函数的返回值,给窗口中的每个像素着上随机的颜色。在循环遍历过程中,如果有水平方向的移动,就以合适的增量递增xoff,如果有竖直方向的移动,就递增yoff,以此来减小参数的跳跃。
float increment = 0.01;
float zincrement = 0.02;
loadPixels();
float xoff2 = 0.0;
for (int x = 0; x < width; x++) {
xoff2 += increment;
float yoff = 0.0;
for (int y = 0; y < height; y++) {
yoff += increment;
float bright = noise(xoff2,yoff,zoff)*255;
pixels[x+y*width] = color(bright,bright,bright);
}
}
updatePixels();
zoff += zincrement;