Estoy tratando de simular un "sistema solar" virtual/imaginario en el software, solo un proyecto de pasatiempo por ahora. Lamentablemente, esto me ha hecho darme cuenta exactamente de cuántas matemáticas he olvidado desde la universidad.
La precisión completa no es importante, y no busco hacer nada sofisticado... no hay necesidad de cálculos de varios cuerpos, solo bastará con una estrella y un planeta. Solo quiero algo que pueda hacer una simulación ligera o un juego.
Tendré un archivo de configuración con algunos parámetros iniciales básicos para cada planeta. Al comienzo de la simulación, tiempo = 0 segundos, todos los planetas estarían alineados en una fila (planificando simplemente colocarlos en el mismo eje a su distancia de perihelio de la estrella). Me gustaría que los planetas se movieran alrededor de sus órbitas a la velocidad correcta según los parámetros proporcionados. Entonces, si decido establecer time = 1e10, necesito poder calcular las posiciones x e y de cada planeta en su órbita en ese momento preciso.
Soy flexible con respecto a QUÉ parámetros deben proporcionarse. Entonces, si esto se vuelve más fácil usando algún otro método para definir la órbita, estoy abierto a ello. Ahora mismo estoy pensando en perihelio, masa y tiempo transcurrido.
(Dado que esta es una simulación 3D, eventualmente también me gustaría trabajar con la inclinación, pero estoy tratando de comenzar de manera simple por ahora, por lo que todas las inclinaciones serán cero).
Aquí hay algunos datos de parámetros de muestra a continuación en caso de que ayude a proporcionar un mejor ejemplo.
Masa estelar = 2.00e30
Masa del planeta = 3.30e23
Perihelio del planeta = 5800000
(Ej. ¿Dónde estaría este planeta, en coordenadas X/Y, en el tiempo = x?)
Si alguien publica una fórmula que puedo conectar, no me quejaré. Pero si pudiera señalarme en la dirección correcta sobre qué aprender o refrescar mi memoria, me gustaría intentar resolver esto por mí mismo. Hasta ahora he estado mirando las ecuaciones de la tercera ley de Kepler, pero no estoy seguro de si ese es un buen lugar para comenzar. Me siento un poco culpable de haber olvidado prácticamente todas las matemáticas que aprendí en la universidad hace poco más de una década, y quiero revertir parte de esa decadencia. ¡Ojalá esto tenga sentido!
El enfoque más fácil es hacer una integración numérica de la ecuación de movimiento de su sistema. Para eso necesitas recordar que la fuerza gravitacional de sobre es
Para hacer la simulación, entonces tienes que seguir este esquema numérico
Apéndice: asegúrese de hacer clic aquí: http://www.sankara.net/mom.html
(elija el botón "Helios", arriba a la derecha)
Como una pregunta "increíblemente retórica", je, ¿puedes ver alguna elipsis en las órbitas de los planetas? Me imagino que el resultado final de tu juego se parecería a esa aplicación web. Supongo que las líneas rosa/naranja que muestran la transferencia de las dos naves espaciales (reales) de la Tierra a Marte serían algo así como en tu juego.
Simplemente reiteraría que, literalmente, para un juego, o cualquier "visualización de un sistema planetario" concebible, todo lo que tienes que hacer es "dibujar un círculo" y "poner un punto en él que se mueva en un círculo". Hacer visualizaciones del sistema de planetas como si fueran juegos es muy fácil , ¡ya que la escala es tremendamente grande, je!
(Nuevamente, puede simplemente obtener la duración del año de las fórmulas triviales vinculadas a continuación, recordando que debe modificar drásticamente la escala de tiempo).
¡Espero eso ayude!
Para que conste:
Para crear un diagrama en movimiento que muestre planetas en órbita:
(1) como dices, colócalos a la distancia deseada y conoce la masa . (2) calcule la duración del "año" .
(Es trivial hacer eso con, como usted dice, las ecuaciones de Kepler. Fácil de encontrar, ejemplo: ecuaciones complementarias ).
Por supuesto, escalarás el tiempo. (¿Qué pasa con 1 año terrestre es un minuto?) (De hecho, por supuesto, tendrá que aumentar radicalmente el tamaño del cuerpo, o simplemente no verá absolutamente nada).
Tenía una ventana abierta, así que hice esto en un motor de juego; ¡se necesitan 7 clics y 3 líneas de código!
Nota: mencionó "simulación" en su pregunta original. Ese término tiene un significado técnico específico (especialmente para cualquier persona en este sitio) y no tiene ninguna relación con lo que está preguntando. ¡Disfrutar!
FTR Deduzco de su otra pregunta que desea mostrar puntos suspensivos extremos de "videojuego". Puramente como una cuestión de interés, para su información, la forma en que literalmente lo hace para un juego similar a un viaje espacial (ya sea una aplicación o una PC) es
(a) trivialmente, solo haga que el planeta se mueva hacia adentro y hacia afuera (cualquier porcentaje que desee) cada medio año. (Simplemente use una transformación separada, de modo que haya una transformación para que circule y una transformación para que entre y salga) o
(b) empujarlo como se describe, por ejemplo, aquí, usando sin y cos (O, todos los motores de juego o API de gráficos/animación tienen una llamada de "ping pong" y/o "suavizado en los extremos", solo utilícelo).
Un recordatorio de que su visualización cambiará drásticamente de la realidad ya que presentará 10 o 20 meses en, digamos, 10 o 20 segundos.
No necesitas hacer una simulación física para hacer lo que quieres. Las leyes de movimiento planetario de Kepler funcionarán bien y, por supuesto, explican las órbitas elípticas.
Tendrás que hacer un poco más de matemáticas si quieres que tus órbitas sean elípticas. Las matemáticas que necesita se resumen aquí . Esta es una receta para calcular y en función del tiempo, donde es la distancia helio(astro)céntrica y es la anomalía verdadera, que es la coordenada angular en ese momento. A su vez tendrías que especificar la masa de la estrella (y del planeta si fuera significativo), el período orbital (o semi-eje mayor), la posición del perihelio (astron) y la posición en .
La inclinación orbital es independiente de estos cálculos, ya que en este esquema básico no hay nada que altere el momento angular de la órbita y por tanto hay un quinto parámetro que lo define.
Los cálculos son razonablemente simples, aunque tendrá que hacer algo numérico (como el método de Newton-Raphson ) para obtener la anomalía excéntrica en el paso 2.
Si desea comenzar a tener en cuenta las interacciones de 3 cuerpos (o más), tendrá que pensar en simulaciones físicas. Creo que el esquema proporcionado por cphyc funcionará bien siempre que haga que el paso de tiempo sea muy pequeño y no se integre en muchas órbitas. Si está interesado en la estabilidad o la evolución a largo plazo de los sistemas planetarios que configura, tendrá que entrar en esquemas mucho más complejos, ya que el sugerido por cphyc es numéricamente inestable.
Andy
Rubén Mallaby
SE - deja de despedir a los buenos
céfiro
usuario21
céfiro
usuario21
Usuario
yatima2975
Usuario
Usuario
gordito
gordito
gordito
gordito
gordito
huy pham
Usuario