Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmüller,
traduit en français par Henri Girard.
English English English
Italiano  Italiano
Deutsch 

"translate" - déplacer overview "scale" - échelle

Transformations géométriques

"rotate" = tourner, rotation  
autour d'un ou de plusieurs axes du systeme de coordonnées


rotation demo
rotate = tourner, rotation
syntaxe générale :
rotate <wx,wx,wz>
Ceci effectue la rotation d'un objet autour d'un axe de coordonnées appropriées dans les trois directions de base
angle de wx degrés autour de l'axe »x«,
angle de wy degrés autour de l'axe »y«,
angle de wz degrés autour de l'axe »z«.
Attention: Les rotations ne sont pas appliquées relativement à un axe local de symétrie à travers le centre d'un objet et celles-ci sont appliquées dans l'ordre décrit !

"rotate< 0,90, 0>" effectue une rotation autour de l'axe »y« de 90 degrés (main gauche positive).
"rotate< 0,90,45>" effectue d'abord une rotation autour de l'axe »y« de 90 degrés et ensuite une rotation autour l'axe »z« de 45 degrés.
"rotate< 0, 0,45> rotate< 0,90, 0>" effectue d'abord une rotation de 45 degrés autour de l'axe »z«.
Après cela suivie d'une rotation autour de l'axe â??yâ?? de 90 degrés.

Sachez que :
Les rotations séquentielles autour de différents axes
ne sont pas interchangeable !

Ceci signifie que les résultats dépendent de l'ordre dans lequel on appliquent ces rotations!
Un énorme potentiel delle frustrations, si on ne fait pas assez attention !!!!.

Samples rotation 640x480

Exemple 1:

#declare YellowSmarty =
sphere{<0,0,0>,1
       scale <1,0.5,1>
       translate<4,0,0>
       texture{
          pigment{color rgb<1,0.65,0>}
          finish {ambient 0.15
                  diffuse 0.85
                  phong 1}}} //--
object{YellowSmarty rotate<0,0, 90>}
object{YellowSmarty rotate<0,0,105>}
object{YellowSmarty rotate<0,0,120>}
object{YellowSmarty rotate<0,0,135>}
object{YellowSmarty rotate<0,0,150>}
object{YellowSmarty rotate<0,0,165>}
object{YellowSmarty rotate<0,0,180>}
//---------------------------------
#declare Zylinder_1 =
cylinder{<0,0,0>,<0,3,0>,0.2
         translate<0,0,5>
         texture{
           pigment{color NeonPink}
           finish {ambient 0.15
                   diffuse 0.85
                   phong 1}}} //--
object{Zylinder_1 rotate<0,  0,0>}
object{Zylinder_1 rotate<0, 15,0>}
object{Zylinder_1 rotate<0, 30,0>}
object{Zylinder_1 rotate<0, 45,0>}
object{Zylinder_1 rotate<0, 60,0>}
object{Zylinder_1 rotate<0, 75,0>}
object{Zylinder_1 rotate<0, 90,0>}
object{Zylinder_1 rotate<0,105,0>}
object{Zylinder_1 rotate<0,120,0>}
object{Zylinder_1 rotate<0,135,0>}
object{Zylinder_1 rotate<0,150,0>}
object{Zylinder_1 rotate<0,165,0>}
object{Zylinder_1 rotate<0,180,0>}
//----------------------------------
Samples rotation 640x480

Exemple 2:

#declare Ring=
union{
object{YellowSmarty rotate<0,  0,0>}
object{YellowSmarty rotate<0, 30,0>}
object{YellowSmarty rotate<0, 60,0>}
object{YellowSmarty rotate<0, 90,0>}
object{YellowSmarty rotate<0,120,0>}
object{YellowSmarty rotate<0,150,0>}
object{YellowSmarty rotate<0,180,0>}
object{YellowSmarty rotate<0,210,0>}
object{YellowSmarty rotate<0,240,0>}
object{YellowSmarty rotate<0,270,0>}
object{YellowSmarty rotate<0,300,0>}
object{YellowSmarty rotate<0,330,0>}
cylinder{<0,-1,0>,<0,1,0>,0.2
         texture{
            pigment{color NeonPink}
            finish {ambient 0.15
                    diffuse 0.85
                    phong 1} } }
}// end of union //---------------
 object{Ring}
 object{Ring translate<4,1,4> }
//--------------------------------

Astuce :
"rotate" peut aussi être utilisé avec des formes géométriques ainsi qu'avec les autres objets tels que sources lumineuses, textures ("texture"), modèle de couleur ("pigment") et des déformations simulées de surface ("normal").


"translate" - déplacer overview "scale" - échelle

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