Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
Über Schleifen mit POV-Ray     
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  Schleifen mit POV-Ray
  1. For + While
       Vergleich
  2. Lineare
     Transformationen
  3. Zirkuläre
     Transformationen
  4. Möbius etc.
  5. Schrauben
       & Spiralen
  6. Verdrehte
       Spiralen
  7. Schnecken
       & Ammoniten
  8. Sphärische Spiralen1
  9. Sphärische Spiralen2
>10. Fibonacci Spiralen
                                         
 
 
  - Download

Spiralen mit Fibonacci-Zahlen

Hier verwenden wir das Verhältnis zweier Fibonacci-Zahlen
um den Drehwinkel für die Elemente einer Spirale zu berechnen.
#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
Dieselbe Prozedur mit der For-Schleife:
#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-Zahlen:
// Regeln: A(1)= 1; A(2) = 1; and
//             für N>2: A(N) = A(N-1) + A(N-2).
// 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ...

Szenedatei für POV-Ray: FibonacciSpiral_01.pov
oder: FibonacciSpiral_01.txt

Mit einem linear anwachsenden Radius R
erhält man die folgende Form:
#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
Szenedatei für POV-Ray: FibonacciSpiral_05.pov
oder: FibonacciSpiral_05.txt


top

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