Zur Abbildung einer dreidimensionalen Szene aus den Weltkoordinaten auf
den Bildschirm muß eine natürliche Betrachtersicht
(View Orientation)
definiert werden.
Eine solche Betrachtersicht besteht aus den Viewing-Parametern
- Betrachterstandpunkt (Projection Reference Point;
auch Eyepoint),
- Blickrichtung (View Reference Point),
- vertikale Orientierung (View Up Vector) oder (View Up Point),
- Blickwinkel (Brennweite).
Der fiktive Betrachter blickt vom in Richtung und
kippt dabei die Kamera so um die Blickrichtung,
daß von ihm aus gesehen vertikal nach oben zeigt.
Der Blickwinkel entspricht der Brennweite und regelt den Bildausschnitt
(Zooming).
Durch diese Parameter wird das VRC
(View Reference Coordinate System) definiert mit
als Ursprung und auf der positiven -Achse.
Die -Ebene
wird als View Plane bezeichnet und steht senkrecht auf der
Blickrichtung.
Die -Achse ist gegeben durch die
Projektion von in die View Plane.
Deshalb darf nicht parallel zur Blickrichtung sein.
Das VRC hat die gleiche
Metrik wie das WC.
Es handelt sich also um einen Wechsel des Koordinatensystems.
Die entsprechende Matrix, die den Wechsel vom WC ins VRC durchführt ergibt
sich, wenn man die Vektoren , und und die homogenen Koordinaten
des bzgl. des WC als Spaltenvektoren nebeneinander schreibt und diese
Matrix anschließend invertiert.
Der Abstand zwischen und
wird als (View Plane Distance) bezeichnet.
Abbildung
15.3: Definition des VRC
Für die Anwendung des Viewings ergeben sich im Programm
verschiedene Möglichkeiten:
- Soll ein Objekt von verschiedenen Seiten betrachtet werden,
so wird in das Objekt gelegt.
Durch läßt sich nun die Blickrichtung
frei wählen.
Der Vektor kann dabei konstant bleiben, sofern nicht
senkrecht von oben oder unten geschaut wird.
- Soll sich die Szene bei konstantem Standpunkt um den Betrachter drehen,
wird festgesetzt.
Durch Veränderung des bewegt sich dann die
Szene vor dem Auge des Betrachters.
Der kann dabei konstant bleiben,
solange er nicht kollinear zum Vektor durch und wird.
- Eine weitere Möglichkeit sind Animationen,
bei denen sich z.B. der Beobachter
vorwärts in die Szene hineinbewegt.
Dieser Effekt läßt sich durch Verschieben von
und um denselben Vektor erzielen.