Me gustaría tener una idea de qué tipo de matemática suele ser necesaria para la programación del motor de juego en 3D? ¿Alguna matemática específica (como la geometría vectorial) o algoritmos de cálculo (como las transformaciones rápidas de Fourier), o todo esto está abstraído con DirectX/OpenGL, por lo que las matemáticas altamente complejas ya no son realmente necesarias?Matemáticas utilizadas en 3D (Juego) Programación del motor
Respuesta
matrices, trig, geometría sobre todo y un poco de álgebra lineal
Echa un vistazo aquí http://www.essentialmath.com/
compleja de la matemáticas viene a jugar, pero lo más importante es la comprensión de los conceptos detrás de tales matemáticas y, a menudo no las matemáticas en sí. Siempre que comprenda cómo se junta todo, a menudo hay métodos auxiliares para muchos de los cálculos que necesitará. Por supuesto, eso depende en gran medida de la plataforma de desarrollo que esté utilizando también.
¿Tienes alguna sugerencia de dónde aprender los conceptos y cómo se aplican a la programación de juegos? encuentra saltos en la enseñanza/cómo/para hacer los cálculos y no/cuándo/deberías usarlos. – TheGeoff
@TheGeoff: la programación de gráficos 3D requiere una comprensión decente del álgebra lineal. [El tutorial de matemáticas vectoriales para gráficos 3D por computadora] (http://chortle.ccsu.edu/vectorlessons/vectorindex.html) es, de lejos, el mejor recurso para aprender vectores y matrices. También es interactivo porque al final de cada sección hay una pregunta de prueba para verificar y sellar la comprensión de ese tema. – legends2k
En su mayor parte, álgebra lineal y geometría computacional; Los cuaterniones se usan ampliamente y es necesario realizar un análisis numérico si está trabajando en un motor de física.
La cantidad que usaría las cosas diariamente depende de lo que esté haciendo. Si usted es un programador de gráficos y, por lo tanto, construye el motor de gráficos 3D, probablemente implemente o mantenga implementaciones de bibliotecas de clases y funciones que realmente hacen las matemáticas, por lo que sería relativamente importante conocer los detalles sangrientos. Si está utilizando la biblioteca como cliente o trabajando en otra parte del motor del juego (IA, audio, interfaz de usuario, cámara, etc.), entonces deberá comprender las matemáticas conceptualmente, pero sin dudas puede salirse con la suya sin saber cómo implementarlas. una matriz inversa en una pizarra de la parte superior de la cabeza.
Las API de gráficos no eliminan la necesidad de que alguien conozca esta matemática; están limitados al dibujo, por lo que toda la administración de escenas y la simulación mundial deben implementarse fuera de la API de gráficos. Por supuesto, también hay opciones de middleware, pero muchos estudios tienen sus propios sistemas.
Hay un buen número de recursos destinados a este mercado. Por ejemplo, en Amazon hay libros como 3D Math Primer For Graphics and Game Development, y probablemente también haya muchas cosas en línea.
Algebra lineal! Montones de álgebra lineal.
Éstos son sólo las clases y situaciones de ejemplo donde se necesitan
- vector - posición, velocidad, normales
- Matrix - transformaciones
- Quaternion - rotaciones (ideal para los huesos animaciones)
- Ray - detección de colisión de proyectiles
- Plano - detección de colisiones proyectil
- Frustum - hacer que el sacrificio
- Esfera - procesamiento sacrificio, prueba de colisión rápida
- Eje-Align cuadro delimitador - el sacrificio, las pruebas de colisión, el particionamiento espacial
- Oriented Bounding Box - pruebas de colisión
- convexo casco - colisión, el particionamiento espacial
- etc.
Usted debe comenzar con vectores y matrices, ya que se pueden usar en cualquier parte del motor (gráficos, la física, AI, etc)
Parece que se mueve principalmente y detección de colisión. –
- 1. Qué motor 3D para ruby
- 2. 4 Elemento Vector (Matemáticas 3D)
- 3. ¿Cómo se escribe un juego en 3D?
- 4. juego 3D Geometría
- 5. Programación de animaciones 3D?
- 6. Motor java 3d gratis
- 7. ¿Buena biblioteca para matemáticas 3D en C#?
- 8. Matemáticas y programación
- 9. Motor 3D para simulación de conducción
- 10. Sugerencias para .Net Motor de física 3D
- 11. ¿Motor de juego con scripts Python?
- 12. (multiplataforma) Programación 3D con C# (mono)
- 13. integrando iAD en el juego 3d
- 14. XNA 3d motor de física
- 15. ¿Cuál es el mejor motor portátil gratuito de 3D/2D?
- 16. ¿Volar en un juego en 3D?
- 17. motores de juego en 3D para Ruby o Python?
- 18. Motor de juego en 2D ejemplar
- 19. programación de juegos en 3D en Java
- 20. ¿Guías sobre conceptos de programación en 3D?
- 21. ¿Hay algún motor de juego en Scala?
- 22. Programación de juegos en 3D en Java
- 23. ¿Cuál es el mejor motor 3D Actionscript3?
- 24. Convergencia de Matemáticas y Lenguajes de Programación
- 25. Android y IOS motor de juego
- 26. ¿Qué estructura de gráficos 3D debería usar para un motor de juegos del mundo real?
- 27. Juego de motor para iPhone/Android
- 28. SDL vs GLUT en opengl Programación 3D
- 29. Juego 3D con Python, comenzando desde la nada
- 30. vista en perspectiva 3D en el juego iphone usando cocos2d
3D la programación de gráficos requiere una comprensión decente del álgebra lineal. [El tutorial de matemáticas vectoriales para gráficos 3D por computadora] (http://chortle.ccsu.edu/vectorlessons/vectorindex.html) es, de lejos, el mejor recurso para aprender vectores y matrices. También es interactivo porque al final de cada sección hay una pregunta de prueba para verificar y sellar la comprensión de ese tema. – legends2k
Esta pregunta se debe mover a uno de los otros sitios de Intercambio de pila, como Game Development o Math. (No estoy seguro si eso es correcto, ya que esta pregunta incluye programación) – Andreas