Perché è 4×4 matrici utilizzate per trasformare le cose in 3D?
Motivo dietro l'utilizzo di 4×4 matrici a trasformare le cose in 3D
Per esempio, rotazione solitamente viene fatto usando una matrice, così al fine di affrontare con più trasformazioni (rotazione / traslazione / scalatura / proiezione…eccetera) in modo uniforme, è necessario codificarli in una matrice.
Bene, più tecnicamente parlando; una trasformazione sta mappando un punto / vettore a un altro punto / vettore.
p` = T(p);
dove p` è il punto T e trasformato(p) è la funzione di trasformazione.
Dato che non usiamo una matrice che dobbiamo fare questo per combinare più trasformazioni:
p1 = T(p);
pfinale = M(p1);
Non solo una matrice combinare più tipi di trasformazioni in una matrice singola (es. affine, lineare, proiettiva).
Utilizzando una matrice ci dà l'opportunità di combinare catene di trasformazioni e quindi in batch moltiplicarli. Questo ci fa risparmiare un sacco di cicli di solito dalla GPU (grazie a @ChristianRau per segnalarlo).
Tfinale = T * R * P; // tradurreruotareprogetto
pfinale = Tfinale*p;
E 'inoltre bene precisare che GPU ed anche alcune CPU sono ottimizzati per operazioni vettoriali; CPU utilizzando SIMD e GPU essendo pilotati dati processori paralleli di disegno, così utilizzando matrici si sposa perfettamente con accelerazione hardware (in realtà, GPU stati progettati per adattarsi / operazioni vettoriali matrici).
CREDITO:
https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-matrici a trasformare-cose-in-3d?answertab = attiva # tab-top
Lascia una risposta
Devi accesso o Registrati per aggiungere una nuova risposta.