Trasformazioni

Le trasformazioni avvengono in funzione della posizione dell’oggetto rispetto all’origine.
Le trasformazioni 3d richiedono l’uso del parametro P3D oppure OPENGL in combinazione con size().
Le trasformazioni si applicano a tutto quello che succede dopo la chiamata di una funzione e chiamate successive accumulano i loro effetti.
Se una funzione è chiamata all’interno di draw(), la sua trasformazione sarà azzerata quando draw() ricomincia la sua esecuzione.
Gli effetti sono influenzati dall’uso delle funzioni pushMatrix() e popMatrix().

translate()

Specifica lo spiazzamento di oggetti all’interno della finestra grafica.
Il parametro x specifica la traslazione destra/sinistra, il parametro y specifica la traslazione alto/basso, e il parametro zspecifica la traslazione avanti/indietro rispetto allo schermo.
Chiamare translate(50, 0) e poi translate(20, 0) è lo stesso che translate(70, 0).

rotate()

Ruota un oggetto della quantità specificata con il parametro angle.
Gli angoli devono essere specificati in radianti (con valori da 0 a 2*PI) oppure convertiti in radianti con la funzioneradians().
Chiamare rotate(PI/2) e poi rotate(PI/2) è lo stesso che rotate(PI).
Tecnicamente, rotate() moltiplica l’attuale matrice di trasformazione per una matrice di rotazione.

rotateX()

Ruota un oggetto intorno all’asse X della quantità specificata con il parametro angle.

rotateY()

Ruota un oggetto intorno all’asse Y della quantità specificata con il parametro angle.

rotateZ()

Ruota un oggetto intorno all’asse Z della quantità specificata con il parametro angle.

scale()

Aumenta/diminuisce la dimensione di un oggetto espandendo/contraendo i sui vertici.
I valori di scala sono specificati come percentuali.
La chiamata di funzione scale(2.0) aumenta le dimensioni di una figura del 200%.
Chiamare scale(2.0) e poi scale(1.5) è lo stesso che scale(3.0).

pushMatrix()
popMatrix()

Per capire pushMatrix() e popMatrix() è necessario capire il concetto di stack.
La funzione pushMatrix() salva il sistema di coordinate attuale nello stack e popMatrix() ripristina il sistema di coordinate precedente. pushMatrix() e popMatrix() sono utilizzate insieme alle altre funzioni di trasformazione e possono essere annidate per controllare l’ambito delle trasformazioni.

applyMatrix()

resetMatrix()

printMatrix()