Bir sistemdeki (veya bu konudaki herhangi bir nesnenin) gezegenlerin hareketini simüle etmek için Newton fiziğini kullanması gereken basit bir astronomi simülatörü oluşturuyorum. Tüm cisimler, bir Öklid düzleminde, konum, hız, kütle, yarıçap ve ortaya çıkan kuvvet gibi özelliklere sahip dairelerdir.
Evreni, genellikle birkaç milisaniye gibi küçük zaman adımlarında güncellemek istiyorum, ancak konumdaki değişiklikleri nasıl doğru bir şekilde hesaplayacağımı bilmiyorum.
Kuvvet basittir: fr = sum(G * body.m * bodyi.m / dist(body, bodyi)^2)
.
Ama oradan nasıl devam ederim?
Bunu yapabilirdim:
a = Fr/body.m
v += a*dt
position += v*dt
Ancak bu elbette yanlış olur. Belki pozisyon hesaplamasında faktör olarak 0.5 eklesem?