Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller.
Boucles avec POV-Ray     
English English English
Italiano Italiano
Deutsch Deutsch

Page d'Accueil
- Tutoriel POV-Ray

  Boucles en POV-Ray
  1. 'For' et 'While'
       Comparaison
  2. Transformations
       Linéaires
>3. Transformations
       Circulaires
  4. Moebius etc.
  5. Vis, Hélices
       et Spirales
  6. Spirales
       avec Torsion
  7. Coquilles
       d'Escargot
       et Ammonites
  8. Spirales sphériques 1
  9. Spirales sphériques 2
 10. Spirales Fibonacci
                                             
 
 
  - Téléchargement

Boucles et Transformations circulaires.

La boucle while employée avec un mouvement de rotation simple :
#declare Ball =
sphere{ <0,0,0>,0.50
   texture{
     pigment{ color rgb<0.75,0,0>}
     finish{ phong 1 } }
} //----------------------------------
#declare Radius = 3.00;
#declare Nr = 0;      // start
#declare EndNr = 16;  // end
#while (Nr < EndNr)
object{ Petal
        translate<Radius,0.5,0>
        rotate<0,Nr* 360/EndNr,0>}
 #declare Nr = Nr + 1;// next Nr
#end // --------- end of loop -------



Une version "florale" :
Fichier de scène pour POV-Ray : povloop4_4.pov
ou povloop4_4.txt
Fichier de scène pour POV-Ray : povloop4_0.pov
ou povloop4_0.txt

En plus, avec tourner les sphères autour de la direction de z,
nous obtenons une spirale circulaire :

#declare Ball =
sphere{<0,0,0>,0.25
       texture{
         pigment{ color rgb<1,0,0>}
         finish { phong 1}
       } //
} //----------------------------------
#declare R_major = 3.00;
#declare R_minor = 1.00;
#declare N_major =  10;
#declare N_minor = 430;

#declare Nr = 0;             // start
#declare EndNr=N_major*N_minor;// end
#while (Nr < EndNr)
object{Ball
       translate<R_minor,0,0>
       rotate<0,0,Nr * 360/N_minor>
       translate<R_major,0,0>
       rotate<0,Nr * 360/EndNr,0>}
 #declare Nr = Nr+1;//next Nr
#end // ------ fin de boucle -------
Fichier de scène pour POV-Ray : povloop5.pov
ou : povloop5.txt
Si nous continuons ce petit jeu, nous obtenons une double spirale ciorculaire - le nombre de sphères devient énorme - dans le paysage suivant là sommes environ 25 000 boules sur le champ et environ 17 Mo de RAM ont été employées.
#declare Ball =
 sphere{<0,0,0>,0.1
        texture{see scene file}}}
//------------------------------------
#declare R_major = 3.50;
#declare R_minor = 1.00;
#declare R_inner = 0.30;
#declare N_maj = 14;
#declare N_min = 18;
#declare N_in  = 100;
//--------------------------------
#declare Nr = 0;    // start loop
#while (Nr < N_maj*N_min*N_in)
object{Ball
 translate<0,0,R_inner>
 rotate<0,Nr * 360/N_inner,0>
 translate<R_minor,0,0>
 rotate<0,0,Nr * 360/(N_min*N_in)>
 translate<R_major,0,0>
 rotate<0,Nr*360/(N_maj*N_min*N_in),0>
 }
 #declare Nr=Nr+1;// next Nr
#end // --------- fin de boucle --
Fichier de scène pour POV-Ray : povloop6.pov
ou : povloop6.txt


top

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