Condividi tramite


Reflection

Alcune applicazioni forniscono funzionalità che riflettono (o rispecchiano) gli oggetti disegnati nell'area client. Le applicazioni che contengono funzionalità di reflection usano la funzione SetWorldTransform per impostare i valori appropriati nella trasformazione spazio a pagina nello spazio globale. Questa funzione riceve un puntatore a una struttura XFORM contenente i valori appropriati. I membri eM11 e eM22 di XFORM specificano rispettivamente i componenti di reflection orizzontale e verticale.

La trasformazione reflection crea un'immagine speculare di un oggetto rispetto all'asse x o y. In breve, la reflection è semplicemente un ridimensionamento negativo. Per produrre una reflection orizzontale, le coordinate x vengono moltiplicate per -1. Per produrre una reflection verticale, le coordinate y vengono moltiplicate per -1.

La reflection orizzontale può essere rappresentata dall'algoritmo seguente:

x' = -x 

dove x è la coordinata x e x' è il risultato della reflection.

La matrice 2 per 2 che ha prodotto la reflection orizzontale contiene i valori seguenti:

|-1    0| 
|0     1| 

La reflection verticale può essere rappresentata dall'algoritmo seguente:

y' = -y 

dove y è la coordinata y e y' è il risultato della reflection.

La matrice 2 per 2 che ha prodotto la reflection verticale contiene i valori seguenti:

|1    0| 
|0   -1| 

Le operazioni di reflection orizzontale e reflection verticale possono essere combinate in una singola operazione usando la matrice 2-by-2 seguente:

|-1    0| 
|0    -1|