2010-09-09 24 views
8

No soy nuevo en programación, pero soy nuevo en la programación de juegos. Siempre fue mi sueño crear juegos, y desde que tengo 21 hoy, creo que es mejor comenzar ahora que más tarde.¿Por dónde empezar a aprender matemáticas para la programación de juegos para un novato en matemáticas?

En el pasado no tuve problemas con las matemáticas, pero tenía la sensación constante de que podía resolver los problemas pero no entendía lo que estaba sucediendo.

"¿Por qué estoy haciendo esto y qué es exactamente lo que resuelve?"

¿Dónde podría comenzar si quiero empezar a aprender matemáticas para la programación de juegos?

Editar: Algunas personas me piden que diga qué tipo de matemáticas estoy buscando, pero a decir verdad, ni siquiera sé eso. Soy un novato de matemáticas completo. Hice una clase de cálculo en Uni, pero como dije, los resolví pero no sabía por qué ni cómo.

+0

"Matemáticas para la programación de juegos" es un tema enorme, para empezar, le sugiero que reduzca su campo de interés. ¿Rompecabezas matemáticos? Simulaciones de la física? Gráficos 3D? –

+3

Muy ambicioso. Buena suerte @Sergio – griegs

Respuesta

12

El álgebra lineal y la trigonometría son probablemente las más importantes en la programación de gráficos. Esto incluiría elementos como matrices/vectores, producto de puntos y cuaterniones. En el área de la física esto sería mecánica y ligera, que usan trigonometría. Aparte de eso, existen bibliotecas para manejar la mayoría de los problemas matemáticos avanzados.

+0

Estos son algunos buenos libros que yo o las personas que conozco han encontrado útiles: Representación en tiempo real, 3D Math Primer para gráficos y desarrollo de juegos, y Matemáticas para programación de juegos en 3D y gráficos por computadora. Puedes encontrar la mayoría de ellos en Amazon. – BigSandwich

1

Si tiene tiempo para leer, recomiendo los libros de texto de física y matemática de código abierto light and matter. El álgebra lineal también sería importante. Disfruté del libro de texto de Strangs, Linear Algebra. Sin embargo, estos dos recursos no tienen un enfoque específico orientado a los juegos.

1

¡No olvide si tiene preguntas específicas de matemáticas para dirigirse a http://math.stackexchange.com!

Si necesita un elemento en particular, como Linear Algebra, Google "Open courseware" + "Subject". Descubrirá que MIT en los Estados Unidos es ideal para esto: publican bastante de su curso. Por ejemplo: http://ocw.mit.edu/courses/#mathematics.

0

Creo que la respuesta que dieron la mayoría de las personas es "¿Qué tipo de matemáticas?" es más relevante.

Ars digita tenía una serie de conferencias sobre matemáticas discretas: http://aduni.org/courses/discrete/

O tal vez usted está buscando la física, no matemáticas para el juego, si es así que había un libro publicado hace un tiempo llama algo así como "Física para Game Programmers ". Buscalo en Google. Es posible que esté agotado, pero aún puede encontrarlo en una biblioteca.

o simplemente está hablando sobre la geometría 3D para gráficos, en cuyo caso probablemente no quiera aprender matemática en absoluto. Solo DirectX y OpenGL (y principalmente OpenGL).

0

La mejor manera de averiguar lo que necesita saber es tratar de hacer lo que quiere hacer y ver lo que se requiere.

Si puede hacer cálculos en cualquier grado, entonces ayudará. Otra respuesta mencionó el álgebra lineal y la trigonometría, que son útiles a diario. Sin embargo, no hay forma de decir lo que necesita saber sin saber lo que necesita lograr, ¡así que simplemente comience a programar y descubra lo que necesita! Si necesita ayuda sobre algo específico, haga una pregunta al https://gamedev.stackexchange.com/.De hecho, varias preguntas recientemente requirieron solo trigonometría para resolver.

0

No compres ningún libro si puedes evitarlo. En cambio, descargue libros de la red. Si tiene que comprar (algunos libros valen la pena), compre de segunda mano (de abebooks, por ejemplo). La industria de libros de texto es una estafa.

  • En términos de matemáticas, al menos necesita una comprensión de la geometría básica y el álgebra lineal.
  • Alguna comprensión del cálculo puede ser muy útil.
  • Algunas estadísticas no hacen daño.
  • Las cuatro materias anteriores se enseñan generalmente durante el primer año de la universidad (en América del Norte, es decir). Ellos no son difíciles. Una persona determinada que no tiene ninguna esperanza en matemáticas puede cubrir los aspectos básicos de la geometría euclidiana, el álgebra lineal, el cálculo y las estadísticas en el transcurso de un verano, sin excesivos esfuerzos (2-3 horas por día deberían hacerlo).
  • El análisis numérico es muy relevante para la informática. Estudiar el análisis numérico requiere un dominio del álgebra lineal.

A medida que mejora en matemáticas, automáticamente también mejora en la programación.

Aparte de las matemáticas, es posible que desee aprender algo de física, en particular, la mecánica básica.

¡Buena suerte y diviértete!

1

Las matemáticas "avanzadas" más relevantes en el desarrollo de juegos son las manipulaciones de matrices y vectores. Estos se consideran una parte del álgebra lineal. Las matrices y vectores son los tipos de datos utilizados tanto en gráficos 2D como en 3D y en física. Las matrices generalmente representan la escala, orientación y posición de un objeto. Los vectores generalmente representan un punto en el espacio o una dirección y magnitud en esa dirección.

Una gran familiaridad con estos conceptos y sus manipulaciones como cruciales para cualquier campo de desarrollo de juegos, incluso si no está interactuando directamente con ellos. Si toca gráficos, animación, audio posicional, detección/reacción de colisión, física u objetos del juego que interactúan en cualquier forma física, entonces usará matrices y vectores en gran medida.

Por desgracia, me resulta difícil encontrar la enseñanza práctica de las matemáticas en la literatura. Más a menudo que no está enterrado bajo capas de teoría. Me gusta que me digan bien que una matriz de 4 x 4 puede almacenar un vector de posición y tres vectores de ejes que representan la posición, orientación y escala de un objeto.

Cuestiones relacionadas