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 für Schnecken und Ammoniten

Bei der Spiralenbewegung in den letzten Beispielen hatten die Kugeln immer dieselbe Größe. Nun soll gezeigt werden wie man die Kugeln, den Windungsradius und die Ganghöhe einer Schnecke kontinuierlich verkleinern kann:

//-------------------------------------
#declare Ball =
 sphere{<0,0,0>,0.5
      texture{
         pigment{color rgb<1,.65,.0>}
         finish{ phong 1}}}
#declare Radius0 = 3.0; //Grundradius
#declare NR =  9;//n. of revolutions
#declare NpR=100;//n. of elements p.r.
#declare Scale=0.75;//n.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 // ------------ end of loop ------
Szenenbeschreibung für POV-Ray: povloopa.pov
oder povloopa.txt

Setzt man die Ganghöhe der Schnecke auf Null, so erhält man die klassische Form von
"Ammonitus povrayensis": '

//-------------------------------------
#declare Ball =
 sphere{<0,0,0>,1.0
        texture{... siehe oben! ...}}}
#declare Radius0     = 3.5;
#declare NR=9;//number of revolutions
#declare NpR=50;//n. of elements p.r.
#declare Scale=0.55; //per revolution
#declare HpR  = 0.00;
//-------------------------------------
Szenenbeschreibung für POV-Ray: povloopb.pov
oder povloopb.txt

Durch Skalieren der Grundform und Texturieren mit Stein- oder Granit-Texturen erhält man nahezu jede denkbare Form von Schnecken- oder Ammonitenschalen:
Wie wäre es z.B. mit
"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;//Anzahl der Umdrehungen
#declare NpR=30;
   //Anzahl der Elemente pro Umdrehung
#declare Scale =0.78; // pro Umdrehung
#declare HpR   =1.6;
//-------------------------------------
Szenenbeschreibung für POV-Ray: povloop9c.pov
oder povloop9c.txt

top

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