Estoy haciendo un juego 2D en el que las unidades se disparan flechas entre sí. Sé la posición del tirador y del objetivo y la velocidad inicial del proyectil. Quiero saber el ángulo que debe tener el proyectil para aterrizar en el objetivo. El objetivo podría estar a una altura diferente que el tirador.
Para resumir, sé que v0, R y gy necesito encontrar el ángulo (¿o la altura?).
Leí http://en.wikipedia.org/wiki/Projectile_motion , pero no puedo encontrar algo relacionado con lo que necesito.
2d
projectile-physics
trajectory
korn3l
fuente
fuente
Respuestas:
La fórmula para encontrar el ángulo es
donde v es la velocidad de lanzamiento inicial, g es la constante de gravedad, x e y son la distancia y la altura del objetivo.
Las dos raíces de esta ecuación te dan dos ángulos posibles. Si los resultados son imaginarios, entonces su velocidad inicial no es lo suficientemente grande como para alcanzar el objetivo (si desea calcular el ángulo de alcance, lea esto ). Depende de usted qué ángulo se selecciona. Tendría sentido elegir la ruta más directa, es decir, el ángulo más pequeño.
Puede ver un GIF de esta ecuación a continuación con diferentes valores objetivo y una velocidad de lanzamiento constante.
Recursos de este artículo de Wikipedia
fuente
A principios de este año, creé un simple tirador de arriba hacia abajo. Usé el siguiente método:
Respuesta anterior: /programming/15364852/move-sprite-diagonally/15365570#15365570
Calcula una trayectoria entre dos posiciones.
fuente