Cómo calcular el nuevo periapsis y apoapsis después del cambio de velocidad orbital

Estoy trabajando en una forma de simular órbitas para un videojuego que estoy haciendo. Funciona tomando el apoapsis, el periapsis y la distancia actual y calculando a partir de ahí la velocidad, la velocidad radial, el período, etc. No hay vectores involucrados, ya que no se simula un espacio 2D, solo los números mismos. La simulación funciona bien con la órbita sobre rieles, pero me encuentro con problemas tan pronto como cambio la velocidad orbital, porque luego necesito volver a calcular el apoapsis y el periapsis en función de este cambio.

Probé algunos métodos, pero parece que no funcionan debido a la falta de vectores, que todos usan. ¿Cuál es la forma correcta de hacer esto? Si decimos que estoy orbitando un objeto donde mu es 10.000, mi distancia actual del objeto es de 500 metros, el apoapsis es de 700 metros, el periapsis es de 300 metros y acelero 20 m/s, ¿cuál sería el nuevo apoapsis? y periapsis ser? Teniendo en cuenta que esto está destinado al uso de programación, por lo que también se agradecería cualquier pseudocódigo.

¿Le importa (lo hace en el mundo real) en qué lugar de la posición orbital de lo que, según su descripción, es una órbita elíptica, tiene lugar la quema de transferencia de Hohmann ascendente en órbita , y durante cuánto tiempo? Si no es así y está de acuerdo con la aproximación, le sugiero que trabaje con el semieje mayor (r + 500 m en su caso) y derive un algoritmo simple para calcular la nueva altitud con la nueva velocidad orbital usando vis- vivo _ ¿Eso funcionaría para ti?
Dices que aceleras 20 m/s, pero esto no es suficiente información para resolver el problema. Necesita saber la dirección, relativa a la dirección orbital y relativa a la dirección del planeta. Puede llamar a eso un "vector" o no, pero solo puede reducir realmente los grados de libertad independientes.
Lea el libro de Battin ("Una introducción a las matemáticas y los métodos de la astrodinámica"); reinventar la bicicleta es algo bueno una vez que conoce un diseño viable existente.
"No hay vectores involucrados, ya que no se simula ningún espacio 2D, solo los números mismos" . Entonces estás atascado. Te has encerrado en un esquema de representación que no te permitirá resolver el problema. Tomemos su ejemplo: en primer lugar, la aceleración tiene unidades de longitud/tiempo². Supongo que quiso decir un cambio impulsivo en la velocidad, o Δv para abreviar. ¿En qué dirección? ¿A lo largo del vector velocidad, contra él o en alguna otra dirección? ¿Ocurrió este Δv mientras se acercaba a la apoapsis o al periapsis?
Considere un objeto puntual de masa infinitesimal en relación con un cuerpo puntual sobre el cual se va a determinar un estado orbital. Dada la masa del cuerpo, la distancia entre los centros de masa del objeto y el cuerpo, y las componentes de la velocidad del objeto (1) a lo largo de la línea que conecta los centros de masa y (2) perpendicular a esa línea, debería ser posible determinar si el objeto está en una trayectoria orbital frente a una trayectoria de escape y si está en órbita, calcule el período, el periapsis y el apoapsis, y la relación entre la posición actual del objeto y los puntos de periapsis/apoapsis.
Creo que la pregunta es sobre una simulación orbital donde las matemáticas operan en un sistema de coordenadas del plano polar centrado en el centro de masa del "planeta".
ABanimationLtd, ayudaría si aclara su pregunta. ¿Qué quieres decir con "acelerar en 20 m/s"? Las unidades son incorrectas (eso es una velocidad) y un cambio de velocidad de 20 m/s con una mu de 10,000 (¿¿qué unidades?? 10000 metro 3 / s 2 ?) y un eje semi-mayor de 500 metros pondría al objeto en una trayectoria hiperbólica.
No entiendo por qué la pregunta fue rechazada. Pense que era interesante. +1

Respuestas (1)

Realmente te ayudaría representar esto como un vector tridimensional. Hace que las matemáticas sean mucho más simples y permite algunos efectos interesantes. Traduciría esto en el juego a la representación más simple de la altitud máxima, etc.

Dado un vector de posición y velocidad, uno podría calcular los elementos TLE a partir de esto. Simplemente encuentre la posición y la velocidad en ese momento, agregue el nuevo componente de velocidad y luego vuelva a calcular. Ya tenemos una excelente respuesta que muestra cómo convertir la posición y la velocidad en elementos orbitales.

Si desea simplificar esto, podría asumir una órbita de inclinación 0, que le permite usar un vector 2-d, y asumir que toda la propulsión es prograda o retrógrada, agregando o restando velocidad.

¡Buena suerte!