Beispiel 2: Die Window-to-Viewport-Transformation

Das zweite Beispiel ist die Window-to-Viewport-Transformation. Dazu zunächst einige Informationen:
Die bisher erwähnten Koordinatensysteme waren reellwertig und hatten beliebige Einheiten wie 1/2Meter oder 3/4 Zoll. In ihnen werden die Objekte einer virtuellen Welt modelliert. Man nennt sie deshalb auch Welt-Koordinaten-Systeme. Um die Objekte anzuzeigen, muß man ihre Weltkoordinaten auf Bildschirmkoordinaten umrechenen, denn der Bildschirm arbeitet mit ganzzahligen und begrenzten Koordinaten z.B. 640x320 Pixel. Welchen Teil der Weltkoordinatensysteme man darstellen möchte, legt man durch ein Rechteck, genannt Window, fest, von dem man die untere linke und obere rechte Ecke angibt. Alle Objekte in diesem Rechteck werden auf dem Bildschirm angezeigt, wiederum innerhalb eines Rechteckes, genannt Viewport. Objekte, die ganz oder teilweise außerhalb des Windows liegen, werden bei der Ausgabe abgeschnitten (clipping). Die Seitenverhältnisse von Window und Viewport müssen nicht gleich sein.

Abbildung Abbildung
Abb. 1.7:   Weltkoordinaten mit Window und Bildschirmkoordinaten mit Viewport

Die Window-to-Viewport-Transformation ist wieder eine Verküpfung von elementaren Transformationen:

Abbildung Abbildung Abbildung Abbildung
Abb. 1.8:   Die Window-to-Viewport-Transformation

Die Transformationsmatrix berechnet sich also aus:

Formel