2010-10-15 23 views
8

Entiendo qué significa sin y cos (y algunas otras funciones trigonométricas), pero realmente no entiendo qué tipo de problemas resuelven. ¿Puedes mostrarme algunos ejemplos del mundo real cuando usarías algunas de estas funciones en el desarrollo de juegos (específicamente desarrollo de juegos 3D)?Trigonometría y desarrollo de juegos

Gracias.

+2

Esta es realmente una pregunta más adecuada para el GameDev StackExchange (http://gamedev.stackexchange.com/), pero aquí hay un enlace que podría ser útil en su investigación: http://pixwiki.bafsoft.com/ mags/5/articles/circle/sincos.htm –

+0

Aunque te lo diré así. En Unity/UDK y otros motores de juego, las funciones matemáticas, pecado, cos y similares que se realizan en tiempo real son las más costosas en términos de recursos. Especialmente para el desarrollo de juegos móviles.¡Aprendí a través de múltiples recursos para dejar esas llamadas al mínimo debido al COSTE! Por supuesto, las llamadas a Draw y Polys las superan, pero las funciones matemáticas son el segundo más cercano. – ApolloSoftware

Respuesta

11

En el desarrollo de juegos, hay muchas situaciones en las que necesita usar las funciones trigonométricas. Cuando programe un juego, a menudo necesitará hacer cosas como buscar la distancia entre dos puntos o hacer que un objeto se mueva. Aquí están algunos ejemplos:

  • Rotación de una nave espacial u otro vehículo

  • manejar correctamente la trayectoria de proyectiles disparados desde un arma girada

  • calcular una nueva trayectoria después de una colisión entre dos objetos como bolas de billar o cabezas

  • Determinar si una colisión entre dos objetos está sucediendo

  • Encontrar el ángulo de la trayectoria (dada la velocidad de un objeto en la dirección x y la dirección y)

He aquí un buen enlace a different areas of Math required in various types of video game development.

comprobar estos enlaces para la lectura adicional:

1

Bueno, una aplicación que me viene a la mente instantáneamente, es para efectos especiales en el juego ... digamos que tienes un arma o hechizo o habilidad, o un efecto de tipo, que hace un rayo de luz ... puede jugar con las matemáticas para "dar forma a ese rayo" ...

De la misma manera, supongamos que tiene un portal que desea reproducir algunas animaciones ordenadas al activar o ingresar, puede jugar con vectores y matrices de rotación, y puede hacer muchas cosas increíbles con una combinación de matemáticas y su imaginación ...

3

Los juegos en el espacio 2D o 3D requieren geometría para los gráficos. Los motores de física para modelar el movimiento requieren fielmente la geometría. Trig es fundamental para la geometría.

Tome algo tan simple como rebotar. La física de un proyectil golpeando y moteando y rebotando rápidamente te convencerá de la utilidad de las funciones trigonométricas.

5

Los modelos 3D están definidos por vértices (listas numéricas de pares de coordenadas o trillizos en el espacio 3D) y líneas que los conectan. Esas líneas crean superficies que se pueden renderizar, iluminar, texturizar, etc.

Para, por ejemplo, rotar un objeto, debe poder manipular esos vértices. Si quieres rotar un objeto con un cierto número de grados o radianes, tendrás que usar muchas funciones trigonométricas para averiguar dónde termina.

El TR básico es fundamental para CUALQUIER manipulación 3D necesaria para juegos, simulación, etc. Vale la pena investigar y familiarizarse con el significado real de esas funciones, sus limitaciones y cómo se aplican y amplifican la utilidad de la geometría , procesamiento de señales, etc.

Esta es una gran pregunta; la mayoría simplemente asiente y actúa como si fuera obvio. A menos que su primer nombre sea Blaise o Renee, probablemente no lo sea.

3

trigonometría es crucial para producir casi todas las curvas (como en la de elipses o círculos) y por lo tanto tiene MUCHO uso en el desarrollo de juegos. Además, la onda sinusoidal es útil para el ruido perlin y muchos otros efectos especiales.

3

Un ejemplo se usan funciones trigonométricas es en matrices de rotación

Por ejemplo

Esta matriz se utiliza para hacer girar un punto en el plano x, y alrededor del origen.

|x'| = | cos a -sin a | | x | 
|y'| | sin a  cos a | | y | 
  • x, puntos originales Y
  • x 'y' traducidas puntos
  • un ángulo para girar en sentido antihorario
7

El uso más obvio de la trigonometría es conseguir un objeto moverse en cualquier dirección dada, sin trigonometría esto es imposible.

//Example code, will move the object speed units in the given direction (degrees) 
d2r = pi/180; //Conversion from degrees to radians 
this.x += speed * cos (direction * d2r); 
this.y += speed *-sin (direction * d2r); 

También se utiliza para otras cosas, tales como:

  • transformaciones que se ejecutan en sprites 2D para crear la rotación.
  • Se usa mucho para proyectar una vista en 3D.
  • Debido a la forma de una onda sinusoidal, se puede usar para crear transiciones suaves entre 2 valores.
  • Creando ondas sinusoidales con el propósito de síntesis de audio.
  • Dibujar objetos circulares como círculos y esferas.
  • Determinación de la ubicación de un punto que se encuentra en el brazo de un pivote.
3

Escriba un programa que dibuje y actualice un reloj analógico.

Los problemas que encuentre al hacerlo le darán la respuesta a su pregunta. Si tiene una comprensión básica de pecado y cos, debería ser capaz de usarlos para hacer el dibujo del reloj bastante fácil.

Si eso no te da tu respuesta, intenta dibujarlo sin pecado y sin cos.

Cuestiones relacionadas