Einführung in die Beschreibungssprache des Raytracers POV-Ray       - Seite 9
von Friedrich A. Lohmüller
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorials
 
  
POV-Ray Einführung
  INHALT  -  INDEX
 
  1. Arbeiten mit POV-Ray:
      "Insert Menu Add-on".
  2. Grundsätzliches zum
      Erstellen von Szenentexten.
      Räumliche Koordinaten,
      Zahlen und Vektoren
  3. Szenen-Aufbau
      Ein Grundbeispiel.
  4. Header einer Szene,
      #include-Dateien
      camera, light_source.
  5. Geometrische Grundobjekte
      sphere, box, cylinder,
      cone, torus, plane.
      und andere Körper
  6. Transformationen
      Streckung, Drehung,
      Verschiebung u. andere.
      CSG: union,
      difference, intersection.
  7. Farben und Oberflächen       texture, pigment, normal, finish
  8. #declare, #local, #macro,
      Platzhalter, flexible Objekte.
>9. #while Schleifen
      Grundbeispiele.
 10. #include, Include-Dateien.
      Wiederverwendbare Objekte.
 11. Rationelles Arbeiten,
      Geschwindigkeit, Flexibilität,
      modulares Arbeiten
      Anpassung v. 3.1 auf 3.5/3.6
      Anpassung v. 3.5/3.6 auf 3.7
      POV-Ray + Windows Vista.
 
  - Insert Menu Add-on
    & Download
                                       
#while - Serienproduktion durch Schleifenbildung
Mit diesem Mechanismus lassen sich, wie in allen gängigen ProgrammierSprachen,
automatische Serienproduktionen einfachst ausführen.
Ausfühliches Beispiel:
#declare Nr = 0; // Anfangswert
#while ( Nr < 30 ) // solange Nr < 30,
  // führe die folgenden Anweisungen aus:
  sphere{<1,0,0>,0.25
         rotate<0,Nr * 360/30 ,0>
         texture{
           pigment{ color rgb<1,0.65,0>}
           finish { phong 1.0}
           } // end texture
        } // end sphere
  #declare Nr = Nr + 1;  // next Nr
#end // of loop 
while demo1
Ein voller Kreis aus 30 Kugeln (Nr.0 bis Nr.29)! Szenenbeschreibung für POV-Ray:
While_demo1.pov
Noch ein Beispiel:
#declare CH = 3.0; // Höhe der Säule
#declare Column =
union{
 cone{<0,0,0>,0.40,<0,CH,0>,0.30}
 torus{0.4,0.05 translate<0,0.05,0>}
 torus{0.3,0.05 translate<0,CH-0.05,0>}
 texture{ pigment{ color rgb<1,0.95,0.8>}
          normal { bumps 0.5 scale 0.01}
          finish { phong 0.1 }
        } // end of texture
 }// end Column
//--------------------------------------
union{ //-------------------------------
 #local Nr = 0;     // start
 #local EndNr = 10; // end
 #while (Nr < EndNr)
  object{ Column translate<-2,0,Nr*2.5>}
  object{ Column translate< 2,0,Nr*2.5>}
 #local Nr = Nr + 1;  // next Nr
 #end // --------------- end of loop
rotate<0,0,0>
translate<0,0,0>
} // end of union -----------------------

Achtung: Der Benutzer ist selbst dafür verantwortlich, eine Endlosschleife zu vermeiden!
Columns demo1
Columns
Szenenbeschreibung für POV-Ray:
While_demo2.pov

Weitere Beispiele und nähere Erklärungen siehe hier: "Über While-Schleifen mit POV-Ray".

Teil 0 | Teil 1 | Teil 2 | Teil 3 | Teil 4 | Teil 5 | Teil 6 | Teil 7 | Teil 8 | Teil 9 | Teil 10 | Teil 11 | Teil 11

top

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