# Elliptical orbits in space as function of time

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

## 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 on other sites
There is no closed analytical solution to this.

##### 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 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 on other sites
Quote:
 Original post by ExtrariusThe 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 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 on other sites
Quote:
 Original post by Anonymous PosterThere 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 on other sites
Quote:
 Original post by joke_dstI'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 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 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.

1. 1
Rutin
23
2. 2
3. 3
JoeJ
20
4. 4
5. 5

• 29
• 40
• 23
• 13
• 13
• ### Forum Statistics

• Total Topics
631740
• Total Posts
3001965
×