/** * Rotate 1. (MODIFIED) * * Rotating simultaneously in the X and Y axis. * Transformation functions such as rotate() are additive. * Successively calling rotate(1.0) and rotate(2.0) * is equivalent to calling rotate(3.0). */ float a = 0.0; float b = 0.0; float c = 0.0; float rSize; // rectangle size float centerPointX; float centerPointY; void setup() { size(1280, 720, P3D); rSize = width / 30; centerPointX = width/4; centerPointY = height/4; noStroke(); //stroke(0, 255, 0); background(255, 255, 255); fill(130, 224, 43, 50); smooth(); } void draw() { background(255); a += 0.005; b += 0.003; c += 0.001;; if(a > TWO_PI) { a = 0.0; } if(b > TWO_PI) { b = 0.0; } if(c > TWO_PI) { c = 0.0; } translate(centerPointX, centerPointY); rotateX(a); rotateY(a * 2.0); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(a * 3.001); rotateY(a * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b); rotateY(b * 2.0); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 1.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(a * 3.001); rotateY(a * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b); rotateY(b * 2.0); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 1.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(a * 3.001); rotateY(a * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b); rotateY(b * 2.0); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 1.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(a * 3.001); rotateY(a * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b); rotateY(b * 2.0); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 1.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(a * 3.001); rotateY(a * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b); rotateY(b * 2.0); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 1.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(b * 1.001); rotateY(b * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); translate(20*(a+1), 10*(a+1)); rotateX(c * 3.001); rotateY(c * 2.002); rect(-rSize, -rSize, rSize*2, rSize*2); if (mousePressed == true) { saveFrame("output-#######.png"); } }