Ich verstehe, dass die folgenden mathematischen Themen für die Programmierung von 3D-Grafiken erforderlich sind. Ich habe angefangen, einige davon in meinem Mathematikkurs zu machen. Kann mich jemand auf eine Ressource hinweisen, die erklärt, wie sie sich bewerben? Welche Grafik- / Spielprobleme lösen sie?
- Vektor Mathematik
- Matrix Mathematik
- Quaternionen
- Lineare Algebra
Soweit ich sehe, handelt es sich um Themen der linearen Algebra / Matrix. Sind noch weitere Themen erforderlich?
3d
mathematics
matrix
linear-algebra
quaternion
Katherine Rix
quelle
quelle
Antworten:
Die lineare Algebra ist die wichtigste Disziplin für die Programmierung von 3D-Grafiken, einfach weil sie die mathematische Sprache zur Beschreibung der räumlichen Geometrie ist. Ihre anderen drei Themen sind eigentlich nur Teilmengen der linearen Algebra:
Was andere für die Programmierung von 3D-Grafiken relevante mathematische Elemente anbelangt, würde ich empfehlen, dass die Computergeometrie nicht annähernd genug Spaß macht. Viele natürliche Probleme beruhen auf Themen der Computergeometrie:
Danach möchte ich Sie ermutigen, sich mit Grundrechenarten und insbesondere mit numerischen Methoden für Differentialgleichungen zu befassen. Diese sind für 3D-Grafiken per se weniger relevant als für die 3D-Physik, aber im Allgemeinen sind die beiden Themen ziemlich eng miteinander verknüpft (selbst bei einfachen Problemen der Kinematik - zum Beispiel bei Charakteranimationen und dergleichen) und verfügen über ein gewisses Wissen über beide Verbessern Sie Ihre Kenntnisse in beiden Bereichen erheblich. Es ist schwierig, wenn nicht unmöglich, die relevante Physik zu bearbeiten, ohne dasselbe grundlegende Wissen über lineare Algebra zu besitzen, wie es in der Grafik verwendet wird, aber gleichzeitig bietet das Wissen über Physik einen weiteren Bezugspunkt für das Verständnis der Themen in der Grafik.
quelle
Hier ist ein großartiges Intro: http://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-2/
quelle
http://www.dickbaldwin.com/KjellTutorial/KjellVectorTutorialIndex.htm ist ein ziemlich gutes und einfaches Tutorial über 2D / 3D-Vektor-Mathematik UND seine Anwendungen zur Grafikprogrammierung.
quelle
Wenn Sie mit kartesischen Koordinaten vertraut sind, sollte die Anwendung der obigen Themen auf Computergrafiken ziemlich klar sein. Es gibt Tutorials wie diese für OpenGL , mit denen die Anwendung von Mathematik zur Lösung grundlegender Anzeigeprobleme verdeutlicht werden kann, z. B. wie ein Drahtrahmenmodell rotiert. Der Wikipedia-Artikel zum perspektivischen Zeichnen könnte mit ein wenig historischem Hintergrund weiterhelfen.
Darüber hinaus gibt es viele Anzeigethemen, die von der mathematischen Formulierung profitieren. Beispielsweise werden 3D-Körper normalerweise durch Triangulationen ihrer Oberfläche dargestellt. Wie zeigen wir nur den Teil der Oberfläche, den ein Beobachter "sehen" sollte (Algorithmen für verborgene Oberflächen / Linien)? Wie interagiert ein Objekt mit der Perspektive, um eine überzeugende Oberflächenwiedergabe zu erzielen, wenn es aus einer bestimmten Quelle / Richtung beleuchtet werden soll?
Darüber hinaus gibt es alle möglichen interessanten Modellierungsthemen, z. B. die Animation eines Nebels oder einer Flamme. Die Transformation von Koordinaten, während Ihre Themenliste im Mittelpunkt zu stehen scheint, ist jedoch eine Grundvoraussetzung für alle späteren Fortschritte.
quelle
Praktische lineare Algebra und Grundlagen der Computergrafik sind zwei sehr gute Bücher, die die Themen behandeln, die Sie erwähnen (und deren Verwendung in der Computergrafik), wenn Sie sich mit Büchern und Ähnlichem befassen.
quelle
Sie sind nicht alle erforderlich. Vektor-Mathematik ist in allen 3D-Grafiken enthalten. Möglicherweise können Sie die Geometrie einrichten, ohne die Feinheiten der Vektor-Mathematik zu kennen, aber Dinge wie Reliefkarten werden sehr schwierig, und Sie werden sich mit der Physik abfinden.
Quaternionen bieten einfach eine andere Beschreibung für einige der Mathematiken, es mag nett sein, sie zu haben, aber sie wird sicherlich nicht benötigt, da konventionellere Mathematik ausreicht, um jede Berechnung zu beschreiben, die Sie mit Quaternionen durchführen können.
Matrixmathematik und lineare Algebra sind sehr eng miteinander verwandt und beschreiben vor allem lineare Operationen auf Zahlenmengen. Aber auch hier ist es nur eine andere Art, einige Dinge zu beschreiben, die mit Vektoren und Algebra beschrieben werden könnten.
Ich weiß nicht, ob Sie es für einen Teil der Grundlagen der Mathematik halten, aber die Trigonometrie muss auf jeden Fall auch die Liste enthalten.
quelle