latticeSines
m=1
function setup(){
createCanvas(windowWidth,windowHeight)
angleMode(DEGREES)
}
function draw(){
t=frameCount*1.5
n=20
stroke(0)
strokeWeight(0.1)
fill(100,200,100);
for(let i=0;i<n;i++){
fill(360*abs(sin(t/5)),200*abs(cos(t/15)),360*abs(cos(t/20)));
circle(t%width,100*sin(t/m)+height-i*height/n,5);
circle(width-t%width,100*sin(t/m)+height-i*height/n,5);
}
}
function mousePressed(){
background(255,255,255,20)
m=m+random(-1,1)
}