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

Schleifen und zirkuläre Transformationen

Die While-Schleife mit einfacher Rotationsbewegung:

#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 -------



Eine "florale" Version:
Szenenbeschreibung für POV-Ray: povloop4_4.pov
oder povloop4_4.txt
Szenenbeschreibung für POV-Ray: povloop4_0.pov
oder povloop4_0.txt
Die Kugeln zusätzlich um die z-Richtung rotieren ergibt eine zum Kreis gebogene Spirale:
#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 // ---------- end of loop -------
Szenenbeschreibung für POV-Ray: .pov oder .txt

Treibt man dieses Spiel so weiter, so erhält man eine zu einem Kreis gebogene Doppelspirale - die Kugelanzahl erhöht sich schnell beträchtlich. Im folgenden sind ca. 25 000 Kugeln im Spiel, die 17 MB RAM benötigen.

#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 // ------------ end of loop -----
Szenenbeschreibung für POV-Ray: .pov oder .txt

top

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