Per prima cosa, guarda la pagina di Wikipedia su matrici di trasformazione . Questo dovrebbe aiutare con la terminologia. Successivamente, capisci che ci sono due matrici coinvolte in un dato momento.
- La matrice "primo"
- La matrice "elemento"
La matrice primaria di solito inizia come un gruppo di zeri e uno:
[0 0 0]
[0 0 0]
[0 0 1]
Questo significa non fare nulla. Successivamente viene determinata la matrice dell'articolo. Una volta che è il momento di iniziare a posizionare le cose sul dispositivo, allora queste due matrici sono combinate con una trasformazione affine .
Questa trasformazione ti dà un punto fuori dalla posizione di partenza per disegnare il tuo oggetto, con qualsiasi ridimensionamento o rotazione appropriati.
Poiché la matrice primaria viene utilizzata su tutti gli elementi, possiamo regolarla per avere un effetto universale. Diciamo che vogliamo spostare tutto "lasciato" 50 punti. Sei fortunato perché non dovresti impostare manualmente la matrice per farlo, basta chiamare cairo_translate(cr, -50, 0)
o qualcosa di simile.
Ora ogni elemento nuovo sarà modificato.