Elliptical orbits in space as function of time
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?
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.)
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.)
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.
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.
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)
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)
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.
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.
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.
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.
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement