Partager via


Réflexion

Certaines applications fournissent des fonctionnalités qui reflètent (ou miroir) des objets dessinés dans la zone cliente. Les applications qui contiennent des fonctionnalités de réflexion utilisent la fonction SetWorldTransform pour définir les valeurs appropriées dans l’espace mondial en transformation d’espace de page. Cette fonction reçoit un pointeur vers une structure XFORM contenant les valeurs appropriées. Les membres eM11 et eM22 de XFORM spécifient respectivement les composants de réflexion horizontale et verticale.

La transformation de réflexion crée une image miroir d’un objet par rapport à l’axe x ou y. En bref, la réflexion n’est qu’une mise à l’échelle négative. Pour produire une réflexion horizontale, les coordonnées x sont multipliées par -1. Pour produire une réflexion verticale, les coordonnées y sont multipliées par -1.

La réflexion horizontale peut être représentée par l’algorithme suivant :

x' = -x 

où x est la coordonnée x et x' est le résultat de la réflexion.

La matrice 2 par 2 qui a produit une réflexion horizontale contient les valeurs suivantes :

|-1    0| 
|0     1| 

La réflexion verticale peut être représentée par l’algorithme suivant :

y' = -y 

où y est la coordonnée y et y' est le résultat de la réflexion.

La matrice 2 par 2 qui a produit une réflexion verticale contient les valeurs suivantes :

|1    0| 
|0   -1| 

Les opérations de réflexion horizontale et verticale peuvent être combinées en une seule opération à l’aide de la matrice 2 par 2 suivante :

|-1    0| 
|0    -1|