expanding-cube-p5/sketch.js

35 lines
702 B
JavaScript

let ma;
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
ma = atan(cos(QUARTER_PI));
}
function draw() {
background(100);
rotateX(-ma);
rotateY(-QUARTER_PI);
let gap = 5 + sin(millis() / 500) * 15
let colorMap = map(gap, -10, 20, 20, 40)
translate(-(gap + 40) * 4.5, -(gap + 50) * 4.5, -(gap + 40) * 4.5);
for (let x = 0; x < 10; x++) {
push()
for (let y = 0; y < 10; y++) {
push()
for (let z = 0; z < 10; z++) {
noStroke()
fill(x * colorMap, y * colorMap, z * colorMap)
box(20)
translate(0, 0, 35 + gap)
}
pop()
translate(0, 35 + gap, 0)
}
pop()
translate(35 + gap, 0, 0)
}
}