Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller,
traduit en français par Dominique Saussereau.
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 avec Vis et Spirales.

La superposition de la rotation d'une sphère, et d'une translation le long de l'axe de cette rotation, donne une vis formée par l'emplacement de ces éléments :

#declare Ball =
sphere{<0,0,0>,0.35 scale <1,1,1>
       texture{
        pigment{ color rgb<1,0.55,0>}
        finish { phong 1}}}
//-------------------------------------
#declare Radius = 3.00;
#declare N_rev  = 3;//NumberOFrevolution
#declare N_p_rev=50;//ElementsPERrev.
#declare H_p_rev=0.8;//Heightdiff./rev.
#declare H = H_p_rev/N_p_rev;
//-----------------------------------
#declare Nr = 0;              //start
#declare EndNr = N_rev*N_p_rev;// end
#while (Nr < EndNr)
object{ Ball
        translate<Radius,Nr*H,0>
        rotate<0,Nr*360/N_p_rev,0>}
 #declare Nr = Nr+1;  // next Nr
#end // ---------- fin de boucle -----
Fichier de scène pour POV-Ray : povloop7.pov
ou : povloop7.txt

Si nous augmentons le nombre d'éléments par révolution, ces éléments élémentaires se transforment dans une nouvelle forme. Le piège de cette technique : le nombre d'éléments et donc le besoin de RAM et de temps de calcul, qui augmentent très vite : ici nous avons 2500 cylindres par révolution !

//------------------------------------
#declare N_p_rev=2500;
//------------------------------------

Fichier de scène pour POV-Ray: povloop8.pov
ou : povloop8.txt

Si nous ajoutons une translation radiale constante, en restant à hauteur nulle, nous obtenos une spirale :

#declare Ball =
sphere  {<0,0,0>,0.45
texture{pigment{color rgb<1,0.6,0>}
         finish { phong 1}}}
//---------------------------------
#declare Radius0  = 0.0;
#declare N_rev    =   4;
#declare N_p_rev  = 500;
#declare D_p_rev  = 1.0;
#declare D = D_p_rev/N_p_rev;
//--------------------------------
#declare Nr = 0;           //start
#declare EndNr=N_rev*N_p_rev;//end
#while (Nr< EndNr)
 object{Ball
        translate<Radius0+Nr*D,0,0>
        rotate<0,Nr*360/N_p_rev,0>
       }
 #declare Nr = Nr + 1; // next Nr
#end // ------- fin de boucle -----
Fichier de scène pour POV-Ray : povloop9.pov ou : povloop9.txt

top

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