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.

figura che mostra un rettangolo nello spazio del mondo e un trapeziod nello spazio della 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|