Rozumiem, że następujące zagadnienia matematyczne są wymagane do programowania grafiki 3D. Niektóre z nich zacząłem robić na kursie matematyki. Czy ktoś może skierować mnie w stronę zasobu, który wyjaśnia, w jaki sposób stosuje? Jakie problemy z grafiką / grami są rozwiązywane?
- matematyka wektorowa
- matematyka macierzowa
- czwartorzędy
- algebra liniowa
O ile widzę, są to wszystkie tematy algebry liniowej / macierzy. Czy są wymagane inne tematy?
3d
mathematics
matrix
linear-algebra
quaternion
Katherine Rix
źródło
źródło
Odpowiedzi:
Algebra liniowa jest najważniejszą dyscypliną w programowaniu grafiki 3D, ponieważ jest to język matematyczny opisujący geometrię przestrzenną. Pozostałe trzy tematy to tak naprawdę tylko podzbiory algebry liniowej:
Jeśli chodzi o inne istotne elementy matematyki do programowania grafiki 3D, to zalecam, że nie ma wystarczająco dużo miłości, jest geometria obliczeniowa. Wiele naturalnych problemów sprowadza się do tematów w geometrii obliczeniowej:
Następnie zachęcam do zapoznania się z podstawowymi rachunkami, a zwłaszcza metodami numerycznymi dla równań różniczkowych; są one mniej związane z grafiką 3d per se niż z fizyką 3d, ale ogólnie te dwa tematy są dość ściśle powiązane (nawet w przypadku prostych problemów z kinematyką - na przykład w przypadku animacji postaci itp.) i pewna znajomość obu znacznie poszerz swoją wiedzę na temat obu; praca z odpowiednią fizyką jest trudna, jeśli nie niemożliwa, bez takiej samej podstawowej wiedzy z zakresu algebry liniowej, jakiej używa grafika, ale jednocześnie posiadanie wiedzy z zakresu fizyki stanowi kolejny punkt odniesienia dla zrozumienia tematów w grafice.
źródło
Oto świetne wprowadzenie http://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-2/
źródło
http://www.dickbaldwin.com/KjellTutorial/KjellVectorTutorialIndex.htm to całkiem niezły i prosty tutorial o matematyce wektorowej 2D / 3D ORAZ jej aplikacjach do programowania grafiki.
źródło
Jeśli znasz współrzędne kartezjańskie, to zastosowanie powyższych tematów do grafiki komputerowej powinno być dość jasne. Istnieją takie samouczki dotyczące OpenGL , które pomogą wyjaśnić zastosowanie matematyki w rozwiązywaniu podstawowych problemów z wyświetlaniem, np. Jak sprawić, by model z ramką wyglądał na obracany. Artykuł w Wikipedii na temat rysowania perspektywicznego może pomóc w odrobinie tła historycznego.
Poza tym istnieje wiele wyświetlanych tematów, które korzystają z formuł matematycznych. Na przykład bryły 3D są zwykle reprezentowane przez triangulacje ich powierzchni. Jak pokazujemy tylko tę część powierzchni, którą „obserwator” powinien zobaczyć (algorytmy ukrytej powierzchni / linii)? Jeśli obiekt ma być oświetlony z określonego źródła / kierunku, jak to współdziała z perspektywą, zapewniając przekonujące odwzorowanie powierzchni?
Oprócz tego istnieje wiele interesujących tematów związanych z modelowaniem, takich jak animacja mgły lub płomienia. Ale transformacja współrzędnych, na której wydaje się koncentrować Twoja lista tematów, jest podstawą wszystkich późniejszych postępów.
źródło
Praktyczna algebra liniowa i podstawy grafiki komputerowej to dwie bardzo dobre książki, które obejmują poruszone przez ciebie tematy (i ich zastosowanie w grafice komputerowej), jeśli lubisz książki.
źródło
Nie wszystkie są wymagane. Matematyka wektorowa jest w całej grafice 3D, możesz być w stanie ustawić geometrię, nie znając dokładniejszych punktów matematyki wektorowej, ale rzeczy takie jak mapy wypukłości staną się naprawdę trudne, a ty wpadniesz na fizykę.
Czwartorzędy oferują po prostu inny opis dla niektórych matematyki, może być miło mieć, ale z pewnością nie jest to potrzebne, ponieważ bardziej konwencjonalna matematyka wystarcza do opisania wszelkich obliczeń, które można wykonać z czwartorzędami.
Matematyka macierzowa i algebra liniowa są ze sobą ściśle powiązane, przede wszystkim opisują operacje liniowe na zbiorach liczb. Ale znowu jest to tylko inny sposób opisywania niektórych rzeczy, które można opisać za pomocą wektorów i algebry.
Nie wiem, czy uważasz, że to tylko część podstawowych zagadnień matematycznych, ale trygonometria z pewnością musi również zrobić listę.
źródło