3.4. Rotar

La rotació sempre és al voltant d’un determinat eix de referència. Podem rotar sobre l’eix X, l’eix Y, l’eix Z o fins i tot sobre un vector que definirem, segons el cas la matriu a aplicar serà una o altre.

Figura 4. Rotar un cub.

Seguim amb el mateix criteri que abans. El cub vermell segueix sent estàtic en l’origen. El cub verd té exactament les mateixes dimensions però s’ha rotat 45 graus al voltat de l’eix vertical, que en aquest cas és l’eix Y i no el Z al que tant ens hem acostumat des de sempre.

Respecte al canvi de l’eix Y amb l’eix Z, en gràfics sempre s’usa la Z com a unitat de profunditat i no d’altura. Més endavant es veurà el buffer de profunditat, el qual s’usa per a que polígons que es troben davant de la càmera, però amb diferents profunditats, no es solapin (per a eliminar les superfícies ocultes).
Un altre aspecte a considerar és el signe dels angles amb els quals anem a efectuar una rotació. Existeix un conveni establert per a DirectX sobre aquest tema:

“L’angle de rotació es defineix com a positiu si suposa girar en la direcció de les agulles del rellotge (Clockwise) al mirar l’eix sobre el qual es rota de fora cap a dins (mirar cap a l’origen).”
És a dir:

Figura 5. Sentit positiu de la rotació.

En aquesta imatge es pot veure com la rotació a favor del rellotge és l’indicada (perquè aquesta rotació es considera positiva). Per exemple, si dic que vaig a rotar 30 graus clockwise al voltant de l’eix X em refereixo a que rotaré 30 graus seguint la direcció i eix de la figura.

A continuació es mostra la matriu de rotació (en aquest cas rotant sobre l’eix x):
Ara es mostra la matriu de rotació rotant sobre l’eix y:

Finalment, es mostra la matriu de rotació rotant sobre l’eix z:

No hay comentarios:

Publicar un comentario