DirectX/Calcolo matriciale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{DirectX}} Una matrice è una tabella rettangolare di numeri reali. Ogni matrice è composta da ''m'' righe e ''n'' colonne. Ogni elemento nella matrice occupa una determinata posi...
 
Nessun oggetto della modifica
Riga 55:
=== Matrice inversa ===
Si definisce matrice inversa di una matrice M, una matrice M<sup>-1</sup> tale che <math>MM^{-1} = I</math>. Il calcolo della matrice inversa non è semplice e per quanto ci serve nemmeno utile. Esiste comunque una funzione di D3DX che ci permette di calcolare la matrice inversa di una data matrice.
 
== DirectX e le Matrici ===
Una matrice in DirectX si può definire come di tipo D3DXMATRIX. In DirectX tutte le matrici sono sempre quadrate di lato 4. In altre parole ogni D3DXMATRIX ha sempre 4 righe e 4 colonne. La classe D3DXMATRIX è molto completa e fornisce operatori di uguaglianza, somma sottrazione, moltiplicazione per costante e per altra matrice. Ci sono inoltre 4 funzioni che svolgono altri compiti:
<source lang="cpp">
D3DXMATRIX *D3DXMatrixIdentity(D3DXMATRIX *pOut);
D3DXMATRIX *D3DXMatrixTranspose(D3DXMATRIX *pOut, D3DXMATRIX *pM);
D3DXMATRIX *D3DXMatrixInverse(D3DXMATRIX *pOut, float *pDeterminant, D3DXMATRIX *pM);
D3DXVECTOR4 *D3DXVec4Transform(D3DXVECTOR4 *pOut, D3DXVECTOR4 *pV, D3DXMATRIX *pM);
</source>
*'''D3DXMatrixIdentity''' prende un puntatore a matrice come argomento e trasforma quella matrice nella matrice identità.
*'''D3DXMatrixTranspose''' genera la matrice trasposta di una data matrice M. Come primo parametro vuole il puntatore alla matrice dove verrà messo il risultato e come secondo, la matrice originale.
*'''D3DXMatrixInverse''' genera la matrice inversa di una data matrice M. Funziona come Transpose.
*'''D3DXVec4Transfor''' moltiplica un vettore per una matrice ottenendo un nuovo vettore. Come argomenti vuole il puntatore al vettore risultato, il vettore da moltiplicare e la matrice da moltiplicare.
 
Terminato il modulo sulle matrici non posso che suggerire di allenarsi su fogli di carta o scrivere piccoli programmi per fissare questi concetti fondamentali per la computer graphics.
 
[[Categoria:DirectX|Ripasso di Matematica|Calcolo matriciale]]
{{Avanzamento|75100%|0708 ottobre 2011}}