Taglio
Alcune applicazioni forniscono funzionalità che gli oggetti shear disegnati nell'area client. Le applicazioni che usano le funzionalità shear usano la funzione SetWorldTransform per impostare i valori appropriati nella trasformazione spazio a pagina. Questa funzione riceve un puntatore a una struttura XFORM contenente i valori appropriati. I membri di EM12 e EM21 di XFORM specificano rispettivamente le costanti di proporzionale orizzontale e verticale.
Esistono due componenti della trasformazione shear. Il primo modifica le linee verticali in un oggetto; il secondo modifica le linee orizzontali. La figura seguente mostra un rettangolo di 20 unità da 20 a 20 unità in modo orizzontale quando viene copiato dallo spazio mondiale allo spazio pagina.
Un shear orizzontale può essere rappresentato dall'algoritmo seguente:
x' = x + (Sx * y)
dove x è la coordinata x originale, Sx è la costante di proporzionale e x è il risultato della trasformazione shear.
Un shear verticale può essere rappresentato dall'algoritmo seguente:
y' = y + (Sy * x)
dove y è la coordinata y originale, Sy è la costante di proporzionale e y è il risultato della trasformazione shear.
Le trasformazioni orizzontale-shear e vertical-shear possono essere combinate in un'unica operazione usando una matrice 2-by-2.
|x' y'| == |x y| * | 1 Sx|
| Sy 1|
La matrice 2-by-2 che ha prodotto il shear contiene i valori seguenti:
|1 1|
|0 1|