Entiendo que los siguientes temas matemáticos son necesarios para la programación de gráficos en 3D. He comenzado a hacer algunos de ellos en mi curso de matemáticas. ¿Alguien puede señalarme en la dirección de un recurso que explica cómo se aplican? ¿Qué problemas de gráficos / juegos se utilizan para resolver?
- matemáticas vectoriales
- matemática matricial
- cuaterniones
- álgebra lineal
Hasta donde puedo ver, estos son todos temas de álgebra lineal / matriz. ¿Hay otros temas requeridos?
3d
mathematics
matrix
linear-algebra
quaternion
Katherine Rix
fuente
fuente
Respuestas:
El álgebra lineal es la disciplina más importante para la programación de gráficos en 3D simplemente porque es el lenguaje matemático para describir la geometría espacial. Sus otros tres temas son realmente solo subconjuntos de álgebra lineal:
En cuanto a otras piezas matemáticas relevantes para la programación de gráficos en 3D, la que recomendaría que no tenga suficiente amor es la geometría computacional. Muchos problemas naturales se reducen a temas de geometría computacional:
Después de eso, alentaría a buscar cálculos básicos y métodos particularmente numéricos para ecuaciones diferenciales; Estos son menos relevantes para los gráficos 3D per se que para la física 3D, pero en general los dos temas están bastante unidos (incluso para problemas simples de cinemática, por ejemplo, para animaciones de personajes y similares) y algunos conocimientos de ambos mejorar sustancialmente su conocimiento de cualquiera de los dos; Es difícil, si no imposible, trabajar la física relevante sin el mismo conocimiento básico de álgebra lineal que utilizan los gráficos, pero al mismo tiempo tener el conocimiento de física proporciona otro punto de referencia para comprender los temas en gráficos.
fuente
Aquí hay una gran introducción http://blog.wolfire.com/2009/07/linear-algebra-for-game-developers-part-2/
fuente
http://www.dickbaldwin.com/KjellTutorial/KjellVectorTutorialIndex.htm es un tutorial bastante bueno y directo sobre matemática vectorial 2D / 3D Y sus aplicaciones en la programación de gráficos.
fuente
Si está familiarizado con las coordenadas cartesianas, entonces la aplicación de los temas anteriores a los gráficos de computadora debe ser bastante clara. Existen tutoriales como estos para OpenGL que ayudarán a aclarar la aplicación de las matemáticas para resolver problemas básicos de visualización, por ejemplo, cómo hacer que un modelo de marco de alambre parezca rotar. El artículo de Wikipedia sobre dibujo en perspectiva podría ayudar con un poco de antecedentes históricos.
Más allá de eso, hay muchos temas de visualización que se benefician de la formulación matemática. Por ejemplo, los sólidos 3D generalmente se representan mediante triangulaciones de su superficie. ¿Cómo mostramos solo esa parte de la superficie que un observador "debería" ver (algoritmos de superficie / línea ocultos)? Si un objeto se va a iluminar desde una fuente / dirección particular, ¿cómo interactúa esto con la perspectiva para proporcionar una representación de superficie convincente?
Más allá de eso, hay todo tipo de temas de modelado interesantes, como la animación de una niebla o una llama. Pero la transformación de coordenadas, como parece centrarse en su lista de temas, es un elemento básico de todos los avances posteriores.
fuente
El Álgebra lineal práctica y los Fundamentos de los gráficos por computadora son dos libros muy buenos que cubrirán los temas que mencionas (y su uso dentro de los gráficos por computadora), si te gustan los libros y demás.
fuente
No todos son obligatorios. Las matemáticas de vectores están en todos los gráficos en 3D, es posible que pueda configurar la geometría sin conocer los puntos más finos de las matemáticas de vectores, pero cosas como los mapas de relieve se volverán realmente difíciles, y caerá en la física.
Los cuaterniones simplemente ofrecen una descripción diferente para algunas de las matemáticas, puede ser bueno tenerlo, pero ciertamente no es necesario ya que las matemáticas más convencionales son suficientes para describir cualquier cálculo que pueda hacer con los cuaterniones.
Las matemáticas de matriz y el álgebra lineal están estrechamente relacionadas, sobre todo, describen operaciones lineales en conjuntos de números. Pero, de nuevo, es solo otra forma de describir algunas cosas que podrían describirse con vectores y álgebra.
No sé si consideras que es solo una parte de las matemáticas básicas, pero la trigonometría también necesita estar en la lista.
fuente