Formula per una matrice di proiezione ortogonale?
-
22-08-2019 - |
Domanda
Ho cercato un po 'intorno e non riesco a trovare solo quello che ho "m cercando. Ho trovato 'formule canoniche', ma qual è il modo migliore per utilizzare questi? Devo scalare ogni singolo giù vertice? O c'è un modo migliore?
Una formula sarebbe davvero darmi una mano, ma io sono anche alla ricerca di una spiegazione circa gli aerei vicini e lontani z posizione relativa dello spettatore
Soluzione
Ecco una fonte ragionevole che deriva un ortogonale progetto matrix :
Consideriamo alcuni punti: in primo luogo, con l'occhio lo spazio, la fotocamera è posizionato ad l'origine e guardando direttamente verso il basso l'asse z. E in secondo luogo, di solito desidera che il campo di vista di estendere ugualmente molto più a sinistra come fa a destra, e altrettanto molto al di sopra della asse z come sotto. Se le cose stanno così, l'asse z passa direttamente attraverso il centro del volume di vista, e in modo da avere r = -l e t = -b. In altro parole, si può dimenticare R, L, T, aeb del tutto, e semplicemente definire la visualizzazione del volume in termini di larghezza w, e un'altezza h, insieme con il vostro altri piani di ritaglio f e n. Se tu fare quelle sostituzioni nel matrice proiezione ortogonale sopra, si ottiene questo abbastanza semplificato Versione:
Tutto quanto sopra ti dà una matrice che assomiglia a questo (aggiungi rotazione e traslazione a seconda dei casi, se desideri che il tuo matrice di trasformazione risultante per il trattamento di una posizione della fotocamera e l'orientamento arbitrario).
(fonte: codeguru.com )