Uso de la posición, la velocidad y la masa en 2D para determinar las ecuaciones de posición paramétricas de un cuerpo en órbita

Tengo una pregunta relacionada con la gravedad. Estoy programando un simulador de órbita. Tengo todo en funcionamiento, pero me gustaría representar la trayectoria orbital del cuerpo más pequeño (el cuerpo más grande está fijo). Para hacer esto, necesito las ecuaciones paramétricas para la posición del cuerpo en un momento dado (es decir, necesito un X ( t ) y y ( t ) función). Tengo acceso a la posición, velocidad y masa de cada cuerpo. No tengo otras variables accesibles.

PD Aquí hay un enlace a lo que tengo hasta ahora. Las ecuaciones que se utilizan actualmente para trazar la órbita son X ( t ) = X + v X t y y ( t ) = y + v y t .

Esta pregunta parece estar fuera de tema porque se trata de simulaciones de programación y no de un concepto de física.
Es un poco un área gris, pero la pregunta está intrínsecamente relacionada con la física. No se trata de programar, se trata de encontrar ecuaciones paramétricas para la órbita de un cuerpo utilizando variables conocidas.
Hola Conner, podrías simular tener un cuerpo central fijo pero tu simulación no será precisa o las ecuaciones serán bastante complicadas. Ver physics.stackexchange.com/questions/98011/…
No hay ninguna información sólida presente en ese hilo. ¿Está diciendo que no hay ningún método para tomar la información que tengo disponible y desarrollar un conjunto de ecuaciones de posición (quizás de integración)?
@BrandonEnright Estoy de acuerdo con Conner aquí, que esto es física en un contexto de programación, en lugar de una pregunta de programación real, y que es un tema aquí.
Ninguno de esos hilos tiene información pertinente. Busco el desarrollo de ecuaciones de movimiento elíptico paramétrico. Esos enlaces no incluyen dicha información.
El enlace está caído. ¿Algún archivo?

Respuestas (3)

Esta respuesta es un complemento de la respuesta de Chris White.

En primer lugar, no hay ecuaciones explícitas para la posición de un objeto siguiendo una órbita de Kepler en función del tiempo. Sin embargo, cuando se conocen las condiciones iniciales, se puede encontrar el camino que seguirá el objeto, así como la velocidad, aceleración, etc. en cualquier posición dada. Este camino puede ser descrito por la siguiente ecuación:

r = a ( 1 mi 2 ) 1 + mi porque θ
dónde r es la distancia entre el objeto (pequeño) y el foco de la órbita (que es igual a la posición del objeto fijo grande o el centro de masa de los dos si el segundo objeto no está fijo), a es el semieje mayor, mi es la excentricidad y θ es la anomalía verdadera (el ángulo entre la posición del objeto, el foco y la posición del objeto en el acercamiento más cercano/periapsis).

El semieje mayor y la excentricidad se pueden deducir de las condiciones iniciales:

a = m r 2 m r v 2
mi = 1 + r v θ 2 m ( r v 2 m 2 )
dónde m es el parámetro gravitacional del gran objeto fijo ( m = GRAMO METRO ), v es la velocidad del objeto y v r es la componente tangencial de la velocidad.

Esta componente tangencial de la velocidad se puede encontrar usando algo de álgebra lineal (el equivalente resultante del producto vectorial en 2D):

v θ = X v y y v X X 2 + y 2

La posición del periapsis puede tener cualquier ángulo relativo al foco y al eje en el que representas las posiciones. Por lo tanto, deberá compensar/rotar la ruta que ha encontrado en un ángulo específico para que coincida con las condiciones iniciales.

Este ángulo de compensación de θ , llamémoslo Δ θ , se puede calcular de la siguiente manera:

Δ θ = s i gramo norte ( v θ v r ) porque 1 ( a ( 1 mi 2 ) X 2 + y 2 mi X 2 + y 2 ) a t a norte 2 ( y , X )
donde la funcion s i gramo norte ( X ) se refiere a si X es positivo o negativo ( X | X | ) y v r es la velocidad radial, que se puede encontrar mediante:
v r = X v X + y v y X 2 + y 2
Este ángulo de compensación se elige de manera que la ruta resultante esté definida por:
X pag a t h = r ( θ ) porque ( θ + Δ θ )
y pag a t h = r ( θ ) pecado ( θ + Δ θ )

Tengo una nota final sobre la elección de la gama de θ , desde cuando mi 1 entonces el camino ya no será una elipse, sino una parábola o una hipérbola, que se extiende hasta el infinito. Para evitar intentar dibujar esto, puede limitar el rango de θ . Por ejemplo, eligiendo un radio máximo, r metro a X . El rango de θ será entonces:

θ metro a X = r mi a yo ( porque 1 ( a ( 1 mi 2 ) r metro a X mi r metro a X ) )
θ [ θ metro a X , θ metro a X ]

Parece que ya has hecho la parte difícil, que es evolucionar la posición del objeto en función del tiempo. Y además, la simulación parece estable en varias órbitas. (Pero eventualmente las cosas comienzan a salir mal; es posible que desee ver una respuesta que escribí a ¿ Cuál es la forma correcta de integrarse en simulaciones de astronomía? )

Entonces, entiendo que todo lo que realmente necesita es la órbita completa trazada. En ese caso, no hay necesidad de convertirlo en una función del tiempo real (eso es difícil). En su lugar, podemos recurrir a la Primera Ley de Kepler , que dice que la separación r entre los cuerpos obedece

r = r metro a X ( 1 mi ) 1 + mi porque ( θ ) .
r metro a X es la separación máxima, que creo que es la separación inicial en su simulación particular. la excentricidad mi (fórmula aquí ) está dada por
mi 2 = 1 + 2 mi r 4 θ ˙ 2 GRAMO 2 METRO 2 metro ,
dónde mi es la energía orbital, GRAMO es la constante gravitacional , METRO es la masa que es tan pesada que esencialmente no se mueve, y metro es la masa más ligera. Esto se puede reescribir más convenientemente
mi 2 = 1 + 2 ( r v GRAMO METRO ) 2 ( v 2 2 GRAMO METRO r ) ,
dónde v es la velocidad de la partícula en movimiento.

Tenga en cuenta que la convención es para θ para medir el ángulo desde el acercamiento más cercano (es decir, θ = 0 es el negativo y -eje en su simulación). Si quieres θ aumente con el tiempo, entonces la transformación (no estándar) a coordenadas cartesianas es

X = r pecado ( θ ) y = r porque ( θ ) ,
asumiendo r = 0 corresponde al objeto masivo. En cualquier caso, para trazar la órbita todo lo que necesita hacer es calcular la constante mi en un punto de la órbita, muestra θ con tantos puntos como quieras, calcula las separaciones r ( θ ) , y convertir el ( r , θ ) pares a ( X , y ) .

Su tercera ecuación solo es correcta cuando está en periapsis, apoapsis o en una órbita circular. Es decir, la primera termia de velocidad debe ser la velocidad radial. Y también hay que tener en cuenta que la elipse puede estar rotada. Publicaré una respuesta para abordar estas cosas también.
Quise decir tangencial en lugar de radial.

Las simulaciones orbitales se pueden manejar usando las siguientes relaciones:

(a) F = metro a = metro d 2 X d t 2 (b) v = d X d t (C) a = d v d t
La fuerza que actúa sobre dos cuerpos, masa METRO y metro viene dada por la ley gravitatoria de Newton
(d) F = GRAMO metro METRO r 2 r ^ = GRAMO metro METRO r 3 ( X X ^ + y y ^ )
con r = X 2 + y 2 . Entonces el algoritmo queda así:

  1. Calcular F de X
  2. Determinar la nueva velocidad v a través de v norte + 1 = v norte + a d t
  3. Determinar la nueva posición X a través de X norte + 1 = X norte + v d t
  4. Vuelva al Paso 1.

Esto se puede hacer usando las ecuaciones exactas dadas arriba, pero no será numéricamente estable por mucho tiempo. Los métodos de orden superior como Runge-Kutta 3/4/5 mantendrán su estabilidad durante períodos de tiempo más prolongados, pero no serán perfectos.



Si esta no es la información que necesitas, házmelo saber e intentaré ayudarte en lo que pueda, pero me parece que solo necesitabas saber la Ecuación (d) en relación con las demás.

La pregunta no es sobre la simulación sino sobre el camino a lo largo del cual viajará el objeto.