Frustum
Table of Contents:
Die Form eines Frustums mit wichtigen Kennzahlen
Das Wort Frustum bedeutet wörtlich aus dem englischen übersetzt "Kegelstumpf" und bezeichnet somit einen der Spitze beraubten Kegel. In der 3D-Grafik versteht man unter einem Frustum den sichtbaren Bereich einer 3-dimensionalen Szene. Die Form entsteht durch die Fluchtpunktprojektion. Dadurch, dass der Frustum mit größerer Entfernung breiter wird, werden die Objekte dadurch mit größerer Entfernung kleiner.
Die Form des Pyramidenstumpfes ergibt sich aus drei Tatsachen:
- Der Bildschirm ist rechteckig. Daher handelt es sich um eine Pyramide. Wäre der Bildschirm rund hätten wir es mit einem Kegel zu tun.
- Es gibt eine größte Z-Koordinate die noch sichtbar ist. Dies ist die Seite der Pyramide wo die Spitze sitzen würde.
- Es gibt eine kleinste Z-Koordinate die noch sichtbar ist. Dies ist der Fuss der Pyramide.
Die Seitenansicht des Frustums
Der Beobachter blickt immer in Richtung des größer werdenden Pyramidenquerschnitts, also von der Spitze aus in Richtung des Fußes. Der Abstand in Blickrichtung von der Kamera zum Beginn des sichtbaren Bereichs wird wird
genannt. Der Abstand von der Kamera zum Ende des sichtbaren Bereiches
. Das Verhältnis von Breite zu Höhe wird "aspect" oder auch "Seitenverhältnis" genannt und beträgt bei einem Standard-Bildschirm 4:3. Der sichtbare Bereich kann über den Sichtwinkel verändert werden - während 45 bis 60 Grad in etwa den normalen Bereich darstellen, bilden Winkel über 60 Grad den Effekt eines Weitwinkelobjektivs nach.
Die Koordinaten einer 3D-Szene durchlaufen bei der OpenGL Bibliothek zwei Matrizen: Die Modelview- und die Projektionsmatrix. Während die Modelview-Matrix dafür gedacht ist die Szene wie gewünscht zu positionieren führt die Projektionsmatrix die Perspektivprojektion durch. Technisch betrachtet verhalten sich die beiden Matrizen nicht unterschiedlich - ihnen wurden lediglich andere Aufgaben zugewiesen.
OpenGL bietet eine Methode an um die Projektionsmatrix zu erstellen: glFrustum(...) Die Methode benötigt als Parameter folgende Angaben:
,
,
,
, near, far. Diese Werte definieren einen Frustum zwar eindeutig, sind aber nicht intuitiv klar und daher nicht direkt eingebbar. Um eine bestimmte Projektion festzulegen ist noch etwas Rechenarbeit nötig.

