Freigeben über


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|