Spiegelung
Einige Anwendungen bieten Features, die im Clientbereich gezeichnete Objekte (oder Spiegel) widerspiegeln. Anwendungen, die Reflektionsfunktionen enthalten, verwenden die SetWorldTransform-Funktion , um die entsprechenden Werte im Weltraum in die Transformation "Seitenraum" 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 und vertikalen Reflexionskomponenten an.
Die Reflektionstransformation erstellt ein Spiegel Bild eines Objekts in Bezug auf die x- oder y-Achse. Kurz gesagt, Reflektion ist nur eine negative Skalierung. Um eine horizontale Reflexion zu erzeugen, werden x-Koordinaten mit -1 multipliziert. Um eine vertikale Reflexion zu erzeugen, werden y-Koordinaten mit -1 multipliziert.
Die horizontale Reflexion kann durch den folgenden Algorithmus dargestellt werden:
x' = -x
wobei x die x-Koordinate und x' das Ergebnis der Reflexion ist.
Die 2-mal-2-Matrix, die eine horizontale Reflexion erzeugt hat, enthält die folgenden Werte:
|-1 0|
|0 1|
Vertikale Reflexion kann durch den folgenden Algorithmus dargestellt werden:
y' = -y
wobei y die y-Koordinate und y' das Ergebnis der Reflexion ist.
Die 2-mal-2-Matrix, die eine vertikale Reflexion erzeugt hat, enthält die folgenden Werte:
|1 0|
|0 -1|
Die Vorgänge horizontale Reflexion und vertikale Reflexion können mithilfe der folgenden 2-by-2-Matrix zu einem einzigen Vorgang kombiniert werden:
|-1 0|
|0 -1|