NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Capitolo 70: Rotazioni e pivoting.

 

Finora abbiamo visto la rotazione di oggetti che si trovavano nell'origine; in quel caso, il pivot della trasformazione coincideva con il centro dell'oggetto.

 

Quando però un oggetto viene traslato, bisogna fare attenzione a dove posizionare la trasformazione di rotazione, al fine di evitare effetti indesiderati.

Sostanzialmente, quando bisogna ruotare un oggetto bisogna porsi la seguente domanda: 'rispetto a cosa lo stiamo ruotando' ?

 

 

Ebbene, se dobbiamo ruotare un oggetto intorno al suo centro, possiamo applicare la trasformazione di rotazione direttamente al TG che controlla la posizione dell'oggetto, cioè suo padre.

Nell'esempio 'RotazionePivot1' è possibile vedere un cubo spostato in avanti rispetto al punto di vista dell'osservatore di 5 unità e ruotato, intorno all'asse Y , di π/4 radianti; per far questo, si è reso necessario creare due TG: il primo per traslare il cubo, il secondo per ruotarlo intorno al suo centro.

Per ruotare l'oggetto intorno ad un altro punto, un punto esterno, cosa bisogna fare ?

Bisogna creare una catena di (almeno) due TG ed applicare la trasformazione di rotazione al nonno dell'oggetto, o ancora più in alto, a seconda delle esigenze.

E' possibile creare e collegare, quindi, rotazioni in cascata.

 

 

 

Il nonno dell'oggetto può quindi definire la posizione del pivot nello spazio 3D, mentre suo figlio (il padre dell'oggetto) definisce la posizione dell'oggetto.

Applicando la rotazione sul nodo TG padre, l'oggetto ruoterà su se stesso; applicando la rotazione sul nodo TG nonno, l'oggetto ruoterà intorno al pivot.

Java 3D Pivot per le rotazioni 1

 

Un esempio pratico è  'RotazionePivot2'.

Java 3D Rotazioni con pivoting

Qui abbiamo due coni, posti di fronte all'osservatore, uno a sinistra e l'altro a destra, solo che quello di sinistra è ruotato su se stesso, mentre quello di destra ruota intorno ad un pivot esterno, posizionato nel vertice (la 'punta' del cono).

 

 
Vai all'inizio della pagina