Considerando que estamos en un sistema de coordenadas 3D:
Pregunta : ¿En qué vector necesita nuestra nave para disparar su bala, de modo que el asteroide sea alcanzado?
Mi intento hasta ahora: encontrar un punto C tal que:
- distancia(A,C) / velocidad_de(bala) = distancia(B,C) / velocidad_de(asteroide)
- el punto C está en el vector conocido del asteroide
Y estoy atrapado aquí.
Ese es un buen comienzo, pero el punto 2 se puede hacer un poco más preciso. Digamos que el asteroide comienza en en el momento y tiene velocidad constante . Entonces su posición en el tiempo es
Pero como encontrar ? Bueno, podemos trabajar desde la perspectiva de la bala, cuya posición denotaré con (no hay necesidad de preocuparse por el barco, ya que no se mueve). Como antes, tenemos
Las ecuaciones (1), (2), (3) y (5) se combinan para formar
(En realidad, puede haber dos o cero soluciones, dependiendo de los valores reales. Cero soluciones significa que su bala es demasiado lenta para ponerse al día. Dos soluciones probablemente significan que una corresponde a negativo , como si la bala pasara del asteroide en el pasado a la nave en el presente. Aunque también podría significar que hay dos posibilidades de golpear el asteroide).
Para un barco en movimiento, la velocidad de tu bala en estas coordenadas, , viene dada por la suma de la velocidad conocida del barco cuando se dispara la bala, digamos , y la velocidad que se ha de encontrar de la bala con respecto al barco, . Para trabajar con esto, simplemente resuelva para (también conocido como ) como arriba, y luego calcular
Tienes que convertir esto en un problema 2D. Para encontrar 3 vectores unitarios que describan un sistema de coordenadas 3D local donde el problema plano está a lo largo del local y ejes, con el plano perpendicular . El subíndice A denota el asteroide y B la bala, con posiciones, direcciones y velocidades La notación es inversa al OP porque A = asteroide, B = bala es más fácil de recordar.
Suponga que dispara un número infinito de balas virtuales a cierta velocidad en todas las direcciones posibles. En algún momento en el futuro, estas balas virtuales reposarán sobre la superficie de una esfera con radio . Esta superficie esférica obviamente crece con el tiempo. Supongamos que en el momento , el asteroide en movimiento cruza esta esfera. Esta intersección te dice dónde quieres disparar.
El barco está en el punto en todo momento, y el asteroide está en el punto inicialmente y se mueve con cierta velocidad . El vector de desplazamiento de la nave al asteroide es . denotar como y como , la distancia entre la nave y el asteroide está dada por .
Dejar Sea el ángulo entre el vector de desplazamiento inicial de la nave espacial al asteroide y el vector de velocidad del asteroide. En términos de lo anterior, . Esto da una forma alternativa de expresar la distancia al asteroide: .
Estamos buscando el punto en el tiempo donde esta distancia es igual a , dónde es la velocidad a la que se dispara una bala desde la nave espacial. Esto da como resultado la ecuación cuadrática
Si hay una solución positiva a la ecuación cuadrática de la expresión anterior, esto te dice dónde apuntar tu bala. Simplemente apunte al punto donde estará el asteroide en ese momento.
Lo anterior supone que el asteroide se mueve a una velocidad constante y la nave espacial está estacionaria. Eso representa un campo de asteroides en el espacio vacío, lejos de cualquier cuerpo gravitante. Los campos de asteroides son un efecto secundario de la formación de estrellas y la formación de un gran planeta (por ejemplo, Júpiter) que impide que esos asteroides formen un planeta. En otras palabras, los asteroides orbitan alrededor de una estrella y son perturbados por uno o más planetas jovianos. La solución de velocidad constante descrita anteriormente no se aplica. Si puede ignorar las perturbaciones de los planetas jovianos, esencialmente tiene el problema de Lambert, con restricciones adicionales. Este artículo de wikipedia resume el problema de Lambert. Este bonito y pequeño pdfdel Centro de Investigación de Astrodinámica de Colorado (CCAR) describe el algoritmo estándar para resolver el problema de Lambert.
Juan Alexiou
bradley
BMS