Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
English   English English version

Rad - mit und ohne #while Themen Leiter

Wendeltreppe - mit while-Schleife

Beispiel für die Verwendung von der while-Schleife

Objekte:    "plane", "box"
Methoden: "declare", "union", "while", "intersection", "bounded_by"
Ansicht von oben: Prinzip eines Stufensegmentes

Die Form der Stufen wird durch eine Schnittmenge ("intersection")
eines Quaders ("box") mit zwei gedrehten Ebenen ("planes") gebildet.
Die Treppe wird mit einer while-Schleife gebildet.

//------------------------------------- Dimensionen --------
#declare StH = 0.10; // Stufenhöhe
#declare StT = 0.50; // Stufentiefe, maximal, außen
#declare StB = 1.20; // StufenBreite
#declare StI = 0.40; // StufenInnenRadius
#declare StAnz = 40; // Stufenanzahl
#declare W = 360/20; // Stufen Drehwinkel
//------------------------------------------Texturen--------
// Hier ist ein kleiner Trick um
// "Schatten-differenzierte Farben"
// zu erzeugen, die im Sonnenlicht gleich aussehen:
#declare Stex1 = texture{pigment{color White}
                         finish {ambient 0.45 diffuse 0.55}}
#declare Stex2 = texture{pigment{color White}
                         finish {ambient 0.40 diffuse 0.60}}
#declare Stufe = //-----------------------------------------
intersection{
box  {<0,0,-StT>,< StB,StH,StT>   translate<StI,0,0> 
         texture{Stex1}}
plane{<0,0, 1>,0 rotate<0,-W/2,0> translate<0,0,0.01>
         texture{Stex2}}
plane{<0,0,-1>,0 rotate<0, W/2,0> translate<0,0,0.0 >
          texture{Stex2}}
bounded_by{box{<0,0,-StT>,<StB,StH,StT> translate<StI,0,0>}}
    }//---------------------------------------- end of Stufe 

// -- Zusammenbauen und Zeichnen der Wendeltreppe ----------
union{
//-------------------------------- #while - Schleife -------
#declare Nr = 0;    // Setzt den Zähler Nr auf Anfangswert
#while (Nr<StAnz)  // Prüft ob Endwert erreicht ist 
   object{Stufe    // Objekt abhängig von Zählerstand Nr
              translate<0,Nr*StH,0>
              rotate <0,-Nr*W,0>}
#declare Nr = Nr+1; // Erhöht den Zähler um 1
#end               // Ende des zu wiederholenden Bereiches
//-------------------------------------------------------------
rotate<0,90,0> } 
//-------------------------------------------------------- end
Wendeltreppe - Winding Staircase  394x480
Klicken Sie hier für die vollständige Szenenbeschreibung für POV-Ray:
".txt"-Datei oder ".pov"-Datei

Rad - mit und ohne #while Themen Leiter

© Friedrich A. Lohmüller, 2001    emailemail: (legacy email redacted)