var N_LAYERS = 30;
var N_COLS = 20;
var nodes = [];
var timer = 0, step = 0, MAX_STEPS = N_LAYERS;
function newBrushStroke(layer, x, y) {
var h = random(40, 50);
var w = random(10, 30);
var r = 10 + 20*abs(sin(millis()*0.001));
var stepLayer = (step + layer);
if(stepLayer > N_LAYERS) {
stepLayer -= N_LAYERS;
}
fill(256/N_LAYERS * stepLayer + random(-1,1));
var x1 = x - w/2 - random(-r, r);
var y1 = y - h/2 - random(-r, r);
var x2 = x + w/2 - random(-r, r);
var y2 = y - h/2 - random(-r, r);
var x3 = x + w/2 - random(-r, r);
var y3 = y + h/2 - random(-r, r);
var x4 = x - w/2 - random(-r, r);
var y4 = y + h/2 - random(-r, r);
quad(x1, y1, x2, y2, x3, y3, x4, y4);
}
function setup() {
createCanvas(windowWidth, windowHeight);
background(255);
colorMode(RGB, 255, 255, 255, 1);
noStroke();
// noLoop();
}
function draw() {
time = frameCount/100;
if(millis() - timer
>= 50) {
step += 1;
if(step > MAX_STEPS) {
step = 0;
}
for(var i=0; i<N_LAYERS; i++) {
strokeWeight(random(0,1));
var y = windowHeight/N_LAYERS * i;
for(var j=0; j<N_COLS; j++) {
var x = 25 + windowWidth/N_COLS * j;
newBrushStroke(i, x, y);
}
}
timer = millis();
}
}
* {
margin: 0;
}
console