Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
    POV-Ray Beispiele - Die Erstellung von Objekten für POV-Ray
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  - POV-Ray Beispiele
    Inhaltsübersicht
  - Geometrie
  - Architektur
  - Technik
    - Leiter
    - Masten
    - Geländer
    - Brücke
    - Röhren
    - Rohrabzweigung
    - Rohr-Absperrhahn
    - Kette
    - Drahtspule
    - Torpedo
    - Cruise Missile
    - Rakete
    - Rad
    - Truck
    - Propeller
    - Flugzeug
    - Kanu
    - Gitarrenbody
    - 7-Segment Display
    - Flachbandkabel
    - Kabelbaum
                                       
 
ladder

Leiter
mit "macro" und mit while-Schleife

Objekte:    cylinder.
Methoden: #declare, #local, union, #macro, #while.
Eine Include-Datei mit der man dieses Objekt als Fertig-Objekt verwenden kann findet man auf meiner POV-Ray Objects-Seite.

Das folgende "macro" erzeugt eine Leiter. Dabei wird der Radius der seitlichen Zylinder, der Radius der Stufen, die halbe Stufenbreite sowie die Höhe der Leiter und der Stufenabstand angegeben. Aus der Höhe und dem Stufenabstand wird im "macro" die Anzahl der Stufen berechnet. Diese Stufen werden mit einer While-Schleife positioniert.

Vorgabe der Dimensionen u. der Textur:

//----------------------------- Dimensionen
#declare LR1 = 0.025; // Radius
#declare LR2 = 0.010; // Radius d. Stufen
#declare LW = 0.23-LR1;// halbe Breite
#declare LH = 3.20;   // Höhe
#declare Step_Distance = 0.18;
       // Stufen-Abstand
//---------------------------------- Textur
#declare Texture_L =
 texture{pigment{color White}
         finish {diffuse 0.9 phong 1}}  

Das eigentliche "macro":

#macro Ladder (R1_L,R2_L,W_L,H_L,Step_Dist)
#local Step_Totals = int(H_L /Step_Dist);
#local Step =
       cylinder{<-W_L,0,0>,<W_L,0,0>,R2_L}

#local Nr  = 0;             // start
#local EndNr = Step_Totals; // end
union{
#while (Nr< EndNr)
 object{Step
        translate<0,(Nr+0.5)*Step_Dist,0>}
 #declare Nr = Nr + 1;  // next Nr
#end // --------------- end of loop
// Zylinder seitlich:
cylinder{<0,0,0>,<0,H_L,0>,R1_L
         translate<W_L,0,0>}
cylinder{<0,0,0>,<0,H_L,0>,R1_L
         translate<-W_L,0,0>}
 }// end of union
#end // end of macro  "Ladder (...)
//----------------------------------------- 

Aufruf des "macro"-Objekts:

object{ Ladder(LR1,LR2,LW,LH,Step_Distance)
             texture{Texture_L}
      } // end of object
//------------------------------------- end 
Leiter
Zugehörige
Szenenbeschreibung
für POV-Ray
ladder.txt-Datei
oder ladder.pov-Datei
 
Gebrauchsferige POV-Ray Objekte als
Include-Dateien mit Beispieldateien findet man
auf der POV-Ray-Objects-Seite.
top

© Friedrich A. Lohmüller, 2009
www.f-lohmueller.de