Trasformazioni Geometriche
"transform{ ... }"
Trasformazioni legati insieme in fasci.
Con questa parola chiave abbiamo un commando per congiungere
un gruppo di transformazioni come "scale",
"rotate", "translate" e/ou "matrix", in qualsiasi sequenza
a un nuovo commando con una nuova parola chiave per questi transformazioni.
Il sintassi generale per questa parola chiave:
#declare My_Transformation
= transform{ Free sequence of transformations} |
Come usare:
object{ My_Object transform My_Transformation } |
Here a sample:
|
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 {ambient 0.15 diffuse 0.45
reflection 0.40}}
}// end of difference
//----------------------------------------------- end
|
|