kurse:povray23:basics

POV-Ray Basics

In POV-Ray werden Objekte vektorgeometrisch in einer Programmiersprache beschrieben.

Beim Darstellen der Szene werden vom Augpunkt (bzw. der Kamera) die Lichtstrahlen durch einen gedachten Bildschirm zurückverfolgt, um die Farbe des entsprechenden Pixels (Bildpunkt) zu bestimmen. Trifft der Lichtstrahl auf ein Objekt, wird dieser dort weiter verfolgt (um z.B. festzustellen, ob Lichtquellen von dort aus sichtbar sind, bzw. um Reflexionen zu berechnen).

Es braucht mindestens drei Dinge, damit überhaupt irgendetwas dargestellt wird:

  • Ein Objekt mit einer Farbe/Textur
  • Eine Kamera (die in Richtung des Objekts «schaut»)
  • Eine Lichtquelle (die das Objekt beleuchtet)

Aufgabe 1

Testen Sie folgendes Beispiel:

  • Herunterladen: vorlage.pov
  • POV-Ray starten und obige Datei in POV-Ray öffnen.
  • Datei rendern (Bild berechnen).

Aufgabe 2

In obigem Code entfernen Sie die rote Kugel und vervollständigen Sie den Code so, dass das Koordinatensystem durch 3 Achsen dargestellt wird, mit den Achsen von jeweils -1 bis +4. Die Farben der Achsen sollen rot ($x$), grün ($y$) und blau ($z$) sein.

Fügen Sie ebenfalls die beiden anderen Koordinatenebenen mit einem Schachbrettmuster ein. Passen Sie die Position (location) und Blickrichtung (look_at) so an, dass das die ganzen gezeichneten Achsen sichtbar sind.

Aufgabe 3

Speichern Sie Ihre Datei als “koordinatensystem.inc”. Löschen Sie die Definition von Kamera und Licht und speichern Sie die Datei. Die Datei kann so nicht mehr gerendert werden. Aber Sie kann in andere Dateien eingebunden werden.

Aufgabe 4

Laden Sie nochmals die Datei “vorlage.pov” und speichern Sie die Datei unter “includetest.pov”. Entfernen Sie alle Objekt-Definitionen und ersetzen Sie diese durch die Zeile:

#include "koordinatensystem.inc"

In Zukunft kann damit ein Koordinatensystem eingebunden werden (und auch einfach wieder entfernt oder auskommentiert werden).

Aufgabe 5

Stellen Sie den Punkt $A=(2,4,1)$ dar. Zeichnen Sie dazu auch “Stützlinien” (mit cylindern) und markieren Sie den Punkt (mit einer Kugel oder noch schöner mit 6 achsenparallelen Zylindern mit der Spitze in $A$).

Speichern Sie die Datei unter dem Namen A5Hansli.pov, wobei natürlich Hansli durch Ihren Namen zu ersetzen ist.

Kopieren Sie Ihre POV-Ray-Datei und das Bild aufs Teams-Laufwerk

Es können achsenparallele Quader definiert werden, indem man gegenüberliegende Punkte angibt. Folgender Code erzeugt in etwa die Form eines Dominosteins:

box { <0,-1,0>, <1,-1.2,2>
  pigment { color rgbt <0,1,0,0.4> } // 40% durchscheinend
}

Aufgabe 6

Bauen Sie obigen code in eine Szene ein und markieren Sie die beiden Eckpunkte.

Mit folgendem Code kann etwas wiederholt werden und aus der Variablen $i$, die sich bei jedem Durchgang ändert, Dinge berechnet und damit definiert werden:

#declare i=0;
#while (i<10)
  sphere {<0,i,0>,0.1
    pigment { color rgb x }
  }
  #declare i=i+1;
#end //while

Beachten Sie, wie die Code-Zeilen eingerückt sind. Alle Zeilen zwischen #while und #end sind eingrückt. Wird eine geschweifte Klammer geöffnet, werden folgende Zeilen eine Stufe mehr eingerückt. Die entsprechende schliessende geschweifte Klammer steht senkrecht unter dem Anfang der Zeile der öffnenden Klammer.

Aufgabe 7

Bauen Sie obigen Code in eine Szene ein und studieren Sie den Code, bis Sie jede Zeile davon verstehen.

Ändern Sie den Code so ab, dass eine Domino-Reihe entsteht.

  • kurse/povray23/basics.txt
  • Last modified: 2023/06/05 21:05
  • by Ivo Blöchliger