Reflexion
Einige Anwendungen bieten Features, die objekte widerspiegeln (oder spiegeln), die im Clientbereich gezeichnet wurden. Anwendungen, die Spiegelungsfunktionen enthalten, verwenden die SetWorldTransform--Funktion, um die entsprechenden Werte im Weltbereich auf die Seitenbereichtransformation festzulegen. Diese Funktion empfängt einen Zeiger auf eine XFORM- Struktur, die die entsprechenden Werte enthält. Die Elemente eM11 und eM22 von XFORM geben die horizontalen bzw. vertikalen Spiegelungskomponenten an.
Die Spiegelungstransformation erstellt ein Spiegelbild eines Objekts in Bezug auf die x- oder y-Achse. Kurz gesagt, Spiegelung ist nur eine negative Skalierung. Um eine horizontale Spiegelung zu erzeugen, werden X-Koordinaten mit -1 multipliziert. Um eine vertikale Spiegelung zu erzeugen, werden y-Koordinaten mit -1 multipliziert.
Horizontale Spiegelung kann durch den folgenden Algorithmus dargestellt werden:
x' = -x
wobei x die X-Koordinate und x' das Ergebnis der Spiegelung ist.
Die 2:2-Matrix, die horizontale Spiegelung erzeugt hat, enthält die folgenden Werte:
|-1 0|
|0 1|
Vertikale Spiegelung kann durch den folgenden Algorithmus dargestellt werden:
y' = -y
y ist die y-Koordinate und y' ist das Ergebnis der Reflexion.
Die 2:2-Matrix, die vertikale Spiegelung erzeugt hat, enthält die folgenden Werte:
|1 0|
|0 -1|
Die Vorgänge horizontale Spiegelung und vertikale Spiegelung können mit der folgenden 2:2-Matrix in einem einzigen Vorgang kombiniert werden:
|-1 0|
|0 -1|