Definition einer Kamera und Perspektivische Transformation

Sorry, your browser does not support java.

Dieses Applet stellt die Kamera-Analogie zur Definition des drei-dimensionalen Sichtvolumens vor. Die einzelnen Schritte der Viewing-Pipeline sind veranschaulicht und lassen sich in frei wählbaren Ansichten betrachten.

Alle Kamera-Parameter sind direkt modifizierbar, wie sich auch die Lage und die Größe des Objektes verändern läßt. Schließlich wird das Clipping dargestellt.

Kamera
Augpunkt
  • Der Standort des Betrachters läßt sich mithilfe des Eingabefeldes festlegen. Das Symbol Auge zeigt die genaue Lage.
Blickpunkt
  • Der Referenzpunkt bestimmt die Blickrichtung und legt durch seinen Abstand zum Augpunkt gleichzeitig den Fokus fest. Seine Koordinaten werden über das Eingabefeld festgelegt. Als Symbol wird eine Hand verwendet.
Oben-Richtung
  • Der Aufwärtsvektor legt die vertikale Orientierung fest und läßt sich über das Eingabefeld eingeben. Das Symbol Pfeil zeigt die Richtung in Bezug zum Augpunkt.
Fokus
  • Dieser Parameter ist als Abstand von Aug- und Blickpunkt gegeben und kann somit nur indirekt modifiziert werden.
halber horizontaler Öffnungswinkel
  • Die Breite des Sichtvolumens wird durch den halben horizontalen Öffnungswinkel im Gradmaß angegeben. Der Winkel wird relativ zur Blickrichtung gesehen und kann über den Schiebebalken verändert werden.
halber vertikaler Öffnungswinkel
  • Die Höhe des Sichtvolumens wird durch den halben vertikalen Öffnungswinkel im Gradmaß angegeben. Der Winkel wird relativ zur Blickrichtung gesehen und durch den Schiebebalken modifiziert.
vordere Clipping-Ebene
  • Der vordere Sichtbarkeitsbereich wird durch eine Ebene mit der Blickrichtung als Normalen und einem Abstand zum Augpunkt festgelegt. Letzterer kann mithilfe des Schiebebalkens eingestellt werden.
hintere Clipping-Ebene
  • Der hintere Sichtbarkeitsbereich wird analog zum vorderen durch eine Ebene mit der Blickrichtung als Normalen und dem Abstand zum Augpunkt festgelegt, der wiederum über den Schiebebalken eingegeben wird.
Ausgangsparameter
  • Der Button Ausgangsparameter stellt auf die initialen Kameraparameter zurück.
Objekt
Skalierung
  • Die Größe kann durch einen Faktor über den Schiebebalken beeinflußt werden.
Translation
  • Die X-, Y- und Z-Translation des Objektes kann durch die entsprechenden Schiebebalken modifiziert werden.
Ausgangsposition
  • Der Button Ausgangsposition stellt das Objekt auf die initialen Werte zurück.
Ansicht
Fenster
  • Das große Fenster zeigt die Kamera und das Objekt im Weltkoordinaten-System. Nach der Translation des Objektes in den Referenzpunkt und einer Rotation als Basiswechsel wird die resultierende Szene in Kamerakoordinaten dargestellt. Die darauffolgende perspektivische Transformation wird im dritten Fenster veranschaulicht. Das Sichtvolumen wird dabei vom Pyramidenstumpf zum Quader transformiert.

  • Das letzte Fenster zeigt die zweidimensionale Bildschirmausgabe nach Projektion des Quaders auf die Bildschirmebene und entsprechender Skalierung. Die Längenverhältnisse werden beibehalten.
Kamera
  • Die Darstellung der abgeschnittenen Sichtpyramide bzw. des Quaders läßt sich durch die Checkbox sichtbar an- und abstellen.
Objekt
  • Die Ausgabe des Objektes kann mithilfe der Checkbox sichtbar unterbunden werden.
Szene drehen
  • Linke Maustaste gedrückt halten und die Maus bewegen: eine waagrechte Bewegung dreht um die y-Achse und eine senkrechte Bewegung um die x-Achse.
Größe ändern
  • Rechte Maustaste gedrückt halten und Maus aufwärts (verkleinern) oder oder abwärts (vergrößern) ziehen.
Ausgangszustand
  • Der Button Schraeg stellt die ursprüngliche Ansicht wieder her. Diese stellt die Szene in einer diagonalen Ansicht dar.
Vorderansicht
  • Der Button Vorderansicht stellt die Darstellung auf eine Sicht von der negativen z-Achse aus ein. Die Benennung bezieht sich auf die initialen Kamera-Parameter.
Seitenansicht
  • Zusätzlich läßt sich die Szene mit dem Button Seitenansicht aus der Sicht der negativen x-Achse betrachten. Die Benennung bezieht sich auf die initialen Kamera-Parameter.
1. Schritt: Geeignete Ansicht wählen
Verschaffen Sie sich einen Eindrück über die Szene, indem Sie durch Drücken des Buttons Schrägansicht und durch Drehen der Szene mit der linken Maustaste verschiedene Ansichten wählen. Mithilfe der rechten Maustaste und einer vertikalen Mausbewegung kann die Szene skaliert werden. Die Ausgangsansicht kann durch erneutes Drücken des Buttons wieder hergestellt werden.
Der Button Seitenansicht stellt eine Sicht von der negativer x-Achse aus ein. Mit den ursprünglichen Kameraparametern wird hier eine Sicht von der Seite erreicht.
Schließlich wird durch den Button Vorderansicht die Szene von der negativen z-Achse aus betrachtet. Alle diese Ansichten lassen sich auch erreichen, indem die Szene entsprechend mit der Maus bewegt wird.
Schalten Sie über den Kamerabutton sichtbar die vollständige Darstellung des Sichtvolumens ein. Sie erkennen einen Pyramidenstumpf. Zusätzlich läßt sich über den Objektbutton sichtbar die Darstellung des Objektes unterdrücken.
2. Schritt: Die Kameraparameter
Betrachten Sie nun die drei wesentlichen Kameraparameter Augpunkt, Blickpunkt und Aufwärtsvektor (Oben-Richtung). Sie werden durch die Symbole Auge, Hand und Pfeil verdeutlicht. Der Augpunkt legt den Standort des Betrachters und der Blickpunkt seine Blickrichtung fest. Seine vertikale Orientierung wird durch den Aufwärtsvektor gegeben.

Der Fokus, der in die Perspektive mit einfließt, ist implizit als Abstand von Blick- und Augpunkt gegeben. Die resultierende Bildschirmebene wird mit eingezeichnet.

Die weiteren Parameter sind der horizontale und vertikale (halbe) Öffnungswinkel sowie die vordere und hintere Clipping-Ebene. Untersuchen Sie auch diese Parameter, indem sie sie unwesentlich ändern. Der Button Ausgangsparameter stellt auf die ursprünglichen Werte zurück.
3. Schritt: Das Objekt
Betrachten Sie nun das Objekt. Schalten Sie dazu die Darstellung der Kamera über deren sichtbar-Button wieder aus und aktivieren Sie analog die Ausgabe des Objektes. Variieren Sie die Größe des Objektes und dessen Lage anhand der Schieberegler Skalierung und X-, Y-, Z-Translation.
4. Schritt: Die Viewing-Pipeline
Nun ist es Zeit für die eigentliche Transformation des Sichtvolumens auf den Bildschirm. Die einzelnen Schritte werden in den unteren drei Fensteren veranschaulicht, das letzte davon zeigt das zweidimensionale Ergebnis. Stellen Sie zunächst alle Einstellungen zurück. Betrachten Sie im folgenden die einzelnen Schritte wie gewohnt in verschiedenen Ansichten.
Die erste Teiltransformation verschiebt das Objekt in den Blickpunkt als Ursprung des Kamerakoordinaten-Systems und führt einen Basiswechsel vom Weltkoordinaten-System ins Kamerakoordinaten-System durch. Letzteres ist gegeben durch die Blickrichtung, durch den Aufwärtsvektor und einen dazu senkrechten Vektor. Es entsteht ein rechthändiges System; da nur die vertikale Lage des Aufwärtsvektors interessant ist, wird er intern durch einen neuen, leicht gedrehten Aufwärtsvektor ersetzt.
Das mittlere Fenster führt die perspektivische Transformation durch. Der Augpunkt liegt nach dem vorigen Schritt auf den negativen z-Achse mit dem Wert Fokus. Beachten Sie, wie das Sichtvolumen sich von einem Pyramidenstumpf in einen Quader verwandelt und der Augpunkt ins Unendliche wandert.
Das rechte untere Fenster gibt das endgültige Bild aus, nachdem die dreidimensionalen Koordinaten auf die zweidimensionale Bildschirmebene projiziert und auf die Fensterdimension skaliert wurde.
Modifizieren Sie alle Kameraparameter und vergleichen Sie die Resultate. Beginnen Sie dabei mit dem horizontalen und vertikalen Öffnungswinkel und kleinen Bewegungen des Objektes.

Darauffolgend stellen Sie den Aufwärtsvektor beispielsweise auf (1,1,0) und setzen den Aug- und Blickpunkt auf verschiedene Positionen. Seien sie vorsichtig: Das Objekt ist nur sichtbar, falls Sie es genau anschauen!

5. Schritt: Clipping
Sie werden bemerkt haben, wie Teile des Objektes weggeschnitten werden, sobald sie das Sichtvolumen verlassen. Untersuchen Sie das Clipping nun genauer. Stellen Sie dazu alle Parameter zurück und variieren die vordere und hintere Clipping-Ebene. Hier wird die Seitenansicht hilfreich für die Anschauung sein.
Betrachten Sie alle Teilschritte der Viewing-Pipeline. Zu bemerken ist, daß die Perspektive auch auf die Clipping-Ebenen wirkt.
Genauso können Sie das Objekt aus dem Sichvolumen hinaus bewegen. Falls das Objekt hinter den Betrachter gestellt wird, werden Linien möglich, die gleichzeitig endliche und unendliche Punkte enthalten. Nach der Perspektive entsteht ein entsprechend konfuses Bild.
Deshalb werden derartige Linien durch einen w-Clip ensprechend abgeschnitten und nur die endliche Teillinie dargestellt. Versuchen Sie, den geschilderten Effekt zu erzeugen.