Autor Comedy Kreativer Physiker Lehrer Bastler Interessierter
Kreativer Physiker
Anmerkungen | Tabellen | Credits

Anhang

Im Anhang finden sich Hinweise, die nicht direkt mit dem Raytracing zu tun haben, aber trotzdem wichtig oder hilfreich sind. Dazu gehören Hinweise zu den verschiedenen Versionen, eine Auflistung der wichtigsten Funktionen sowie die Credits zu diesem Tutorial.
Anmerkungen | Tabellen | Credits

Anmerkungen zu Versionen

In diesem Tutorial kam Version 3.6 des Raytracers zum Einsatz. Bei neueren Versionen (ab 3.7) ändert sich zwar prinzipiell nichts am Kontext der Beispiele, jedoch werden die Farben anders dargestellt. Dies liegt daran, dass neuere Versionen von "POV-Ray(TM)" den sRGB-Farbraum nutzen, während bis Version 3.6 noch der RGB-Farbraum Verwendung fand. Um dieses Problem zu umgehen, kann einfach im Kopf jedes Bildes die gewünschte Version des Programms angegeben werden:

        #version 3.6;
        #include "colors.inc"
        ...
        

Damit werden die Farben wie in Version 3.6 bearbeitet, während neue Funktionen, wie die Fähigkeit mehrere CPU-Kerne zu nutzen, weiterhin zum Einsatz kommen.

Besonderheiten der Betriebssysteme

Bei der Installation legt "POV-Ray(TM)" je nach Betriebssystem verschiedene Verzeichnisstrukturen an. Diese zu kennen ist wichtig, da innerhalb dieser auch die #include Dateien abgelegt werden. Ist der Pfad bekannt, kann man z.B. die Datei #textures.inc öffenen, um nachzusehen welche Texturen dort enthalten sind. Hier beschrieben werden lediglich die Systeme Windows(TM) und Linux. MacOS bleibt außen vor.

Windows:

Unter Windows wird bei der Installation das Verzeichnis "Eigene Dateien/POV-Ray/3.6/" angelegt (wobei 3.6 für die Versionsnummer steht). Dort gibt es das Unterverzeichnis "include" in dem unter Anderem die Dateien "colors.inc" und "textures.inc" zu finden sind. Im Unterverzeichnis "projects" werden dagegen alle ".pov"-Dateien und die jeweils daraus generierten Bilder abgelegt.

Eine weitere Besonderheit von Windows besteht darin, dass die Installation bereits einen Editor mit Content-Highlighting mitbringt. In diesem sind auch viele Funktionen über Drop-Down-Menüs verfügbar, weshalb ich persönlich diesen Editor verwende.

Linux:

Bei Systemen, die auf Debian basieren (z.B. Ubuntu) legt das System bei der Paket-Installation das Verzeichnis "/usr/share/povray/" an. Von besonderem Interesse ist dort das Unterverzeichnis "include" welches unter Anderem die Dateien "colors.inc" und "textures.inc" enthält. Zu beachten gilt dabei, dass nur Administratoren Schreibrechte in diesem Verzeichnis haben.
Hinweis: Je nach Distribution kann dieser Pfad abweichen.
Außedem ist bei der Installation auf einem Linux System kein Editor enthalten. Dieser muss separat installiet werden, oder es muss auf einen bestehenden Editor zurück gegriffen werden. Hier bietet sich mit "Kate" ein Editor mit Content-Highlighting an.
Unter Linux muss das Rendern über ein Terminal erfolgen. Hier ist es hilfreich alle gewünschten Einstellungen in eine ".ini" Datei zu schreiben, um sie nicht jeweils neu eingeben zu müssen. Dabei könnte solch eine Datei wie folgt aussehen:

        Library_Path=/home/myname/Raytraced/pov
        Library_Path=/home/myname/Raytraced/Include
        Input_File_Name=/Tutorial/Bild1.pov
        +W640 +H480 //Angabe von Höhe und Breite
        

In diesem Fall wird die Datei "Bild1.pov" aus dem aktuellen Verzeichnis gelesen und in das Bild "Bild1.png" geschrieben, das im aktuellen Verzeichnis erstellt wird. Aufgerufen wird "POV-Ray(TM)" dabei über den Befehl povray Bild.ini was das Erstellen des Bildes in Gange setzt.

Übersicht aller Gegenstände

Als Nachschlagewerk gibt es hier eine Auflistung aller in "POV-Ray(TM)" verfügbaren Formen und Gegenstände. Dabei werden auch Objekte benannt, die nicht Inhalt dieses Tutorials sind.

        \\---------------- blob -------------------
        blob{ threshold .4
        sphere{ <-1.5,3,6>, 2.5, .6 }
        cylinder{ <1,3,6>,<3,3,6> 1.5, .6 } }

        \\---------------- box --------------------
        box{ <-2,0,-2>,<2,4,2> }

        \\---------------- cone -------------------
        cone{ <0,-2,2>,2 <0,5,2>,.1 }

        \\---------------- cylinder ---------------
        cylinder{ <1,0,2>,<1,4,2>,2 }

        \\------- hight field (nicht enthalten) -------
        height_field{ tga "Graustufenbild.tga" smooth }

        \\---------------- isosurface -------------
        isosurface{ function{pow(x,2)+sin(z+2)+y}
        contained_by{box{<-4,-4,-12>, <4,4,12>}} max_gradient 8 }

        \\--------- julia fractal (nicht enthalten) -----
        julia_fractal{ <-.08,.3,-.06,.1> slice<1,1,0,2>,0 }

        \\--------------- lathe --------------------
        lathe { quadratic_spline 8,
        <2.2,0>, <1,.5>, <.3,1>, <.3,2> <.3,3>, <.5,3.5>, <1.5,5>, <2,7> }

        \\--------------- prism ---------------------
        prism{ linear_sweep linear_spline 0, 2, 7
        <-1,0>, <-2,1>, <-1,2>, <1,2>, <2,1>, <1,0>, <-1,0> }

        \\--------------- sphere --------------------
        sphere{ <1,2,3>,1 }

        \\-------------- sphere sweep ---------------
        sphere_sweep{ linear_spline 5
        <-3,5,8>,1, <1,5,7>,1 ,<1,1,6>,.6 ,<-2,1,6>,.6 ,<-5,2,12>,1
        tolerance 1.2e-4 }

        \\---------- superquadratic ellipsoid -------
        superellipsoid{ <.2,.8> }

        \\--------- surface of revolution (nicht enthalten) -------
        sor{ 7, <2.2,0>, <1,.5>, <.3,1>, <.3,2> <.3,3>, <.5,3.5>, <1.5,5> }

        \\----------- text (nicht enthalten) ------------
        text{ ttf "timrom.ttf" "POV-Ray Tutorial" 1 }

        \\------------------ torus -----------------------
        torus{ 2,.4 }
        

Mathematische Funktionen

Beim Einsatz des isosurface ist es notwendig alle möglichen mathematischen Funktionen zu kennen, die man mit "POV-Ray(TM)" darstellen kann. Daher folgt hier eine Auflistung mitsamt der Schreibweise innerhalb der function-Umgebung.

Funktion Schreibweise Funktion Schreibweise
x2 pow(x,2) loge(x) ln(x)
xn pow(x,n) log10(x) log(x)
sin(x) sin(x) sinh(x) sinh(x)
cos(x) cos(x) cosh(x) cosh(x)
tan(x) tan(x) tanh(x) tanh(x)
arcsin(x) asin(x) arcsinh(x) asinh(x)
arccos(x) acos(x) arccosh(x) acosh(x)
arctan(x) atan(x) arctanh(x) atanh(x)
ex exp(x)  x  sqrt(x)
|x| abs(x)--

Eine Übersicht aller Funktionen findet sich ebenfalls auf der "POV-Ray(TM)"-Homepage

Über das Tutorial

Aktuelle Version: 3.0

Dieses Tutorial für "POV-Ray(TM)" wurde erstellt von Peter Christian alias "Der Schreibende Physiker". Die aktuelle Version wurde hochgeladen am 17.04.2021.
Das Tutorial wird freiwillig und kostenfrei zur Verfügung gestellt. Daher kann für Schäden, die aus eventuellen Fehler oder veralteten Informationen entstehen, nicht gehaftet werden. Weiterhin bin ich bestrebt, das Tutorial zu pflegen, kann für die Aktualität jedoch keine Garantie übernehmen.

Das Tutorial liegt auf einem Webserver, für den jährlich ca. 80 EUR an Gebühren anfallen. Daher freue ich mich über Spenden, die es mir ermöglichen, die Kosten für die Bereitstellung zu decken und dieses Tutorial weiterhin kostenfrei und ohne Werbung anzubieten.