5
C'è un modo per calcolare la matrice un'inclinazione lungo un asse delle coordinate, data l'angolo di inclinazione, come segue3D matrice di skew trasformazione lungo un asse delle coordinate
C'è un modo per calcolare la matrice un'inclinazione lungo un asse delle coordinate, data l'angolo di inclinazione, come segue3D matrice di skew trasformazione lungo un asse delle coordinate
Questo dovrebbe funzionare per la maggior parte di inclinazione di un oggetto con una matrice di trasformazione, in particolare utilizzando glMultMatrix (matrice)
matrix1[] = {
1, 0, 0, 0,
tan(a), 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
};
matrix2[] = {
1, 0, 0, 0,
0, 1, 0, 0,
tan(a), 0, 1, 0,
0, 0, 0, 1
};
matrix3[] = {
1, tan(a), 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
};
matrix4[] = {
1, 0, 0, 0,
0, 1, 0, 0,
0, tan(a), 1, 0,
0, 0, 0, 1
};
matrix5[] = {
1, 0, tan(a), 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1
};
matrix6[] = {
1, 0, 0, 0,
0, 1, tan(a), 0,
0, 0, 1, 0,
0, 0, 0, 1
};
specifi cs: 1) disallinea lungo x, relativo all'asse y, 2) disallinea lungo x, relativo all'asse z, 3) disallinea lungo y, relativo all'asse x, 4) disallinea lungo y, relativo all'asse z, 5) obliquamente lungo z, rispetto all'asse x, 6) inclinati lungo z rispetto all'asse y. Potete vedere che questo è anche il posizionamento di 'tan (a)' nella matrice, es. 1) ** quando moltiplicate un vettore con la matrice, la componente y del risultato è influenzata dal 'tan (a)' - influenzato dalla quantità della componente x del vettore. Un altro modo per pensarci è che quando x diventa più grande, c'è più skew nel risultato y. ** –