Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Trajectory in gravitational field

  1. Sep 1, 2014 #1
    So, I'm attempting to programm orbit in Unity game engine. So I need equation that shows r and phi depending on time.

    Equation for gravitational potential is

    U(r)=-k/r+M^2/(2*μ*r^2). Force is -1*derivation of U(r) by r. So I get lots of stupid stuff.

    If anybody could help me to integrate this equation to get r(t) I would be grateful.
     
  2. jcsd
  3. Sep 1, 2014 #2

    ShayanJ

    User Avatar
    Gold Member

    It doesn't work that way. You should integrate the differential equations of motion numerically.
     
  4. Sep 1, 2014 #3
    Can you please explain, what differential equations? Is it m*d^2(x)/dt^2=gravitational force + centrifugal force?
     
  5. Sep 1, 2014 #4

    ShayanJ

    User Avatar
    Gold Member

    If you use polar coordinates [itex] (\rho,\varphi) [/itex], then the equations are:

    [itex] \rho^3\ddot \rho+GM \rho=R^4 \omega^2[/itex]
    and
    [itex] \rho^2 \dot\varphi=R^2 \omega [/itex]

    where [itex] R [/itex] is the initial distance from the centre of force and [itex] \omega [/itex] is the initial angular speed.
     
  6. Sep 1, 2014 #5
    Actually I'm using spherical coordinate system
     
  7. Sep 1, 2014 #6

    ShayanJ

    User Avatar
    Gold Member

    Well, there is absolutely no difference. Because the orbits of an inverse-square field lie on a plane and so the problem is two dimensional and spherical coordinates reduce to polar coordinates in two dimensions.
     
  8. Sep 1, 2014 #7

    vanhees71

    User Avatar
    Science Advisor
    2016 Award

    Don't forget that
    [tex]M=\mu r^2 \dot{\varphi}=\text{const}.[/tex]
    Then you can use the energy-conservation Law
    [tex]\frac{\mu}{2} \dot{r}^2 +U(r)=E=\text{const}[/tex]
    substitute
    [tex]\dot{r}=\frac{\mathrm{d}r}{\mathrm{d} \varphi} \dot \varphi=\frac{\mathrm{d}r}{\mathrm{d} \varphi} \frac{M}{\mu r^2}.[/tex]
    With this you get a differential equation for the orbit in terms of polar coordinates [itex]r=r(\varphi)[/itex].

    To integrate it, just substitute
    [tex]s=\frac{1}{r}[/tex]
    into this differential equation.

    You find the calculation in my mechanics FAQ (which is, however, in German, but with a lot of equations, so that you should be able to follow the arguments with the above given summary).

    http://theory.gsi.de/~vanhees/faq/mech/node42.html
     
  9. Sep 1, 2014 #8
    Thanks guys, that will help.

    vanhees71 - in the end I get r=r(phi), but I need r=r(t) and phi=phi(t).

    From shyan's equation I get

    d[itex]\varphi[/itex]/dt=R^2*[itex]\omega[/itex]/ρ^2. I don't know how to get dρ/dt
     
    Last edited: Sep 1, 2014
  10. Sep 1, 2014 #9

    ShayanJ

    User Avatar
    Gold Member

    The equations I gave are already proper for being integrated numerically. You don't need to change them. You only need to learn about some methods of numerically solving differential equations.
     
  11. Sep 1, 2014 #10
    OK, I will look into that. Few years ago we were solving it in Sage (python).
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook