createCanvas(w, h, WEBGL);
colorMode(HSB, 360, 100, 100, 100);
ortho(-w / 2, w / 2, -h / 2, h / 2, -8000, 8000);
createVector(101, 25, 65),
createVector(28, 55, 75),
createVector(208, 36, 65),
createVector(207, 14, 85),
createVector(101, 25, 65),
for (let i = 0; i < 4; i++) {
let sx = sin((TWO_PI / 4) * i) * (w / 3);
let sy = cos((TWO_PI / 4) * i) * (w / 3);
rotateY(frameCount / 100);
gradate(d, 600, c[i], c[i + 1]);
function gradate(wid, num, color1, color2) {
for (let i = 0; i < num; i++) {
let color = createVector(
map(i, 0, num, color1.x, color2.x),
map(i, 0, num, color1.y, color2.y),
map(i, 0, num, color1.z, color2.z)
rotateY(i / 150 + frameCount / 20);
stroke(color.x, color.y, color.z);
let a1 = sin((TWO_PI / 2) * i) * wid;
let a2 = cos((TWO_PI / 2) * i) * wid;
let a3 = map(i, 0, num, -wid, wid);
triangle(-a1, -a1, -a2, a3, a2, a3);