Transformation von Koordinatenräumen
Ein Koordinatenraum ist ein planarer Raum, der auf dem kartesischen Koordinatensystem basiert. Dieses System bietet eine Möglichkeit zum Angeben der Position jedes Punkts auf einer Ebene. Es sind zwei Achsen erforderlich, die senkrecht und gleich lang sind. Die folgende Abbildung zeigt einen Koordinatenbereich.
Das System unterstützt vier Koordinatenräume, wie in der folgenden Tabelle beschrieben.
Koordinatenbereich | BESCHREIBUNG |
---|---|
world | Wird optional als Startkoordinatenbereich für Grafiktransformationen verwendet. Es ermöglicht Skalierung, Übersetzung, Drehung, Scherung und Reflektion. Der Weltraum misst 2^32 Einheiten hoch um 2^32 Einheiten breit. |
Seite (page) | Wird entweder als nächster Raum nach der Welt oder als Startbereich für Grafiktransformationen verwendet. Der Zuordnungsmodus wird festgelegt. Der Seitenraum misst auch 2^32 Einheiten hoch um 2^32 Einheiten breit. |
device | Wird als nächstes Leerzeichen nach dem Seitenbereich verwendet. Es lässt nur die Übersetzung zu, wodurch sichergestellt wird, dass der Ursprung des Gerätebereichs dem richtigen Standort im physischen Gerätebereich entspricht. Der Geräteraum misst 2^27 Einheiten hoch um 2^27 Einheiten breit. |
Physisches Gerät | Der letzte (Ausgabe)-Bereich für Grafiktransformationen. Er bezieht sich in der Regel auf den Clientbereich des Anwendungsfensters. Es kann jedoch auch den gesamten Desktop, ein vollständiges Fenster (einschließlich Rahmen, Titelleiste und Menüleiste) oder eine Seite mit Drucker- oder Plotterpapier enthalten, abhängig von der Funktion, die den Ziehpunkt für den Gerätekontext erhalten hat. Die Abmessungen physischer Geräte variieren je nach den Abmessungen, die von der Anzeige-, Drucker- oder Plottertechnologie festgelegt werden. |
Der Seitenbereich funktioniert mit dem Gerätebereich, um Anwendungen geräteunabhängige Einheiten wie Millimeter und Zoll bereitzustellen. Diese Übersicht bezieht sich sowohl auf den Welt- als auch den Seitenbereich als logischen Raum.
Um die Ausgabe auf einem physischen Gerät darzustellen, kopiert (oder ordnet das System) einen rechteckigen Bereich von einem Koordinatenraum in den nächsten mithilfe einer Transformation zu, bis die Ausgabe vollständig auf dem physischen Gerät angezeigt wird. Die Zuordnung beginnt im Weltbereich der Anwendung, wenn die Anwendung die SetWorldTransform-Funktion aufgerufen hat. Andernfalls erfolgt die Zuordnung im Seitenbereich. Da das System jeden Punkt innerhalb des rechteckigen Bereichs aus einem Bereich in einen anderen kopiert, wendet es einen Algorithmus an, der als Transformation bezeichnet wird. Eine Transformation ändert (oder transformiert) die Größe, Ausrichtung und Form von Objekten, die aus einem Koordinatenbereich in einen anderen kopiert werden. Obwohl sich eine Transformation auf ein Objekt als Ganzes auswirkt, wird sie auf jeden Punkt oder jede Zeile im Objekt angewendet.
Die folgende Abbildung zeigt eine typische Transformation, die mit der SetWorldTransform-Funktion ausgeführt wird.