Estou desenvolvendo um jogo relacionado à simulação espacial e estou tendo alguns problemas para implementar o movimento de estrelas binárias, assim:
As duas estrelas orbitam seu centróide e suas trajetórias são elipses.
Basicamente, sei como determinar a velocidade angular em qualquer posição, mas não a velocidade angular ao longo do tempo. Portanto, para um determinado ângulo, eu posso facilmente calcular a posição das estrelas (cf. http://en.wikipedia.org/wiki/Orbit_equation ).
Eu gostaria de obter a posição das estrelas ao longo do tempo. Se as equações paramétricas das obras da elipse, mas não dar a velocidade correta:
{ X(t) = a×cos(t) ; Y(t) = b×sin(t) }
.
É possível e como isso pode ser feito?
mathematics
physics
Artefato2
fonte
fonte
Respostas:
Seguindo alguns links da página da Wikipedia, você faz referência a Position em função do tempo .
fonte
Você parece ter dados suficientes para produzir a animação útil acima. Sua simulação pode precisar de mais precisão do que a fornecida pela minha solução:
Para cada quadro de sua animação acima, registre as posições de pixel dos centros de cada estrela. Digite esses valores em duas matrizes no seu programa. Por um determinado tempo t, encontre as quatro entradas consecutivas correspondentes em cada matriz e faça um filtro bicúbico para produzir a posição de cada estrela.
fonte
Eu achei a integração numérica a maneira mais fácil. A lei do quadrado inverso (F = GM / r ^ 2) funciona muito bem. E o pedido Runge Kutta, geralmente chamado de RK4, é fácil de implementar e funciona bem silenciosamente. Você começa escrevendo uma rota que leva a derivada de tempo de primeira ordem, por exemplo, para um único objeto no espaço 2D, você tem coordenadas X e Y e velocidades X e Y. A saída é a derivada do tempo, a derivada do tempo da posição é simplesmente velocidade; portanto, metade dela é apenas cópia de valores; a aceleração é apenas a atração gravacional. Então você segue a prescrição Runge Kutta. O erro de um único intervalo de tempo é proporcional ao intervalo de tempo para a quinta potência. Você ajusta a etapa do tempo para tornar o resultado preciso o suficiente. Uma vantagem da integração numérica é se você deseja jogar com o sistema para torná-lo mais interessante,
fonte