Position of a Body on a Hyperbolic/Parabolic Orbit with Respect to Time

Join the discussion
Registration is free. Start your own thread to ask a follow-up.
4 replies · 7K views
whiterook6
Messages
4
Reaction score
0
.. Using Keplerian Elements

Hi. Disclaimer: this is the first foray into orbits I've ever taken. I only did mechanics in university and haven't really touched it sincew.

I'm busy coding a simulation of a solar system. I've managed to code a routine to calculate the position of a body along an elliptic orbit, using a wikipedia article, but the code breaks down when the eccentricity of the orbit approaches or passes 1.0. Specifically, the true anomaly goes to π and the radius goes to ∞ pretty much immediately when the eccentricity is 1.0; when the eccentricity is >1.0, the true anomaly goes to ∞ too.

So, I'm looking for a little help with an algorithm to calculate points on a parabolic orbit, or on a hyperbolic orbit, using the same parameters like semimajor axis and eccentricity. From what I can see, mean/eccentric/true anomalies don't make sense for parabolic and hyperbolic orbits.

I'll take whatever help you can lend, and I don't need anyone to code me a solution, but I'm specifically looking to calculate the coordinates of a point on the orbit with respect to time.

Thanks for your help!

If you're curious, here's the code:
Code:
float meanAnomaly=(2.0f*pi*age)/(period)+meanAnomalyAtEpoch,
      eccentricAnomaly=solveForEccentricAnomaly(meanAnomaly, eccentricity),
      trueAnomaly=2.0f*atan2f(sqrt(1.0f+eccentricity)*sin(eccentricAnomaly/2.0f),
                              sqrt(1.0f-eccentricity)*cos(eccentricAnomaly/2.0f)),
      radius=semiMajorAxis*(1.0f-(eccentricity*eccentricity))/(1+eccentricity*cos(trueAnomaly));
where solveForEccenticAnomaly solves M=E-e*sin(E).
 
Astronomy news on Phys.org
whiterook6 said:
where solveForEccenticAnomaly solves M=E-e*sin(E).
That's the source of your problem. That is Kepler's equation for an elliptical orbit. It isn't valid for hyperbolic orbits (e>1) or for orbits with e=1 (parabolic orbits, plus three kinds of degenerate orbits (angular momentum=0)).

The solutions for parabolic and hyperbolic orbits can be found in a number of references:
- Vallado & McClain, Fundamentals of astrodynamics and applications
- Battin, An introduction to the mathematics and methods of astrodynamics
- Astrodynamics, MIT Open CourseWare, http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-346-astrodynamics-fall-2008/
 
D H said:
That's the source of your problem. That is Kepler's equation for an elliptical orbit. It isn't valid for hyperbolic orbits (e>1) or for orbits with e=1 (parabolic orbits, plus three kinds of degenerate orbits (angular momentum=0)).

The solutions for parabolic and hyperbolic orbits can be found in a number of references:
- Vallado & McClain, Fundamentals of astrodynamics and applications
- Battin, An introduction to the mathematics and methods of astrodynamics
- Astrodynamics, MIT Open CourseWare, http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-346-astrodynamics-fall-2008/

Phew, that's a little beyond me. However, I know that it's certainly possible to plot a parabola/hyperbola in polar coordinates (or at least wikipedia says we can):

r=a(e2-1)/(1+e*cosθ)

Can I consider θ to be a true anomaly, and if so, is it possible to calculate θ from time t given parameters similar to Keplerian elements, like semimajor axis, focus distance, or period?
 
whiterook6 said:
Phew, that's a little beyond me. However, I know that it's certainly possible to plot a parabola/hyperbola in polar coordinates (or at least wikipedia says we can):

r=a(e2-1)/(1+e*cosθ)

Can I consider θ to be a true anomaly, and if so, is it possible to calculate θ from time t given parameters similar to Keplerian elements, like semimajor axis, focus distance, or period?

You can't use [itex]r=a(e^2-1)/(1+e\cos\theta)[/itex] for a parabola. You can use [itex]r=p/(1+e\cos\theta)[/itex] where p is the semi latus rectum as a general rule. This is valid for everything but the degenerate cases with zero angular momentum.

Kepler's equation does generalize to parabolic and hyperbolic orbits. For parabolae you need to use Barker's equation. For hyperbolae you need to use the hyperbolic anomaly. The hyperbolic equivalent of Kepler's equation is [itex]M=e\sinh H - H[/itex].

For more, and for derivations, I suggest you see the references I supplied in my previous post.
 
D H said:
You can't use [itex]r=a(e^2-1)/(1+e\cos\theta)[/itex] for a parabola. You can use [itex]r=p/(1+e\cos\theta)[/itex] where p is the semi latus rectum as a general rule. This is valid for everything but the degenerate cases with zero angular momentum.

Kepler's equation does generalize to parabolic and hyperbolic orbits. For parabolae you need to use Barker's equation. For hyperbolae you need to use the hyperbolic anomaly. The hyperbolic equivalent of Kepler's equation is [itex]M=e\sinh H - H[/itex].

For more, and for derivations, I suggest you see the references I supplied in my previous post.

Thanks. That doesn't really answer my question, but it's certainly a start. I can get the hyperbolic anomaly from the above formula; can I go from that to a true anomaly, and in the above formula, is M the same as for elliptical orbits? And does Barker's Equation also give a "parabolic anomaly" from a mean anomaly?