/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://studio.sketchpad.cc/sp/pad/view/ro.g88sMXaoJmo/rev.8
*
* authors:
* GoToLoop
* license (unless otherwise specified):
* creative commons attribution-share alike 3.0 license.
* https://creativecommons.org/licenses/by-sa/3.0/
*/
// This sketch builds on a prior work, "Whorld", created by Antonio Rodriguez
// http://studio.sketchpad.cc/sp/pad/view/ro.9j46BQmsNa0A3/rev.140
// This sketch builds on a prior work, "P5CwB", created by caleb mascarenhas & [unnamed author]
// http://studio.sketchpad.cc/sp/pad/view/ro.9q1c4ubUSz-1o/rev.408
import processing.opengl.*;
static float ang1, ang2;
static final float vel = 2e-2f;
static int rd, gr, bl;
static byte i;
static final byte nq = 5;
static final short al = 230;
final void setup() {
size(600, 600, OPENGL);
smooth();
colorMode(HSB);
frameRate(40);
}
final void draw() {
background(#98DBE0);
lights();
noStroke();
pointLight(51, 102, 126, 35, 40, 36);
for (i=0; i<nq; i++) {
rd = i*20;
gr = i*30;
bl = i*40;
fill(rd, gr, bl, al);
pushMatrix();
translate(width/2, height/2, -20);
rotateX(ang1+i);
rotateY(ang2-i);
rotateZ(ang1-i);
box(300);
popMatrix();
}
ang1 += vel*3;
ang2 -= vel*1.5f;
}