// Based on Listing 5.1, Generative Art float xstart, xnoise, ystart, ynoise, tnoise; float dt, dxy; void setup() { size(300, 300); background(255); xstart = random(10); ystart = random(10); } void draw() { // control spatial increment with mouseX dxy = map(mouseX, 0, width, 0.001, 0.05); // control temporal increment with mouseY dt = map(mouseY, 0, height, 0.001, 0.05); ynoise = ystart; tnoise += dt; for (int y = 0; y <= height; y+=1) { ynoise += dxy; xnoise = xstart; for (int x = 0; x <= width; x+=1) { xnoise += dxy; set(x, y, color(255*noise(xnoise, ynoise, tnoise))); } } } void mouseMoved () { println("dxy:"+dxy+" dt:"+dt); }