Con questa parola chiave abbiamo un commando per congiungere
un gruppo di trasformazioni come "scale",
"rotate", "translate" e/ou "matrix", in qualsiasi sequenza
a un nuovo commando con una nuova parola chiave per questi trasformazioni.
Sintassi:
#declare Mia_Trasformazione
= transform{ sequenza libera di trasformationi} |
(Trasformazioni qui: translate, rotate, scale, o matrix.)
Come usare:
object{ Oggetto transform Trasformazione }
//o cosi
object{ Oggetto transform {Trasformazione} } |
(con o senza le parentesi interne!)
e la trasformazione inverse:
object{ Oggetto transform {Mia_Trasformazione inverse} } |
(Besogni le parentesi interne!)
Un esampio:
|
Un oggetto chiamato "Canoe" e anche l'appartenente buco nel superficie del'acqua
"Canoe_outside" si vuole posizionare per esempio in tre positioni differenti
con scala cambiato e orientazioni differenti:
Per il primo definiamo el transformazioni, que portanno gli oggetti a le posizioni:
//------------------------------------- Posizioni:
#declare Canoe_Position1
= transform { rotate< 0,30,0> translate<0.0,0,1>}
#declare Canoe_Position2
= transform { rotate<-6,20,0> translate<1.5,0,5>}
#declare Canoe_Position3
= transform { rotate< 5, 0,0> scale 0.55
translate< -0.3,0,-2.00>}
//-------------------------------------------------
Poi le canoi sono messo a questi posizioni:
//---------------------- Canoes at their positions:
object{ Canoe transform Canoe_Position1}
object{ Canoe transform Canoe_Position2}
object{ Canoe transform Canoe_Position3}
//-------------------------------------------------
e poi, per evitare que le canoi sarrano pieno di acqua,
dobbiamo sottrarre i buci appartenente della superficie del'acqua:
//-------------------------------------------------
difference{
plane{<0,1,0>, 0 }
object{Canoe_outside transform Canoe_Position1 }
object{Canoe_outside transform Canoe_Position2 }
object{Canoe_outside transform Canoe_Position3 }
texture{Polished_Chrome
normal { crackle 1 scale 5
turbulence 1
translate<0,0,5>}
finish { diffuse 0.5
reflection 0.40}}
}// end of difference
//----------------------------------------------- end |
|