Hi!
I’m wondering what the justification is for excluding hyperbolic EquinoctialOrbit
definitions.
Nothing jumps out at me as “problematic” from the equations of motion, conversion between orbit representations, analytic propagation (shiftedBy
), etc.
I can see why we would exclude perfectly parabolic trajectories (i.e., a → infinity), and this would be a problem in the constructor that takes a TimeStampedPVCoordinates
; i.e.,
public EquinoctialOrbit(final TimeStampedPVCoordinates pvCoordinates,
final Frame frame, final double mu)
...
final double rV2OnMu = r * V2 / mu;
...
// compute semi-major axis
a = r / (2 - rV2OnMu);
...
but even the ubiquitous KeplerianOrbit
doesn’t handle perfectly parabolic trajectories perfectly (e.g., computeJacobianEccentricWrtCartesianHyperbolic
, computeJacobianTrueWrtCartesianHyperbolic
, addKeplerContribution
all will encounter issues with e == 1
)
(aside: it’s interesting that the comparatively simple parabola always seems to make things more difficult)
Thank you for your time!