Ich habe dir Beispiele für den Einsatz von Linearer Algebra und Analysis gegeben. Deathball hat dir sogar ein weiteres Beispiel (Fluid-Simulationen) gegeben.
Wenn dir die gefundenen Artikel zu praktisch sind, such nach Artikeln die den Hintergrund beleuchten, anstatt auf fertigen Code zu trimmen. Es sollte klar sein, dass Beispielcode in der Regel schon so weit vereinfacht ist, um realistische Ausführungszeit zu haben. Eine reine mathematische Implementation wäre in vielen Fällen inakzeptabel.
Und nochmal: Weit tiefgehende mathematische Beispiele kann ich dir (als Nicht-Mathematiker) nicht bieten - dazu bin ich noch zu unerfahren - auch wenn es sie mit Sicherheit gibt. Wenn du etwas in der Richtung haben willst, musst du schon nach wissenschaftlichen Arbeiten suchen, so wie über Fluid-Simulation.
Edit:
Ich habe dir übrigens auch zwei Namen genannt. Hast du nach denen gesucht?
Hier zum Beispiel eine großartige Serie von Chris Hecker zu Texture Mapping und Rasterization, in der er auch den mathematischen Hintergrund beleuchtet. Nichts weltbewegend Schweres, oder Tiefgehendes (ist auch teilweise sehr praktisch gehalten), aber ich habe auch nicht behauptet, dass die Beispiele "tief" sind.
Geändert von Kyuu (15.09.2008 um 16:33 Uhr)
Enstanden is die Diskussion im Prinzip ja aus dieser Postfolge:
http://www.multimediaxis.de/showpost...9&postcount=29
http://www.multimediaxis.de/showpost...4&postcount=37
http://www.multimediaxis.de/showpost...7&postcount=38
So gesehen hast du das tatsächlich nicht behauptet. Die Artikel sind jedenfalls nicht unbedingt das Schwerste für einen Mathematiker.
Das von Deathball ist dann erst tatsächlich was, was in höhere Mathematik reingeht. Wobei man im Grundstudium dazu neigt, Divergenz zu den Physikern zu schieben ^^ (wobei auch hier gilt: eine feste Formel anzuwenden is grundsätzlich Kinderkrams. Schwierig wirds, wenn man sie auch beweisen soll oder gar selbst ne Formel für irgendwas komplett neu "erfinden" will)
Ist halt noch die Frage, ob man das im Entwickleralltag so arg braucht die höhere Vektoranalysis (wobei Vektoranalysis noch eines der leichtesten Gebiete ist, Divergenz is wenigstens was Anschauliches und sehr leicht zu rechnendes, ich mein partiell Ableiten und Addieren bekommt ein Gymnasiast wohl hin)
Hm ja, von einem 08/15-Programmierer wird wahrscheinlich nur der routinierte Umgang mit einer bestimmten API plus Oberstufenmathematik (je nachdem vielleicht auch etwas höher ins Studium hinein) verlangt, aber sicher nicht Höhere Mathematik.
Anders wird es halt aussehen, wenn du an einer modernen 3D-Engine, Shadern oder Ähnlichem arbeitest.
Beweise braucht es doch eher, wenn es tiefer in die theoretische Informatik geht, man will ja wissen, ob Algorithmen terminieren oder man möchte Deadlocks und Starvation vermeiden.
Zum Grafikzeugs: Ja, lineare Algebra und Numerische Mathematik ist da sicher wichtig. Analysis an sich würde ich weniger behaupten, da es in dieser Disziplin um Grenzwertprozesse geht, während bei Computerlösungen alles diskretisiert wird und schon gar nicht mehr analytisch gelöst wird. Analysis wird höchstens benötigt, um ein Verständnis für die Grundbegriffe zu haben, gelöst werden die Probleme aber numerisch durch Diskretisation.
Nichtsdestotrotz würde ich lineare Algebra, Analysis und Numerik trotzdem als höhere Mathematik bezeichnen. Sich die Begriffe, Formeln und Sätze anzueignen ist für mathematisch Unbegabte ein eher schwieriges Unterfangen und wer sich mit Schulmathematik auseinandergesetzt hat, wird sich noch schwerer tun, da die neuen Konzepte teils auch im scheinbaren Widerspruch stehen zu dem, was man sich angeeignet hat.
Die Divergenz ist so ein Beispiel. Natürlich ist die Anwendung einfach, aber versuch mal jemandem zu erklären, was Divergenz bedeutet, wie man sie sich vorzustellen hat und was sie bei partiellen Differentialgleichungen in der Physik zu suchen hat. Das ist das eine, das andere ist die formale Definition über das Skalarprodukt mit dem Nabla-Operator und wie man es richtig darzustellen hat. Das ist nicht wirklich einfach für jemanden, der gelernt hat, dass Funktionen nur aus den Buchstaben f und x bestehen und Ableitungen mit einem Strich statt mit d/dx kennzeichnet.Zitat von Dhan
Abgesehen davon ging es in dem Link um die Navier-Stokes-Gleichungen und nicht bloss um divergenz. Hattest du schonmal PDEs, möglichst Inhomogene von Hand gelöst mit der allgemeinst möglichen Lösung? Das ist so ungefähr das schwierigste, was man jemandem, der Mathematik bloss anwenden muss, zumuten kann und auch wenn da nichts bewiesen oder entdeckt wird, man braucht schon ein ziemliches Fachwissen, um solche Gleichungen zufriedenstellend lösen zu können. Also mit blossem Formeln-Einsetzen ist es auch bei uns Ingenieuren lange nicht getan.
Also das mit dem Kinderkrams finde ich deshalb schon ein bisschen gar abwertend.
Aber gut, noch was zum Topic: Ich hatte ein Semester als Programmierer beim OpenSource-Spiel Orxonox gearbeitet, genauer hatte ich die Steuerung des Raumschiffs programmiert (Quellcode), per Quaternionen ging dies ganz gut und man brauchte nicht mehr als einfachste Mechanik (Beschleunigung, Geschwidigkeit, Freiheitsgrade), trotz allem wäre ich nicht fähig, ein Spiel zu programmieren, da meine Programmierkenntnisse nicht über das Grundwissen hinausgehen. Und spätestens, wenn die Module noch miteinander kommunizieren müssen und verschiedene Leute am Code rummachen und mit Wörtern wie GUI, Clients, API, Merging, Trunk um sich schmeissen als wären es normale Alltagswörter und nur auf der Seite schaue, was man tun muss, um überhaupt das Spiel zu installieren, bekomm ich die Krise, dafür bin ich zu wenig Nerd.
Aber das Programmieren war eher eine Informatik-Erfahrung und hatte mit Gamedesign wenig zu tun.
--Electrodynamics:
Geändert von TheBiber (15.09.2008 um 19:29 Uhr)
So, hab mal meine alten Unterlagen durchsucht und gemerkt das der Artikel zu der GPU Gems Reihe gehört, von der die ersten beiden Teile mittlerweile kostenlos im Netz stehen...
Der Artikel stammt aus dem ersten Buch. Es werden die Navier-Stokes-Gleichungen benutzt um Flüssigkeiten zu simulieren.
So, lange Rede kurzer Sinn: Hier ist der Link zum entsprechenden Kapitel, inkls. Kapitel "Mathematical Background"
Zugegeben, vielleicht nicht das beste Beispiel, aber momentan fällt mir halt nicht wirklich was anderes ein. Hab momentan auch leider nicht wirklich die Zeit ernsthaft über gute Beispiele nachzudenken.![]()
Geändert von Deathball (15.09.2008 um 17:23 Uhr)