Entendo que os seguintes tópicos de matemática são necessários para a programação de gráficos 3D. Comecei a fazer alguns deles no meu curso de matemática. Alguém pode me apontar na direção de um recurso que explica como eles se aplicam? Quais problemas gráficos / de jogo são usados para resolver?
- matemática de vetor
- matriz de matemática
- quaternions
- álgebra Linear
Tanto quanto eu posso ver, todos esses são tópicos de álgebra / matriz lineares. Existem outros tópicos necessários?
3d
mathematics
matrix
linear-algebra
quaternion
Katherine Rix
fonte
fonte
Respostas:
A álgebra linear é a principal disciplina para a programação de gráficos 3D simplesmente porque é a linguagem matemática para descrever a geometria espacial. Seus outros três tópicos são realmente apenas subconjuntos de álgebra linear:
Quanto a outras peças relevantes de matemática para programação de gráficos 3D, a que eu recomendo que não receba amor o suficiente é a geometria computacional. Muitos problemas naturais se resumem a tópicos em geometria computacional:
Depois disso, eu encorajaria a pesquisa em cálculo básico e métodos particularmente numéricos para equações diferenciais; elas são menos relevantes para os gráficos 3D em si do que para a física 3D, mas, em geral, os dois tópicos são bem acoplados (mesmo para problemas simples da cinemática - por exemplo, para animações de personagens e afins) - e algum conhecimento de ambos melhorar substancialmente o seu conhecimento de qualquer um; é difícil, se não impossível, trabalhar a física relevante sem o mesmo conhecimento básico de álgebra linear usado pelos gráficos, mas, ao mesmo tempo, ter o conhecimento de física fornece outro ponto de referência para a compreensão dos tópicos nos gráficos.
fonte
Aqui está uma excelente introdução http://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-2/
fonte
http://www.dickbaldwin.com/KjellTutorial/KjellVectorTutorialIndex.htm é um tutorial bastante bom e direto sobre matemática vetorial 2D / 3D E suas aplicações na programação gráfica.
fonte
Se você conhece as coordenadas cartesianas, a aplicação dos tópicos acima à computação gráfica deve ser bastante clara. Existem tutoriais como esses para o OpenGL que ajudarão a esclarecer a aplicação da matemática para resolver problemas básicos de exibição, por exemplo, como fazer um modelo de estrutura de arame parecer girar. O artigo da Wikipedia sobre desenho em perspectiva pode ajudar com um pouco de histórico.
Além disso, existem muitos tópicos de exibição que se beneficiam da formulação matemática. Por exemplo, sólidos 3D são geralmente representados por triangulações de sua superfície. Como mostramos apenas a parte da superfície que um observador "deveria" ver (algoritmos de superfície / linha ocultos)? Se um objeto deve ser iluminado a partir de uma fonte / direção específica, como isso interage com a perspectiva para fornecer uma renderização convincente da superfície?
Além disso, existem todos os tipos de tópicos interessantes de modelagem, como animação de uma névoa ou chama. Mas a transformação de coordenadas, como sua lista de tópicos parece centralizar, é um grampo de todos os avanços posteriores.
fonte
A Álgebra Linear Prática e os Fundamentos da Computação Gráfica são dois livros muito bons que abordarão os tópicos mencionados (e seu uso na computação gráfica), se você gosta de livros e coisas do tipo.
fonte
Eles não são todos necessários. A matemática vetorial é composta por gráficos 3D, você poderá configurar a geometria sem conhecer os pontos mais delicados da matemática vetorial, mas coisas como mapas de relevo ficarão muito difíceis e você entenderá a física.
Quaternions simplesmente oferecem uma descrição diferente para algumas das matemáticas, pode ser bom ter, mas certamente não é necessário, pois a matemática mais convencional é suficiente para descrever qualquer cálculo que você possa fazer com quaternions.
Matemática matricial e álgebra linear estão intimamente relacionadas, sobretudo descrevendo operações lineares em conjuntos de números. Mas, novamente, é apenas outra maneira de descrever algumas coisas que poderiam ser descritas com vetores e álgebra.
Não sei se você considera que isso é apenas uma parte da matemática básica, mas a trigonometria certamente precisa fazer a lista também.
fonte