7.3.3 Identificatori
di Trasformazione
A volte è utile combinare insieme
molte trasformazioni ed applicarle in diverse circostanze. Un identificatore
di trasformazione può essere usato a tale scopo. Gli identificatori
di trasformazione sono dichiarati nel modo seguente:
#declare IDENTIFICATORE = transform { TRASFORMAZIONE...
}
Dove IDENTIFICATORE è l'identificatore
dichiarato e TRASFORMAZIONE è la combinazione di una o più
traslazioni, rotazioni, ridimensionamenti, specificazioni matrix,
o anche un identificatore di trasformazione dichiarato precedentemente.
Un identificatore di trasformazione è richiamato dalla parola chiave
transform
senza alcuna parentesi come mostrato di seguito:
object {
MioOggetto // Produci una copia di MioOggetto
transform MiaTrasformazione // Applica la trasformazione
translate -x*5 // Poi muovi di 5 unità a sinistra
}
object {
MioOggetto // Produci un'altra copia di MioOggetto
transform MiaTrasformazione // Applica la stessa trasformazione
translate x*5 // Poi muovi di 5 unità a destra
}
Su oggetti CSG ( di Geometria Solida
Costruttiva) estremamente complessi, se applichi trasformazioni dichiarate
invece di singole trasformazioni, rotazioni, ridimensionamenti o istruzioni
matriciali puoi accelerare l'elaborazione del file della scena. La trasformazione
è applicata una volta a ciascun componente. In generale applicare
ogni singola traslazione, rotazione, cambio di dimensione o istruzioni
matriciali, prende molto tempo. Questa procedura accorcia i tempi di elaborazione
e di rendering in entrambe le situazioni.
![]() |
![]() |
![]() |