Frage

Ich mag eine Vorstellung bekommen, welche Art von Mathematik typisch für die Programmierung von 3D-Spiel-Engine notwendig ist? Jede spezifische Mathematik (wie Vektorgeometrie) oder Berechnungsalgorithmen (wie schnelle Fourier-Transformationen), oder ist dies mit DirectX / OpenGL alle abstrahiert, so dass sehr komplexe Mathematik nicht wirklich notwendig ist, nicht mehr?

War es hilfreich?

Lösung

Matrices, trig, Geometrie meist und ein bisschen der linearen Algebra

Werfen Sie einen Blick hier http://www.essentialmath.com/

Andere Tipps

Lineare Algebra! Viele viele Lineare Algebra!

Hier sind nur Klassen und Beispiel Situationen, in denen Sie sie benötigen

  • Vector - Position, Geschwindigkeit, Normale
  • Matrix - Transformationen
  • Quaternion - Rotationen (ideal für Knochen Animationen)
  • Ray - Projektil Kollisionserkennung
  • Ebene - Projektil Kollisionserkennung
  • Frustum - machen Culling
  • Sphere - machen Culling, schneller Kollisionstest
  • Achse ausrichten Bounding Box - Culling, Kollisionsprüfungen, räumliche Aufteilung
  • Oriented Bounding Box - Kollisionsprüfungen
  • Convex Hull - Kollision, räumliche Aufteilung
  • etc.

Sie sollten mit Vektor und Matrix beginnen, wie sie in dem Motor überall dort eingesetzt werden (Grafik, Physik, AI, usw.)

Für den größten Teil der linearen Algebra und der algorithmischen Geometrie; Quaternionen werden in großem Umfang und numerische Analyse verwendet notwendig, wenn Sie auf einer Physik-Engine arbeiten.

Wie viel Sie das Zeug auf einer täglichen Basis verwenden würde, hängt davon ab, was Sie tun. Wenn Sie ein Grafik-Programmierer sind, und daher ist der Grafik-Engine 3D-Gebäude selbst, dann würden Sie wahrscheinlich implementieren oder Implementierungen von Klassenbibliotheken und Funktionen beibehalten, die tatsächlich die Mathematik tun, so wäre es relativ wichtig sein, die blutigen Details zu kennen. Wenn Sie die Bibliothek als Client oder die Arbeit an einem anderen Teil des Spiel-Engine verwenden (AI, Audio, UI, Kamera, etc.), dann müssen Sie die Mathematik konzeptionell verstehen, aber man kann sicherlich weg mit nicht zu wissen, wie zu implementieren eine inverse Matrix auf einem Whiteboard von der Spitze des Kopfes.

Grafik-APIs nicht beseitigt die Notwendigkeit für jemand diese Mathematik zu wissen; sie sind auf Zeichnung beschränkt, so dass alle die Szenen-Management und Weltsimulation Bedürfnisse außerhalb des Grafik-API implementiert werden. Natürlich gibt es dort Middleware-Optionen auch, aber viele Studios ihre eigenen Systeme rollen.

Es gibt eine ganze Reihe von Ressourcen auf diesem Markt ausgerichtet. Zum Beispiel auf Amazon gibt es Bücher wie 3D Math Primer für Grafik und Game Development , und es ist wahrscheinlich auch online eine Menge Sachen.

Komplexe Mathe kommt ins Spiel, aber am wichtigsten ist, ein Verständnis für die Konzepte hinter solchen Mathematik und oft nicht die Mathematik selbst. So lange, wie Sie verstehen, wie alles zusammen kommt, gibt es oft Hilfsmethoden für viele der Berechnungen, die Sie benötigen. Natürlich, die Sie verwenden auch weitgehend von der Entwicklungsplattform abhängt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top