Trasformazioni temporanee

Le trasformazioni si possono impostare anche temporaneamente.

    function setup() {
    background( 200 );

    translate( 50, 50 );

    push();
    rotate( 0.4 );
    ellipse( 0,0, 50,10 );
    pop();

    push();
    rotate( 0.8 );
    ellipse( 0,0, 50,10 );
    pop();
}
  

  

Salva le trasformazioni attive: in questo caso il solo translate(50,50). Le trasformazioni successive si sommeranno comunque a quelle attive.


  

Ripristina le trasformazioni a quelle attive al momento in cui è stato chiamato il push(). Ogni rotate() riparte così dall’orientamento iniziale e non si somma a quello precedente.

Provare ad aggiungere translate( 25, 0 ); dopo ogni rotate(), anche con valori diversi da 25, per disporre le forme su una circonferenza, come i petali di un fiore.

Provare a sostituire i due gruppi con un ciclo for che ne esegue uno solo per 8 volte, cambiando a ogni ciclo l’angolo di rotazione:


  

 

Le istruzioni push() e pop() salvano e ripristinano anche gli attributi grafici.