¿Cómo ordenar las posiciones orbitales en el orden de seguimiento por nave espacial?

Tengo una nave espacial en órbita cuyos elementos keplerianos se conocen. Además, tengo una lista ordenada aleatoriamente de anomalías verdaderas que representan las posiciones de las naves espaciales en esa órbita.

¿Cómo ordenar esta lista para obtener todas las anomalías verdaderas en el orden en que las seguirán las naves espaciales?

Ordena sus valores numéricos en orden creciente.
Pero después del apocentro los valores comienzan a disminuir
La anomalía verdadera aumenta en la dirección de viaje alrededor de la órbita. Si está calculando True Anomaly correctamente, en una órbita elíptica, el objeto recorrerá la lista, en orden ascendente, una y otra vez.
Sí, tiene usted razón. Olvidé que los números negativos más pequeños tienen magnitudes más grandes

Respuestas (2)

La anomalía verdadera es el ángulo desde el periapsis, a través del centro del cuerpo que se está orbitando, hasta una posición orbital designada, medida en el plano de la órbita, con la dirección positiva designada como la dirección de viaje alrededor de la órbita.

Si sus verdaderos valores de anomalía están en el rango ( π , π ] en radianes o ( 180 ° , 180 ° ] en grados, ordenarlos en orden ascendente. En una órbita elíptica, el cuerpo visitará estas verdaderas anomalías una vez en cada órbita en ese orden. En una trayectoria parabólica o hiperbólica, los visitará una vez, en ese orden.

Si sus cálculos han resultado en valores de anomalías reales fuera de esos rangos, puede convertir los ángulos para ponerlos en ese rango. Hay muchas maneras de hacer esto, normalmente uso la función arctan2 . Dado un valor inicial de anomalía verdadera θ :

F = a r C t a norte 2 ( pecado θ , porque θ )

F estará en el rango ( π , π ] o ( 180 ° , 180 ° ] según corresponda, y puede ordenar en orden ascendente, como se indicó anteriormente.

¡Interesante! modificación ( θ + π ,   2 π ) π   también funciona Podría señalar que técnicamente la respuesta es imposible; para una órbita de Kepler adecuada, no hay forma de saber si no hay un número entero de rotaciones entre puntos; 0 podría venir n + 1/2 períodos después π .
@uhoh Sí, el módulo funciona matemáticamente; Tiendo a evitarlo aquí porque su implementación en lenguajes de programación con punto flotante y números negativos puede ser inconsistente . En cuanto al número entero adicional de rotaciones; Tal como se planteó, la pregunta solo proporcionó una lista de anomalías verdaderas, y las rotaciones adicionales son irrelevantes. En una órbita Kepleriana, no hay forma de pasar de F = 20 ° a F = 30 ° sin pasar F = 25 °
es bueno saberlo modificación ( ) , ¡gracias! Lo leí como que el OP tiene una tabla de eventos y, suponiendo que la órbita es saludable, puede haber una gran cantidad de ocurrencias de 25 °, solo una de las cuales está entre un par adyacente dado de 20 ° y 30 °. Supongo que mientras la pregunta sea corta y ambigua, se puede tomar de cualquier manera.
@notovny Por ejemplo, la posición de la nave espacial es Pi/2 y tenemos una lista de anomalías (Pi/4, -Pi/2, Pi, 0, 3Pi/4). Si lo ordeno en orden ascendente, obtendré una lista (-Pi/2, 0, Pi/4, 3Pi/4, Pi) que es incorrecta. La lista correcta es (3Pi/4, Pi, -Pi/2, 0, Pi/4). Tal vez, primero debería extraer la anomalía de la nave espacial actual de cada anomalía en la lista y luego agregar 2Pi a todas las anomalías que están por debajo de cero. Luego ordene la lista y vuelva a convertir los valores

Si tenemos una lista aleatoria de anomalías verdaderas en el rango [-PI;PI], podemos ordenarlas usando el siguiente algoritmo:

  1. Reste de cada anomalía la anomalía de la posición actual.
  2. Agregue 2*PI a cada valor de anomalía que sea menor que 0
  3. Ordenar la lista de anomalías en orden ascendente
  4. Agregue la anomalía de la posición actual a cada anomalía en la lista.
  5. Restar 2*PI de cada valor de anomalía mayor que PI

Después de estos pasos, recibiremos la lista de anomalías ordenadas en el siguiente orden.