Einführung in die Beschreibungssprache des Raytracers POV-Ray       - Seite 2 -
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
                                       
Grundsätzliches zum Beschreiben von Szenen:

Zur Beschreibung einer Szene wird ein Text aus Schlüsselworten und Zahlenangaben verwendet, der präzise geschrieben sein muß! Ein Komma oder eine Klammer an der falschen Stelle ist wie ein falscher Schlüssel. Zwischen Groß- und Kleinbuchstaben muß genau unterschieden werden, deutsche Umlaute dürfen nicht in Platzhaltern(Variablen) verwendet werden.
Das Programm bearbeitet den Text von oben nach unten. Überflüssige Leerzeichen oder Neue-Zeile-Zeichen werden ignoriert.
Schlüsselworte dürfen nicht getrennt werden. Damit das Programm beim Interpretieren des Textes Schlüsselworte unterscheiden kann, muß manchmal ein Leerzeichen als Trennungsmarke eingefügt sein! (Falsch: scale2 - Richtig: scale 2)
Hinter dem Zeichen // kann man sich Kommentare und Anmerkungen auch mit deutschen Umlauten (sonst verboten!) notieren - der Rest der Zeile wird bei der Übersetzung der Szenenbeschreibung (=parsing) ignoriert! Längere Kommentare über mehrere Zeilen können mit /* und */ eingeschlossen werden.


xyz-Koordinaten und Vektoren
POV-Ray verwendet normalerweise ein sogenanntes "linkshändiges" Koordinatensystem.
Die Raumkoordinaten für xyz-Richtung sind wie folgt relativ zueinander definiert:
(Daumen-Zeigefinger-Mittelfinger der linken Hand zueinander senkrecht abgespreitzt)
      x nach rechts positiv - der Daumen - horizontal
      y nach oben positiv - der Zeigefinger - vertikal
      z nach vorne positiv - der Mittelfinger - in die Raumtiefe hinein (vorwärts)


left hand axis 3d coordinates pov axes rotation left handed

Linkshädiges
Koordinatensystem
Position: <1,2,3>
coordinates: x = 1, eine Einheit nach rechts,
                   y = 2, zwei Einheiten nach oben,
                   z = 3, drei Einheiten vorwärts.
Winkel: "rotate<Xrot,Yrot,Zrot>"
Drehsinn im "Gegenuhrzeigersinn", in die jeweilige positive Achsenrichtung geblickt!
(Linker-Daumen-Regel)

Achtung: Alle relativen Ausdrücke wie "rechts", "oben" und "vorne" sind nur dann unmissverständlich klar, wenn die verwendete Kamera (Standpunkt = "location") auf einer negativen z-Position steht und in positive z-Richtung zeigt!
Für Anfänger empfiehlt es sich besonders eine Grundebene als Boden zu verwenden um die Orientierung im dreidimensionalen Raum zu erleichtern!

Ein Wechsel zu einem rechtshändigen Kooordinatensystem ist prinzipiell möglich (vgl. hierzu meine Beschreibungen zu Rechts- und linkshändige Koordinatensysteme und das Vektorprodukt in "Analytische Geometrie mit POV-Ray!) Da hierbei jedoch auch sehr viele Objekte im "Insert Menu" und den Beispieldateien aus dem Internet abgeändert werden müssen, ist dies - zumindest für Neulinge - nicht zu empfehlen.

Über Zahlen und Vektoren

Punkt statt Komma: Die Zahlenschreibweise ist amerikanisch-englisch: Für deutsch "2,51" schreibt man "2.51". (Fließkommazahl = "float".) Ein Komma trennt mehrere Zahlen oder Zahlengruppen! Geordnete Zahlengruppen aus 2, 3, 4 oder 5 Zahlen (sogenannte "Vektoren") werden mit spitzen Klammern eingeschlossen. Der Punkt P( 0,2 / 3,35 / 1) wird zu <0.2,3.35,1>.
Koordinatenangaben erfolgen immer in der Reihenfolge <x,y,z> nach der "Linke-Hand-Regel"
oder bei 2 Dimensionen: <u,v> .
Hinweis: Die folgenden Vektoren sind in POV-Ray vordefiniert:
     o=<0,0,0>, x=<1,0,0>, y=<0,1,0>, z=<0,0,1>, u=<1,0>, v=<0,1>.

 
Nichts berechnen! - POV-Ray kann Werte selbst berechnen!

Es dürfen bei der Angabe von Größen auch Rechenaufgaben verwendet werden.
Rechenzeichen sind: + , - , * , / und runde Klammern: ( und ).
Steht ein Rechenzeichen wie "*" bei "Vektoren", so gilt es für alle Komponenten
d.h.<0.5,1.0,3.5>*2 = < 0.5*2,1.0*2,3.5*2 > = <1.0,2.0,7.0>.

Für die Quadratwurzel verwendet man sqrt( ) und für π = 3.14.... verwendet man pi.
Hochzahlen: Für A2 schreibt man A*A oder pow(A,2), für A3 dann pow(A,3).
Winkel: Für die Umrechnung von Winkeln aus Grad-Werten in Radiant-Werte steht die Funktion radians(A) zur Verfügung. Die Funktionen sin(A) cos(A) tan(A) benötigen den Winkel "A" in Radiant-Werten. Mit atan2(A,B) läßt sich der Arcustangens von A/B berechnen.
Damit und mit diversen anderen Fließkomma-, Vektor- und String-Funktionen sind auch höchste Ansprüche an Konstruktionsmöglichkeiten einschließlich sehr komplexer Programmiermöglichkeiten zu erfüllen!


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

top

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