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

"rotate" Indice Trasformazioni "matrix" - shearing, etc.

Trasformazioni Geometriche

"scale"  
cambiare la scala, anche relativo di una direzione di coordinate
e anche riflettere a un piano di coordinate


Sample scale 640x480

scale = cambiare la scala,
anche relativo di una direzione di coordinate

Sintassi generale:
scale <sx,sx,sz>
Questa corrispondenza causa una moltiplicazione (ingrandimento ou riduzione della scala) delle dimenzioni di un oggetto in tutte le tre direzioni di base. Con questo i valori x (orizzontale) sono moltiplicati con sx, i valori y (verticale) sono moltiplicati con sy e i valori z (profondità) sono moltiplicati con sz.
Riflettere a un piano di coordinate:
scale <-1,1,1>
Questa corrispondenza causa che un oggetto è riflesso al piano coordinate xy in direzione x.

Esempi :
"scale<1,1,1>" fa niente, tutto si vede nella scala 1:1.
"scale<1,0.5,1>" i valori in direzione y sono ridotto a media.
"scale<2,1,1>" i valori in direzione x sono allargati a doppio.
"scale<1,1,-1>" gli oggetti sono riflessi al piano xy in direzione x.

Attenzione:
L'applicazione passo per passo di
rotazione, traslazione e cambiare la scala ("scale")
generalmente non è intercambiabile!

Il resultato no è lo stesso quando scambiamo la sequenza! Se facciamo i descrizioni di scena senza prudenza, questo è un'occasione di frustrazioni enorme!!! .

//per l'immagine in alto:
#declare RedBall =
 sphere{<0,0,0>,1
      texture{pigment{color Red}
         finish {ambient 0.15 diffuse 0.85 phong 1}}}
//------------------------------- row in z direction --------------
object{RedBall scale <1.00,1,1> translate <0,0, 0>} //At zero!!!
object{RedBall scale <0.67,1,1> translate <0,0,-3>}
object{RedBall scale <0.33,1,1> translate <0,0,-6>}
object{RedBall scale <1.50,1,1> translate <0,0, 3>}
object{RedBall scale <2.50,1,1> translate <0,0, 6>}
// ------------------------------- row  in x direction -------------
object{RedBall scale <1,4.6,1> translate <-6,0, 0>}
object{RedBall scale <1,2.0,1> translate <-3,0, 0>}
object{RedBall scale <1,0.6,1> translate < 3,0, 0>}
object{RedBall scale <1,0.3,1> translate < 6,0, 0>}
//------------------------------------------------------------------

Consiglio:
Possiamo usare "translate" anche con altri oggetti come sorgenti di luce ("light_source"), testure ("texture"), disegni di colori ("pigment") e con strutture simulate della superficie ("normal").


"rotate" Indice Trasformazioni "matrix" - shearing, etc.

© Friedrich A. Lohmüller, 2004
email email: (legacy email redacted)
homepage:www.f-lohmueller.de