void setup() { size(480, 360, P3D); } void draw() { background(255); float boxSize = 20; float margin = boxSize * 0.75 * (sin((float)frameCount * PI / 180) + 1); translate(width / 2, height / 2); rotateX(0.2 * (float)frameCount * 2* PI / 180); rotateY(0.15 * (float)frameCount * 2* PI / 180); rotateZ(0.1 * (float)frameCount * 2* PI / 180); for(int i = 0; i < 4; i++){ for(int j = 0; j < 4; j++){ for(int k = 0; k < 4; k++){ pushMatrix(); translate(((float)i - 1.5) * (boxSize + margin), ((float)j - 1.5) * (boxSize + margin), ((float)k - 1.5) * (boxSize + margin)); fill(i * 85, j * 85, k * 85); box(boxSize); popMatrix(); } } } }