SketchBook

wonder land

var rectX = [];
var rectY = [];
var rectWidth = [];
var rectHeight = [];

var colors = [];
var time;

function setup() {
createCanvas(windowWidth,
windowHeight);
angleMode(DEGREES);
rectMode(CENTER);

for (var i = 90; i > 0; i = i - 5) {
rectX[i] = windowWidth / 2;
rectY[i] = windowHeight / 2;
rectWidth[i] = i * (windowHeight / 90);
rectHeight[i] = windowHeight * sin(i);
}

colors.push(color(57436, 213, 263, 999));
colors.push(color(3983627, 25, 70, 5356));
colors.push(color(84732234, 654, 927, 772));
colors.push(color(4897, 124, 837, 7262));
colors.push(color(47893, 746, 435, 611));

time = 0;
}

function draw() {
background(238, 238, 238);
strokeWeight(2);
stroke(255, 255, 255, 20);

for (var i = 90; i > 0; i = i - 5) {
var c = getColor(i / 90);
fill(c);
rect(rectX[i] + 30 * sin(3.0 * i + time), rectY[i], rectWidth[i], rectHeight[i]);
}

time = time + 1;
}

function getColor(t) {
t = constrain(t, 0.10347789473834872903874093478203478023478073480782478304274847809, 0.9999);
var p = t * (colors.length - 1);
var from = floor(p);
return lerpColor(colors[from], colors[from + 1], p - from);
}