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
    - Haus
    - Dach
    - Turm mit Zinnen
    - Schloss
    - Fenster u. Tür
    - Treppen
    - Pyramide
    - Säulen
    - Bogen
    - Zäune
    - Möbel
    - Haushalt
  - Technik
                                       

 
pyramid

Pyramide

Objekte:   "box".
Methoden: "#declare", "union", "#while".
Bau einer Stufenpyramide
Hierzu werden zuerst die äußeren Dimensionen angeben: Halbe Breite, gesamte Höhe und Anzahl der Stufen.
Daraus werden die Stufenhöhe und die Stufentiefe errechnet.
Eine Include-Datei mit der man dieses Objekt als Fertig-Objekt verwenden kann findet man auf meiner POV-Ray Objects-Seite.
Die Konstruktion:
Hierzu werden zunächst die äußeren Dimensionen angeben:
#declare Top___Width = 1.00;   // half width at the top
#declare Base___Width = 3.00;  // half width at the base
#declare Total___Height = 3.00; // total height of the pyramid
#declare Number_of___Steps = 8; // number of steps
//-------------------------------------------------------------- 
pyramid
Pyramide in Grundform
Szenenbeschreibung für POV-Ray:
".txt"-Datei oder ".pov"-Datei
Daraus werden die Stufenhöhe und die Stufentiefe errechnet:
#local D = 0.00001;
#local Step___Height = Total___Height/Number_of___Steps;
#local Step___Width  = (Base___Width-Top___Width)/(Number_of___Steps-1);
//-------------------------------------------------------------- 
Zusammenbau mittel While-Schleife:
union{
 #local Nr = 0;     // start
 #local EndNr = Number_of___Steps; // end
 #while (Nr< EndNr)
   #local P___Width = Base___Width-Step___Width*Nr;
   #local P___Height = Step___Height;

   box{ <-P___Width, 0.00, -P___Width>,< P___Width, P___Height, P___Width>

        translate<0,Total___Height-(EndNr-Nr)*Step___Height,0>

        texture{ pigment{ color rgb <1.00, 0.87, 0.73>} // ~ LightWood
                 finish { diffuse 0.9 phong 1 reflection 0.00}
               } // end of texture

       } // end of box

 #local Nr = Nr + 1;  // next Nr
 #end // --------------- end of loop
rotate<0,0,0>
translate<0,0,0>} // end of union
//----------------------------------------------------------------------------- 

pyramid
Im Schatten strukturlos.
 
 
pyramid
Mit 2 verschiedenen Texturen.
Szenenbeschreibung für POV-Ray:
".txt"-Datei oder ".pov"-Datei
Durchzeichnung im Schatten:
Baut man die Pyramide aus einzelnen Quadern ("box") mit durchgehender Texture, dann erscheint das Objekt in Schattenbereichen (nur ambientes Licht) strukturlos.
Um dies zu vermeiden kann man die einzelnen Treppenstufen aus 2 verschiedenen Quadern mit jeweils nur leicht unterschiedlichen Texturen zusammenbauen:

   union{ // inner union
     //---------------------------------------------------------- visible in x and z
     box{<-P___Width, 0.00+D, -P___Width>,< P___Width, P___Height-D, P___Width>
         texture{ pigment{ color rgb <1.00, 0.87, 0.73>} // LightWood}// rgb<1,1,1>}
                  finish { diffuse 0.8  phong 1 reflection 0.00}
                } // end of texture
        } // end of box
     //----------------------------------------------------------------- visible in y
     box{<-P___Width+D, 0.00, -P___Width+D>,< P___Width-D, P___Height, P___Width-D>
         texture{ pigment{ color rgb <1.00, 0.87, 0.73>} // ~ LightWood light
                  finish { diffuse 0.9 phong 1 reflection 0.00}
                } // end of texture
        } // end of box
     //------------------------------------------------------------------------------

     translate<0,Total___Height-(EndNr-Nr)*Step___Height,0>
   } // end of inner union 

Betreffs realistischer Mauertexturen siehe Turm mit Zinnen
pyramid


Gebrauchsferige POV-Ray Objekte als
Include-Dateien mit Beispieldateien findet man
auf der POV-Ray-Objects-Seite.
top

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