Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmüller
Transformations géométriques avec POV-Ray -
English English English
Italiano Italiano
Deutsch Deutsch

Page d'Accueil
- POV-Ray Tutoriel
  Transformations
  géométriques
   - Index

    Transformations
    élémentaires
    - "translate<  ... >"
    - "rotate<  ... >"
    - "scale<  ... >"
    - Réflexion

    Autres
    Transformations
    - "matrix<  ... >"
    - Cisaillement
    - transforms.inc

    - "transform{ ...}"
       et "inverse"

    Vecteurs et
    Transformations

    Insert Menu Add-on
      & téléchargement
 
                                           

"scale" ( = échelle) et Réflexion
Relative également aux coordonnées de direction unique!


Sample scale 640x480
#declare RedBall =
sphere{<0,0,0>,1
       texture{ pigment{ color rgb<1,0,0>}
                finish { diffuse 0.9 phong 1}}}
//--------------------- row in z direction ------
object{RedBall scale<1.00,1,1> translate<0,0, 0>}
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>}
//-----------------------------------------------
scale = échelle,
changement de taille

syntaxe générale :
scale <sx,sy,sz>
celle-ci produit une multiplication (augmentation ou réduction de taille) des dimensions d'un objet, dans les 3 directions de base. Ce qui fait que les »x« (longueur) sont multipliés par sx, les »y« (hauteur) par sy et les »z« (profondeur) par sz.
Sample mirror

#declare Wheel =
union{
 // pour details voyez mes examples de POV-Ray scènes
 }// end of object "Wheel"
//--------------------- 2 Wheels  ------
object{Wheel translate<1,0, 0>}
object{Wheel translate<0,0,-3> scale <-1,1,1>}
//-----------------------------------------------
Miroir d'un plan de coordonnées :
scale <-1,1,1>
avec ces valeurs un objet se reflètera dans les »yz« du plan dans la direction »x«.

Exemples:
"scale<1,1,1>" ne produit rien, ça signifie que tout est indiqué en 1:1.
"scale<1,0.5,1>" réduit la valeur d'1/2 dans la direction »y«??
"scale<2,1,1>" expands the values in x direction to double width.
"scale<-1,1,1>" mirrows an object at the yz plane in x direction.
Attention : scale <2,0,0> par exemple provoque un "Parse Warning: Illegal Value: Scale X by 0.0. Changed to 1.0."
Cela signifie: Changé à scale <2,1,1> parce que la multiplication d'un élément avec la valeur null n'a aucun sens !
Il est recommandé d'éviter avec scale les abréviations x, y, z. ( En POV-Ray: x = <1,0,0>, y = <0,1,0>, z = <0,0,1> ).

Attention! Attention:
L'application l'un derrière l'autre de
rotation, translation and rétrécissement ("scale")
en général n'est pas interchangeable !

On n'obtient pas le même résultat si on les mélange » tout dépend de la façon de les appliquer ! Quand on construit des scènes trop hardues, on obtient des sources d'erreurs et de grandes frustrations !!! .

Astuce :
On peut aussi utiliser "scale" avec d'autres objets tels que sources lumineuses, textures ("texture"), modèle de couleur ("pigment") et surface de structure ("normal")


translate | rotate | scale | matrix | cisaillement | transforms.inc | transform | transformations de vecteurs
top

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