roterende bloem terug naar de inleiding
Door het opnieuw doorlopen van de draw lus wordt het assenstelsen weer in de oorspronkelijke stand gezet
In deze schets roteren twee vormen.
Als de schets geen andere, stilstaande of roterende, vormen bevat, zijn popMatrx() en pushMatrix() niet nodig.
Bekijk de roterende bloem
float x;
float y;
float n;
float i = 1;
float j = 1;
void setup() {
//fullScreen();
size(960,540);
x = 0;
y = 0;
n = height/3;
}
void draw() {
background(#59E8D6);
stroke(0);
fill(#E361EA);
pushMatrix();
translate(width/2, height/2);
rotate(radians(i));
i = i + 0.5;
if (i == 360) i = 0;
if (i > 180) fill(#12FF13);
ellipse(x, y, n,n);
ellipse(x+n, y, n,n/2);
ellipse(x-n, y, n,n/2);
ellipse(x, y+n, n/2,n);
ellipse(x, y-n, n/2,n);
popMatrix();
pushMatrix();
translate(width/2, height/2);
rotate(radians(j));
fill(#12FF13);
j = j - 0.5;
if (j == -360) j = 0;
if (j < -180) fill(#E361EA);
line(x+n/2*cos(PI/4), y-n/2*sin(PI/4), x+n*sin(PI/4) ,y-n*cos(PI/4));
line(x+n/2*cos(PI/4), y+n/2*sin(PI/4), x+n*sin(PI/4) ,y+n*cos(PI/4));
line(x-n/2*cos(PI/4), y+n/2*sin(PI/4), x-n*sin(PI/4) ,y+n*cos(PI/4));
line(x-n/2*cos(PI/4), y-n/2*sin(PI/4), x-n*sin(PI/4) ,y-n*cos(PI/4));
ellipse(x-n*cos(PI/4) ,y-n*sin(PI/4), n/3,n/3);
ellipse(x+n*cos(PI/4) ,y+n*sin(PI/4), n/3,n/3);
ellipse(x-n*cos(PI/4) ,y+n*sin(PI/4), n/3,n/3);
ellipse(x+n*cos(PI/4) ,y-n*sin(PI/4), n/3,n/3);
popMatrix();
}