// just playing with keijiro's processing sketch
// https://github.com/keijiro/sketches2016/blob/master/Cubes3/Cubes3.pde
function setup(){
createCanvas(500, 500, WEBGL);
colorMode(RGB, 1);
perspective(0.5, 1, 0.1, 100);
}
function draw(){
var frames = 24 * 10;
var t = frameCount / frames;
background(0.1);
noStroke();
camera(0, 0, 25 + sin(PI * 2 * t) * 3);
rotateX(0.5 - 0.05 * sin(PI * 4 * t));
rotateY(t * PI);
var columns = 8;
var c0 = color(0.3, 0.3, 0.3);
var c1 = color(1, 1, 1);
for(var ix = 0; ix < columns; ix++){
var x = ix - 0.5 * columns + 0.5;
for(var iy = 0; iy < columns; iy++){
var y = iy - 0.5 * columns + 0.5;
for(var iz = 0; iz < columns; iz++){
var z = iz - 0.5 * columns + 0.5;
var d = sqrt(x * x + y * y + z * z);
var s = abs(sin(d - t * 4 * PI));
push();
translate(x * 10, y * 10, z * 10);
fill(lerpColor(c0, c1, s * s * s));
box(s * 10);
pop();
}
}
}
}
console