Domanda

Mi piacerebbe avere un'idea di che tipo di matematica è in genere necessaria per la programmazione motore 3D del gioco? Qualsiasi matematica specifico (come geometria vettoriale) o algoritmi di calcolo (come trasformate di Fourier veloce), o si tratta di tutto astratta via con DirectX / OpenGL in modo che la matematica molto complessa in realtà non è più necessario?

È stato utile?

Soluzione

Matrici, trigonometria, geometria per lo più e un po 'di algebra lineare

Date un'occhiata qui http://www.essentialmath.com/

Altri suggerimenti

Algebra lineare! Un sacco di un sacco di Linear Algebra!

Qui ci sono solo le classi e di esempio situazioni in cui ne avete bisogno

  • Vector - posizione, velocità, normali
  • Matrix - trasformazioni
  • Quaternion - le rotazioni (grandi per le animazioni delle ossa)
  • Ray - rilevamento delle collisioni proiettile
  • Aereo - rilevamento delle collisioni proiettile
  • Frustum - render abbattimento
  • Sfera - render abbattimento, prova veloce di collisione
  • Asse-Allinea rettangolo di selezione - abbattimento, prove di collisione, il partizionamento spaziale
  • Oriented rettangolo di selezione - test di collisione
  • Convex Hull - collisione, il partizionamento spaziale
  • ecc.

Si dovrebbe iniziare con Vector e Matrix in quanto saranno utilizzati ovunque nel motore (grafica, fisica, intelligenza artificiale, ecc.)

Per la maggior parte di algebra lineare e geometria computazionale; Quaternioni sono ampiamente utilizzati e analisi numerica è necessario se si sta lavorando su un motore fisico.

Quanto devi usare la roba su base giornaliera dipende da quello che stai facendo. Se sei un programmatore grafico, e quindi costruendo il motore grafico 3D in sé, allora si sarebbe probabilmente implementeremo o il mantenimento di implementazioni di librerie e funzioni che in realtà fare la matematica classe, quindi sarebbe relativamente importante conoscere i dettagli cruenti. Se si utilizza la libreria come client o lavorare su un'altra parte del motore di gioco (AI, audio, interfaccia utente, fotocamera, ecc) allora si avrà bisogno di capire la matematica concettualmente, ma si può certamente ottenere via con non sapendo come implementare una matrice inversa su una lavagna fuori dalla parte superiore della testa.

API grafiche non eliminano il bisogno di qualcuno che conosce questo la matematica; essi sono limitati al disegno, quindi deve essere attuata al di fuori della API grafiche tutta la gestione delle scene e la simulazione mondo. Naturalmente, ci sono opzioni middleware anche lì, ma molti studi di rotolare i propri sistemi.

Ci sono un buon numero di risorse mirate a questo mercato. Ad esempio, su Amazon ci sono libri come 3D Math Primer per la grafica e lo sviluppo del gioco , e probabilmente c'è un sacco di roba anche online.

matematica complessa entra in gioco, ma più importante è la comprensione dei concetti alla base come la matematica e spesso non la matematica in sé. Fino a quando si capisce come si parla tutti insieme, ci sono spesso metodi di supporto per molti dei calcoli di cui avrete bisogno. Naturalmente questo dipende in gran parte dalla piattaforma di sviluppo che si sta utilizzando pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top