Sign in to follow this  

Elliptical orbits in space as function of time

This topic is 4778 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been trying to create a formula for predicting an object in space's position if it is in orbit around another (massive) object. The orbit is elliptical, so a simple x=cos(t) won't work... Simulating orbit by using small incremental steps is not an option, I need a function where I can input time, and get the current position. I've found a bunch of stuff on the internet about orbits, many filled with unreadable math, but none that gives position as a function of time... Does anyone know how to do this?

Share this post


Link to post
Share on other sites
Keplers law: A line joining a planet/comet and the Sun sweeps out equal areas in equal intervals of time. (see http://home.cvc.org/science/kepler.htm).

Thus if you can find a function that gives the area in function of the angle, even better find one that gives the angle in function of the area, you can say:

in A time, it sweeps B area, thus after A*C time, it must have swept B*C area. Then you can calculate the angle, and from the angle, you can find the position.

(If there is no closed analytical solution to this, then I must be wrong somewhere.)

Share this post


Link to post
Share on other sites
The problem with your request is that you're asking us to eliminate the 'loop' in a 'recursive' function: The current location depends on the location at the previous instant which depends on the previous instant ad infinitum.

Share this post


Link to post
Share on other sites
Quote:
Original post by Extrarius
The problem with your request is that you're asking us to eliminate the 'loop' in a 'recursive' function: The current location depends on the location at the previous instant which depends on the previous instant ad infinitum.

Only if you are dealing with the system dynamically by applying forces and the like, as you would need to do for constantly varying systems. However for closed and stable orbits its possible to analytically determine the orbiting objects position and velocity at any time given its position and velocity at any other time. As Koroljov suggests and I suggested in another recent thread, the way to do this is using Keplers laws.

Share this post


Link to post
Share on other sites
It's possible to find an analytical formula for the area given the angle phi:

A = (p/2)*(ln((sqrt(e+1)*(cos(phi)+1)-sqrt(e-1)*sin(phi))/(sqrt(e+1)*(cos(phi)+1)+sqrt(e-1)*sin(phi)))/((e+1)*(e-1))^(3/2) + e*sin(phi)/((e+1)*(e-1)*(e*cos(phi)+1)))

where p = a*(1-e^2), e is the excentricity and a is the semimajor axis,

but i don't know of a way to invert this formula to get phi=phi(A)

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
There is no closed analytical solution to this.


Yes there is. The issue only becomes incalculable when you have the number of bodies as 3 or greater. And then it's only a problem for long time periods. Shorter time periods can be represented by inifinite series with a very high degree of accuracy.

Share this post


Link to post
Share on other sites
Quote:
Original post by joke_dst
I've been trying to create a formula for predicting an object in space's position if it is in orbit around another (massive) object. The orbit is elliptical, so a simple x=cos(t) won't work...

Simulating orbit by using small incremental steps is not an option, I need a function where I can input time, and get the current position.

I've found a bunch of stuff on the internet about orbits, many filled with unreadable math, but none that gives position as a function of time...

Does anyone know how to do this?


There's no easy way to avoid the difficult math if you are looking for an accurate model.

Share this post


Link to post
Share on other sites
The integral of motion is now an elliptic integral and so cannot be evaluated in closed form.

from: http://scienceworld.wolfram.com/physics/EllipticalOrbit.html

You can solve for the orbit path in the two-body problem, but not for a closed form parameterization in time.

Share this post


Link to post
Share on other sites
Well, physics ain't me, but if you simply want something that looks ok seems you could use the parametric equation for an ellipse and then make that parameter a function of time. Maybe t-cos(t/2)*sin(t/2)). That would make its velocity go to zero every 2n*pi and hit a max at (2n+1)*pi. You could then scale the t in that function to get the period on the orbits you want.

Share this post


Link to post
Share on other sites

This topic is 4778 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this