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 pour escargots et ammonites.

Dans les derniers exemples de spirale, les sphères avaient toujours la même taille. Maintenant nous verrons comment réduire continuellement la taille des sphères, le rayon et la taille de la base du vissage, pour en faire un escargot :

//-------------------------------------
#declare Ball =
sphere{<0,0,0>,0.5
     texture{pigment{color
                     rgb<1,0.65,0.0>}
             finish {phong 1}}}
#declare Radius0=3.0;// basic radius
#declare NR=9;//number of revolutions
#declare NpR=100;//number elements p.r.
#declare Scale=0.75; //per revolution
#declare HpR=0.8;//difference in y p.r.
//-------------------------------------
#local Hd       = HpR/NpR;
#local Scale_p  = pow(Scale,1/360);
#local Scale_pE = pow(Scale_p,360/NpR);
#local Old_S = Scale_pE;
#local Old_H = Hd;
#declare Nr = 0;         //start
#declare EndNr = NR*NpR; //  end
#while (Nr< EndNr)
 object{Ball
        translate<Radius0,0,0>
        scale Old_S
        translate<0,Old_H,0>
        rotate<0,Nr*360/NpR,0>}
 #declare Nr = Nr+1;  // next Nr
 #declare Old_S =Scale_pE*Old_S;
 #declare Old_H =Old_H+Hd*Old_S;
#end // ----------- fin de boucle -----
Fichier de scène pour POV-Ray : povloopa.pov
ou : povloopa.txt

Si nous ramenons la hausse du vissage à zéro, nous obtenons la forme classique de
"Ammonitus povrayensis" :

//-----------------------------------
#declare Ball =
 sphere{<0,0,0>,1.0
        texture{...see above...}}}
#declare Radius0     = 3.5;
#declare NR = 9;//number of revolutions
#declare NpR=50;//number of elem.p.r.
#declare Scale = 0.55; //per revolution
#declare HpR   = 0.00;
//------------------------------------
Fichier de scène pour POV-Ray : povloopb.pov
ou : povloopb.txt

En mesurant la forme de l'élément de base et en lui donnant une consistance rugueuse avec des textures de pierre ou de granit il est possible de former presque chaque forme d'une coquille d'escargo ou d'ammonite que vous souhaitez :
Par exemple : que diriez-vous d'un
"Turritella turris var. povensis" ?

//---------------------------------
#declare Ball =
sphere{<0,0,0>,0.70
       scale <1,1.5,1>
       texture{T_Stone3 scale 1.5
               finish {phong 0.3}}}
#declare Radius0 = 1.5;
#declare NR=9.1;
//number of revolutions
#declare NpR = 30;
//number of elements per revolution
#declare Scale=0.78;
//per revolution
#declare HpR    = 1.6;
//---------------------------------
Fichier de scène pour POV-Ray : povloopc.pov
ou : povloopc.txt


top

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