Descrizioni ed esempi per POV-Ray di Friedrich A. Lohmüller
Trasformazioni Geometriche con POV-Ray -
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial
  Trasformazioni
  Geometriche
   - Indice

    Trasformazioni
    di Base
    - "translate<  ... >"
    - "rotate<  ... >"
    - "scale<  ... >"
    - Immagine speculare

    Altre
    Trasformazioni
    - "matrix<  ... >"
    - scorrimento elastico
    - transforms.inc

    - "transform{ ...}"
       e "inverse"

    Vettori e
    Trasformazioni

    Insert Menu Add-on
      & download
 
                                           
"transform{ ... }" = Trasformazioni in bundle
"transform{ ... invers }" = Trasformazioni inverse

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:
Sample canoes
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


translate | rotate | scale | matrix | scorrimento elastico | transforms.inc | transform | trasformazioni di vettori
top

© Friedrich A. Lohmüller, 2013
www.f-lohmueller.de