mirror of
https://github.com/processing/processing4.git
synced 2026-01-30 11:51:54 +01:00
38 lines
760 B
Plaintext
38 lines
760 B
Plaintext
/**
|
|
* Rotate Push Pop.
|
|
*
|
|
* The push() and pop() functions allow for more control over transformations.
|
|
* The push function saves the current coordinate system to the stack
|
|
* and pop() restores the prior coordinate system.
|
|
*/
|
|
|
|
float a; // Angle of rotation
|
|
float offset = PI/24.0; // Angle offset between boxes
|
|
int num = 12; // Number of boxes
|
|
|
|
void setup() {
|
|
size(640, 360, P3D);
|
|
noStroke();
|
|
}
|
|
|
|
|
|
void draw() {
|
|
|
|
lights();
|
|
|
|
background(0, 0, 26);
|
|
translate(width/2, height/2);
|
|
|
|
for(int i = 0; i < num; i++) {
|
|
float gray = map(i, 0, num-1, 0, 255);
|
|
pushMatrix();
|
|
fill(gray);
|
|
rotateY(a + offset*i);
|
|
rotateX(a/2 + offset*i);
|
|
box(200);
|
|
popMatrix();
|
|
}
|
|
|
|
a += 0.01;
|
|
}
|