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

Home
- POV-Ray Tutorial
  While-Schleifen
  1. Lineare
     Transformationen
  2. Zirkuläre
     Transformationen
  3. Möbius etc.
  4. Schrauben
       & Spiralen
  5. Verdrehte
       Spiralen
  6. Schnecken
       & Ammoniten
                                      - Download

Schleifen - 1. Lineare Transformationen

Dieser Abschnitt möchte einige elementare Anwendungen der While-Schleife in POV-Ray demonstrieren. Hierbei wird die Schleife (engl.: loop) zum regelmäßigen Anordnen von Objekten verwendet. Die folgenden Beispiele sollen kurz einfache und ineinander geschachtelten Schleife demonstrieren.

Hinweis: Alle POV-Ray-Szenendateien der folgenden Beispiele sind downloadbar (mit der Endung: .pov, alternativ auch als .txt Text-Dateien!). Die meisten der POV-Ray-Beispielszenen verwenden die Include-Datei "axis_xyz.inc" für das Koordinatensystem. Diese Datei kann hier downloadet werde: als eine ".inc"-Datei oder als eine ".txt"-Datei (Speichern Sie letztere mit der veränderten Endung ".inc"!).

 
Betrachten wir hier erst einmal eine einfache Schleife, welche kleine Kugeln längs der x-Achse von x = -5 bis x = +5 plaziert:

//-----------------------------------
#declare Ball =
sphere{<0,0,0>,0.5
       texture{pigment{color Red}
               finish {ambient 0.15
                       diffuse 0.85
                       phong 1}
              }
       }
#declare NrX = -5;     // start
#declare EndNrX = 5;   // end
#while (NrX < EndNrX+1)
 object{Ball translate <NrX,0,0>}

 #declare NrX = NrX + 1;  //next Nr

#end // ------------ end of loop ---


Szenenbeschreibung für POV-Ray: .pov oder .txt

Packt man eine vorhandene Schleife, in ein eine weitere Schleife, welche die z-Wert von z = 0 bis z = +5 durchläuft, so erhält man eine von Objekten bedeckte quadratische Fläche:

//---------------------------------
#declare Boxy =
 box {<0,0,0>,< 1,1,1>
      scale 0.5
      texture{pigment{color White}
              finish {ambient 0.15
                      diffuse 0.85
                      phong 1}}}
#declare DistanceX = 1.00;
#declare DistanceZ = 1.00;
#declare NrX = 0;      // startX
#declare EndNrX = 7;   // endX
#while (NrX < EndNrX) // <-loop X
 #declare NrZ = 0;     // start
 #declare EndNrZ = 7;  // end
 #while (NrZ < EndNrZ)//<- loop Z
  object{Boxy
         translate<NrX*DistanceX,
                  0,NrZ*DistanceZ>}
 #declare NrZ = NrZ+1; // next NrZ
 #end // ----------- end of loop Z
#declare NrX = NrX+1;  // next NrX
#end // ------- end of loop X ---

Szenenbeschreibung für POV-Ray: .pov oder .txt

Eine vorhandene Doppel-Schleife läß in ein eine weitere Schleife verpacken welche die y-Werte von y = 0 bis y = +5 durchläuft. Dadurch erhält man eine von gleichartigen Objekten gebildeten Quader:

//---------------------------------
#declare DX = 1.00;
#declare DY = 1.00;
#declare DZ = 1.00;
#declare NrX = 0;      // startX
#declare EndNrX = 5;   // endX
#while (NrX < EndNrX)
 #declare NrY = 0;     // startY
 #declare EndNrY = 5;  // endY
 #while (NrY < EndNrY)
  #declare NrZ = 0;    // startZ
  #declare EndNrZ = 5; // endZ
  #while (NrZ < EndNrZ)
  object{Boxy
         translate<NrX*DX,
                      NrY*DY,
                      NrZ*DZ>}
  #declare NrZ = NrZ+1;// next NrZ
  #end // ---------- end of loop Z
 #declare NrY = NrY+1;// next NrY
 #end // ---------- end of loop Y
#declare NrX = NrX+1;// next NrX
#end // ---------- end of loop X -

Szenenbeschreibung für POV-Ray: .pov oder .txt

Im dreidimensionalen sind damit unsere Möglichkeiten in Sachen lineare Transformation mit Schleifen zunächst erschöpft.


top

© Friedrich A. Lohmüller, 2007
email email: Friedrich.Lohmueller_at_t-online.de
homepage:http://www.f-lohmueller.de
Besucher: www.webhits.de
seit 08. Mai 1999
Danke für Ihren Besuch!