createCanvas(windowWidth, windowHeight);
colorMode(HSB, 360, 100, 100, 100);
let circleSize1 = moveSin(height / 40.0, height / 20.0, 2.0);
let circlex1 = moveSin(width / 11 * 5, width / 11 * 6, 0.5);
let circley1 = moveSin(height / 3, height / 3 * 1.2, 0.3);
circle(circlex1, circley1, circleSize1);
let circleSize2 = moveSin(height / 40.0, height / 20.0, 1.5);
let circlex2 = moveSin(width / 11 * 5, width / 11 * 6, 0.8);
let circley2 = moveSin(height / 3, height / 3 * 1.2, 0.6);
circle(circlex2, circley2, circleSize2);
let circleSize3 = moveSin(height / 40.0, height / 20.0, 1.0);
let circlex3 = moveSin(width / 11 * 5, width / 11 * 6, 0.7);
let circley3 = moveSin(height / 3, height / 3 * 1.2, 0.4);
circle(circlex3, circley3, circleSize3);
let circleSize4 = moveSin(height / 40.0, height / 20.0, 0.5);
let circlex4 = moveSin(width / 11 * 5, width / 11 * 6, 0.5);
let circley4 = moveSin(height / 3, height / 3 * 1.2, 0.9);
circle(circlex4, circley4, circleSize4);
let rectX1 = moveSin(width / 11 * 5, width / 11 * 6, 1.0);
let rectY1 = moveSin(height / 9 * 5, height / 9 * 6.5, 0.5);
let rectW1 = moveSin(height / 40.0, height / 15.0, 0.7);
let rectH1 = moveSin(height / 20.0, height / 3.0, 0.3);
rect(rectX1, rectY1, rectW1, rectH1);
let rectX2 = moveSin(width / 11 * 5, width / 11 * 6, 0.5);
let rectY2 = moveSin(height / 9 * 5, height / 9 * 6.5, 0.9);
let rectW2 = moveSin(height / 40.0, height / 15.0, 0.4);
let rectH2 = moveSin(height / 20.0, height / 4.0, 1.0);
rect(rectX2, rectY2, rectW2, rectH2);
let rectX3 = moveSin(width / 11 * 5, width / 11 * 6, 1.0);
let rectY3 = moveSin(height / 9 * 5, height / 9 * 6.5, 0.9);
let rectW3 = moveSin(height / 40.0, height / 15.0, 0.2);
let rectH3 = moveSin(height / 20.0, height / 2.0, 0.5);
rect(rectX3, rectY3, rectW3, rectH3);
let rectX4 = moveSin(width / 11 * 5, width / 11 * 6, 0.6);
let rectY4 = moveSin(height / 9 * 5, height / 9 * 6.5, 0.8);
let rectW4 = moveSin(height / 40.0, height / 15.0, 0.5);
let rectH4 = moveSin(height / 20.0, height / 3.0, 0.3);
rect(rectX4, rectY4, rectW4, rectH4);
function moveSin(min, max, speed) {
let t = radians(frameCount * speed);
let out = map(sin(t), -1.0, 1.0, min, max);
function moveNoise(min, max, speed) {
let t = frameCount / 60 * speed / 4.0;
let out = map(noise(t), 0.0, 1.0, min, max);
function moveBounce(min, max, speed, nPow = 3.0) {
let t = radians(frameCount * speed);
for (let i = 1; i < 2 * nPow; i += 2) {
osc += sin(t * i) / float(i);
let out = map(osc, -1.0, 1.0, min, max);