Descrizioni ed esempi per POV-Ray di Friedrich A. Lohmüller,
 

Cicli in POV-Ray     
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial

  Cicli con POV-Ray
  1. For e While
       Comparazione
  2. Trasformazioni
       lineari
  3. Trasformazioni
       circolari
  4. Moebius etc.
  5. Viti e spirali
  6. Spirali
       intrecciate
  7. Chiocciole
       e ammoniti
  8. Spirali sferiche 1
  9. Spirali sferiche 2
>10. Spirali Fibonacci
                                         
 
 
  - Download

Spirali con i Numeri di Fibonacci

Qui si usa la proporzione tra due numeri di Fibonacci
per calcolare l'angolo di rotazione degli elementi a spirale.
#local R = 0.25; // start radius
#local Nr = 0;          // start
#local End_Nr = 37;     // end
#while ( Nr <= End_Nr ) // loop
 sphere{ <0,0,0>, R*0.25 //------------
         scale <1,0.6,1>
         texture{
           pigment{color rgb<0.8,1,0>}
           finish {phong 1}
         } //--------------
         translate <R,0,0>
         rotate <0,-Nr*360*(8/13),0>
      } //-----------------------------
 #local R = R*1.05; // growing radius
 #local Nr = Nr + 1;    // next Nr
 #end // ---------------  end of loop
Lo stesso precedure con un ciclo for:
#local R = 0.25; // start radius
//#for(Identifier,Start,End[,Step])
#for ( Nr , 0, 37, 1 )
 sphere{ <0,0,0>, R*0.25 //------------
         scale <1,0.6,1>
         texture{
           pigment{color rgb<0.8,1,0>}
           finish {phong 1}
         } //--------------
         translate <R,0,0>
         rotate <0,-Nr*360*(8/13),0>
      } //-----------------------------
 #local R = R*1.05; // growing radius
 #end // ---------------  end of loop
// Fibonacci numbers:
// Rules: A(1)= 1; A(2) = 1; and
//            for N>2: A(N) = A(N-1) + A(N-2).
// 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ...


Con una crescita lineare del raggio R
si ottiene questa forma:
#local R = 0.018; // start radius
#local Nr = 0;          // start
#local End_Nr = 300;    // end
#while ( Nr <= End_Nr ) // loop
 sphere{ <0,0,0>,0.25 + Nr*0.0015 //----
         scale <1,1.6,1>
         texture{
           pigment{color rgb<1,0.7,0>}
           finish {phong 1}
         } //--------------
         translate <R*0.65,0,0>
         rotate <0,-Nr*360*(34/89),0>
      } //-----------------------------
 #local R = R+0.038; // growing radius
 #local Nr = Nr + 1;    // next Nr
 #end // ---------------  end of loop


top

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