noisewave.pde

来自「This is processing for java examples.」· PDE 代码 · 共 61 行

PDE
61
字号
/** * Noise Wave * by Daniel Shiffman.   *  * Using Perlin Noise to generate a wave-like pattern.  */ int xspacing = 8;   // How far apart should each horizontal location be spacedint w;              // Width of entire wavefloat yoff = 0.0f;        // 2nd dimension of perlin noisefloat[] yvalues;          // Using an array to store height values for the wave (not entirely necessary)void setup() {  size(200,200);  frameRate(30);  colorMode(RGB,255,255,255,100);  smooth();  w = width+16;  yvalues = new float[w/xspacing];}void draw() {  background(0);  calcWave();  renderWave();}void calcWave() {  float dx = 0.05f;  float dy = 0.01f;  float amplitude = 100.0f;  // Increment y ('time')  yoff += dy;  //float xoff = 0.0;  // Option #1  float xoff = yoff; // Option #2  for (int i = 0; i < yvalues.length; i++) {    // Using 2D noise function    //yvalues[i] = (2*noise(xoff,yoff)-1)*amplitude; // Option #1    // Using 1D noise function    yvalues[i] = (2*noise(xoff)-1)*amplitude;    // Option #2    xoff+=dx;  }}void renderWave() {  // A simple way to draw the wave with an ellipse at each location  for (int x = 0; x < yvalues.length; x++) {    noStroke();    fill(255,50);    ellipseMode(CENTER);    ellipse(x*xspacing,width/2+yvalues[x],16,16);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?