Anuncio

Colapsar
No hay ningún anuncio todavía.

Problema sobre misiles

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Problema sobre misiles

    Hola, soy un futuro estudiante de matemáticas (en septiembre! ) y estoy programando un juego estilo "Worms" en 2D.
    Mi problema llega al implementar una inteligencia artificial para que el ordenador lance un misil. El estudio que hago del misil es un estudio cinemático, no dinámico (es decir, no tengo masas ni fuerzas en cuenta, sólo aceleraciones y velocidades).

    El misil es un móvil sobre el que actúan tres aceleraciones:
    - La aceleración vertical constante de la gravedad, de valor g.
    - La aceleración horizontal constante del viento, de valor w.
    - La aceleración del motor del cohete, de módulo p y dirección variable. El misil acelera en la dirección de su velocidad (es decir, suponemos que el misil siempre apunta en la dirección de su velocidad). En consecuencia, las ecuaciones serían algo similar a esto:

    a_x = w + p cos #
    a_y = g + p sen #
    donde # es el ángulo de la velocidad del misil.
    Si tenemos en cuenta que cos # = dv_x / dv , sen # = dv_y / dv , las ecuaciones quedarán en esta forma diferencial:

    a_x = w + p (dv_x / dv)
    a_y = g + p (dv_y / dv)

    Mi pregunta es, ¿cómo puedo transformar estas ecuaciones diferenciales en ecuaciones paramétricas de la trayectoria en función del tiempo. Quiero decir, x=f(t), y=g(t)
    El movimiento tendrá velocidad inicial en ambos ejes, v_0x, v_0y , y podemos suponer que el movimiento comienza en X=0, y=0.
    Gracias por adelantado!!

  • #2
    En primer lugar, te aconsejaría que variaras el término del viento un poco. Si el proyectil ya va a la velocidad del viento, no lo empujará, y si va más rápido tenderá a frenarlo. Yo te aconsejo una modificación del estilo



    dónde sería la velocidad del viento. El valor debería ser pequeñito, al rededor de 0.1.

    En segundo lugar, puede resultar muy difícil resolver la ecuación tal y como lo has puesto de forma analítica. Lo mejor, sobre todo para un video-juego, es es utilizar una aproximación llamada de Euler.

    Lo que haces es considerar que durante un intervalo de tiempo pequeño, , la aceleración que calculas con tus formulas es constante, y utilizar la formulas de la cinemática simple,




    Y lo mismo para la coordinada vertical, claro. En el caso de un videojuego, supongo que será el tiempo que tardas en refrescar la pantalla cada vez. Solo tienes que "recordar" el valor de la posición y velocidad justamente anterior y utilizarlo para calcular los nuevos valores.
    La única alternativo a ser Físico era ser etéreo.
    @lwdFisica

    Comentario

    Contenido relacionado

    Colapsar

    Trabajando...
    X