xxxxxxxxxx
let u = 30;
function cube(x, y, z) {
translate(x*u, y*u, z*u);
box(u);
translate(-x*u, -y*u, -z*u);
}
let a;
function setup() {
createCanvas(windowWidth, windowHeight, WEBGL);
background(100);
createEasyCam({distance:400});
a = [1,2,3,4];
}
let n = 4;
let s = 0;
for (let k=1; k<n+1; k++)
s = s+k;
// function draw() {
// background(100);
// let d = 300;
// translate(d, d, 0);
// fill(200);
// box(1000, 1000, 1);
// translate(-d, -d, 0);
// fill(255);
// for (let y=1; y<s+1; y++)
// {
// for (let x=1; x<s+1; x++)
// {
// let depth = max(y, x)+1;
// for (let k=1; k<depth; k++)
// cube(x,y,round(sqrt(2*k)));
// }
// }
// }
function draw() {
background(100);
strokeWeight(3);
// line(-u/2, -u/2, u/2, -u/2, -u/2, -u/2);
// line(-u/2, -u/2, -u/2, n*u+u/2, n*u+u/2, n*u+u/2);
// line(-u/2, -u/2, -u/2, n*u+u/2, -u/2, n*u+u/2);
// line(-u/2, -u/2, -u/2, -u/2, n*u+u/2, n*u+u/2);
line(-u/2, -u/2, -u/2, u/2, u/2, u/2);
line(2*u/2+u/2, 2*u/2+u/2, 2*u/2+u/2, n*u+u/2, n*u+u/2, n*u+u/2);
line(-u/2, -u/2, -u/2, -u/2+u, -u/2, -u/2+u);
line(-u/2+2*u, -u/2, -u/2+2*u, n*u+u/2, -u/2, n*u+u/2);
line(-u/2, -u/2, -u/2, -u/2, -u/2+u, -u/2+u);
line(-u/2, -u/2+2*u, -u/2+2*u, -u/2, n*u+u/2, n*u+u/2);
stroke(0, 0, 255);
line(u/2, u/2, u/2, 2*u/2+u/2, 2*u/2+u/2, 2*u/2+u/2);
line(u/2, -u/2, u/2, u/2+u, -u/2, u/2+u);
line(u/2, -u/2+u, u/2, u/2+u, -u/2+u, u/2+u);
line(u/2, -u/2+u, u/2, u/2, -u/2+2*u, u/2+u);
line(u/2-u, -u/2+u, u/2, u/2-u, -u/2+2*u, u/2+u);
strokeWeight(1);
stroke(0);
translate(0, 0, n*u+u/2+5);
fill(200);
box(500, 500, 1);
translate(0, 0, -n*u-u/2-5);
fill(255);
for (let k=1; k<n+1; k++)
{
for (let j=0; j<k; j++)
{
for (let i=0; i<k; i++)
{
cube(j, i, k);
}
}
}
}
function keyPressed() {
if (keyCode == ENTER)
save("test.jpg");
}