C'est possible avec cette commande de grouper
des transformations tels que "scale", "rotate", "translate" et /ou "matrix",
dans toute sorte de séquence en un seul mot pour toutes ces transformations.
La syntaxe de pov dans ce cas est .
Syntaxe :
#declare Mon_Transformation
= transform{ Séquence libre de transformations} |
(Transformations ici: translate, rotate, scale, ou matrix.)
On l'utilise ainsi :
object{ Mon_Objet transform Mon_Transformation }
//ou avec
object{ Mon_Objet transform {Mon_Transformation} } |
(avec ou sans les parentesi intérieures !)
et la transformation inversée:
object{ Mon_Objet transform {Mon_Transformation inverse} } |
(Bisogni all'interno delle parentesi intérieures !)
Voici un exemple :
|
Un objet appelé "Canoe" ainsi que son »trou« approprié à la surface
de l'eau "Canoe_outside" doit être placé dans 3 différentes positions,
de tailles différentes / positions / orientations:
Pour ceci, définir en premier les transformations, qui mènent
aux positions souhaitées :
//------------------------------------- Positions:
#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>}
//-------------------------------------------------
Ici nous avons les canoes :
//---------------------- Canoes at their positions:
object{ Canoe transform Canoe_Position1}
object{ Canoe transform Canoe_Position2}
object{ Canoe transform Canoe_Position3}
//-------------------------------------------------
et ici dans l'eau, les trous appropriés :
//-------------------------------------------------
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 |
|