Problema con el problema de Gauss para resolver trayectorias interplanetarias

El azul es la Tierra, el rojo es Marte, el naranja es Júpiter y todos los blancos son trayectorias de la Tierra a Marte.

El azul es la Tierra, el rojo es Marte, el naranja es Júpiter y todos los blancos son trayectorias de la Tierra a Marte. Las líneas de trayectoria extrañas en el medio son el problema que estoy tratando de resolver.

Como puede ver en la imagen, tengo un buen solucionador de Kepler (de hecho, implementé 3 mientras depuraba este problema de trayectoria, para asegurarme de que ese no era el problema). Pero al usar el Problema/Método de Gauss para calcular trayectorias dada la posición de la Tierra en el momento del lanzamiento, la posición de Marte en el momento de la llegada y la duración del viaje, hay ocasiones en las que la solución da como resultado un semieje mayor con un valor negativo. .

Mi recurso principal para el algoritmo de Gauss ha sido este sitio: http://www.braeunig.us/space/interpl.htm .

Al leer http://www.braeunig.us/space/orbmech.htm , parece que el semieje mayor es negativo para las hipérbolas y que las hipérbolas se usan cuando la velocidad de las naves es lo suficientemente fuerte como para escapar de la gravedad de su primaria. Entonces, tal vez mi problema no es que mi solucionador de Gauss y Kepler a cartesiano estén equivocados, sino que la trayectoria que estoy tratando de resolver requiere un tipo diferente de solución.

Creo que todo se reduce a la pregunta ¿ Qué hago cuando el semieje mayor es negativo? ¿Existe un conjunto diferente de ecuaciones para obtener la mecánica orbital (y luego convertirla a coordenadas cartesianas) para transferencias hiperbólicas?

recomiendo cerrar ya que esta es una pregunta de codificación y no está relacionada con problemas de espacio
El medio puede ser código, pero el problema está muy relacionado con el espacio/física. La mayoría de las personas en StackOverflow verían esto y dirían 'estás en el lugar equivocado'.
Si elimina los detalles sobre las órbitas y se limita al problema de no ajustar las secciones cónicas (es decir, obtener un eje semimayor ilegal), encontrará que esto es exactamente un problema de codificación pura.
¿Podría proporcionar alguna información sobre lo que quiere decir con "no encajar secciones cónicas"? Entiendo vagamente que estas trayectorias se basan en matemáticas al cortar un cono con un plano, pero yo mismo no pude dibujar ninguna ecuación a partir de eso. Quizás podría resolver mi problema si entendiera mejor esta parte.
Hay una o dos preguntas del tipo "Por favor, depura mi código de exploración espacial por mí" al año, y sus problemas casi nunca se resuelven aquí.
Creo que el sitio debería ser más indulgente con las preguntas de programación si la esencia del problema es sobre astronomía y no sobre programación, y siento una fuerte motivación para votar así. Sin embargo, su problema parece un problema de "depurar mi código por mí". Esto no es bienvenido en ninguna parte, ni en StackOverflow ni aquí. Hago clic ahora en "Omitir" (este es un voto de moderación, qué hacer con su pregunta), pero mejore su publicación lo antes posible .
Esa no era mi intención, gracias por los comentarios. Creo que resumí el problema lo suficiente, con suerte no eliminé ninguna información pertinente.
@lancew Esta es una excelente pregunta porque 1) es fundamental para la exploración espacial. "Buzz" Aldrin adquirió su apodo por su incesante charla sobre mecánica orbital. Hizo su tesis doctoral sobre técnicas de encuentro orbital en el MIT. 2) Señala el cambio de paradigma en la ingeniería y la ciencia provocado por las computadoras digitales. Ya no es necesario suponer soluciones de forma cerrada para las ecuaciones diferenciales.
@lancew Si tiene demasiadas molestias aquí, es posible que Quora le brinde una mejor proporción de (respuestas)/(discusiones sobre por qué no quiero responder).
Yo diría: "Sí, las ecuaciones para pasar de anomalía media a anomalía excéntrica a anomalía verdadera son de hecho diferentes para las órbitas hiperbólicas que para las elípticas, si eso es parte de su proceso". Las mayores diferencias son el cambio de signo en algunos de los términos y el uso de funciones trigonométricas hiperbólicas en lugar de funciones trigonométricas circulares.

Respuestas (1)

¿Hay un conjunto diferente de ecuaciones para obtener la mecánica orbital?

La formulación general es un conjunto de EDO acopladas, ecuaciones diferenciales ordinarias. Estas ecuaciones funcionan bien. El algoritmo de Gauss que citó es solo una forma de abordar su solución.

Mi recomendación es aprender métodos de solución numérica para integrar las EDO. En una dimensión, esto es algo así como: inicializar la velocidad v0 y posicionar x0 de su masa m, sumar todas las fuerzas gravitatorias que actúan F, calcular la aceleración a = F/m, incrementar el tiempo en dt, incrementar la velocidad en v = v0 + a dt, incrementa la posición en x = x0 + v dt. Repite hasta que llegues a donde vas. ADVERTENCIA, este no es un método numérico eficiente, solo el más simple. Requiere un valor muy pequeño de dt para dar soluciones precisas.

Encontrará integradores ODE fiables y precisos integrados en lenguajes de alto nivel como MATLAB e incluso en MathCAD.

Con métodos numéricos, no necesita asumir una función de forma cerrada que describa su trayectoria.

Los métodos que dependen de asumir soluciones exactas de forma cerrada, como las hipérbolas, siempre se basan en suposiciones. El sitio web que proporcionó ilustra la complejidad de justificar la aplicabilidad de los supuestos que subyacen a su método. Requieren que calcules "cuán alto está arriba", es decir, dónde está el punto más allá del cual puedes ignorar la Tierra, Marte o la Luna.

Eso suena como si estuvieras hablando de una simulación de N-cuerpos, lo cual no es factible con la cantidad de objetos espaciales que quiero admitir en una aplicación de navegador. Estoy familiarizado con las ecuaciones diferenciales, pero ¿qué quieres decir con 'acopladas'?
@lancew Hay una discusión sobre la mecánica orbital en esta respuesta, a menos que quieras seguir con Gauss. space.stackexchange.com/questions/41755/…
@lancew El DE es de segundo orden, ya que la aceleración es la segunda derivada de la posición. La ED se reescribe como un par de ecuaciones de primer orden, una para v como dx/dt y otra para a como dv/dt.