Estoy desarrollando un juego relacionado con la simulación espacial, y tengo problemas para implementar el movimiento de estrellas binarias, como este:
Las dos estrellas orbitan su centroide, y sus trayectorias son elipses.
Básicamente sé cómo determinar la velocidad angular en cualquier posición, pero no la velocidad angular con el tiempo. Entonces, para un ángulo dado, puedo calcular muy fácilmente la posición de las estrellas (véase http://en.wikipedia.org/wiki/Orbit_equation ).
Me gustaría obtener la posición de las estrellas con el tiempo. Las ecuaciones paramétricas de las obras de la elipse, pero no da a la velocidad correcta:
{ X(t) = a×cos(t) ; Y(t) = b×sin(t) }
.
¿Es posible y cómo se puede hacer?
mathematics
physics
Artefacto2
fuente
fuente
Respuestas:
Siguiendo algunos enlaces de la página de Wikipedia, usted hace referencia a Posición en función del tiempo .
fuente
Parece que ha tenido suficientes datos para producir la práctica animación anterior. Su simulación puede necesitar más precisión que la que proporciona mi solución:
Para cada cuadro de su animación anterior, registre las posiciones de píxeles de los centros de cada estrella. Ingrese estos valores en dos matrices en su programa. Para un tiempo dado t, encuentre las cuatro entradas consecutivas correspondientes en cada matriz y haga un filtro bicúbico en ellas para producir la posición de cada estrella.
fuente
He encontrado que la integración numérica es la forma más fácil. La ley del cuadrado inverso (F = GM / r ^ 2) funciona bastante bien. Y Runge Kutta orden cuatro a menudo llamado RK4 es fácil de implicar y funciona bien silenciosamente. Empiezas escribiendo una rutina que toma una derivada de tiempo de primer orden, por ejemplo, para un solo objeto en el espacio 2D, tienes coordenadas X e Y, y velocidades X e Y. La salida es la derivada del tiempo, la derivada del tiempo de la posición es simplemente la velocidad, por lo que la mitad es solo copiar valores, luego la aceleración es solo la atracción gravitacional. Luego sigues la receta de Runge Kutta. El error de un solo paso de tiempo es proporcional al paso de tiempo hasta la quinta potencia. Ajusta el paso de tiempo para que el resultado sea lo suficientemente preciso. Una ventaja de la integración numérica es si quieres jugar con el sistema para hacerlo más interesante,
fuente