Class KeplerianAnomalyUtility


  • public final class KeplerianAnomalyUtility
    extends Object
    Utility methods for converting between different Keplerian anomalies.
    Author:
    Luc Maisonobe, Andrew Goetz
    • Method Detail

      • ellipticMeanToTrue

        public static double ellipticMeanToTrue​(double e,
                                                double M)
        Computes the elliptic true anomaly from the elliptic mean anomaly.
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        M - elliptic mean anomaly (rad)
        Returns:
        elliptic true anomaly (rad)
      • ellipticTrueToMean

        public static double ellipticTrueToMean​(double e,
                                                double v)
        Computes the elliptic mean anomaly from the elliptic true anomaly.
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        v - elliptic true anomaly (rad)
        Returns:
        elliptic mean anomaly (rad)
      • ellipticEccentricToTrue

        public static double ellipticEccentricToTrue​(double e,
                                                     double E)
        Computes the elliptic true anomaly from the elliptic eccentric anomaly.
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        E - elliptic eccentric anomaly (rad)
        Returns:
        elliptic true anomaly (rad)
      • ellipticTrueToEccentric

        public static double ellipticTrueToEccentric​(double e,
                                                     double v)
        Computes the elliptic eccentric anomaly from the elliptic true anomaly.
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        v - elliptic true anomaly (rad)
        Returns:
        elliptic eccentric anomaly (rad)
      • ellipticMeanToEccentric

        public static double ellipticMeanToEccentric​(double e,
                                                     double M)
        Computes the elliptic eccentric anomaly from the elliptic mean anomaly.

        The algorithm used here for solving hyperbolic Kepler equation is from Odell, A.W., Gooding, R.H. "Procedures for solving Kepler's equation." Celestial Mechanics 38, 307–334 (1986). https://doi.org/10.1007/BF01238923

        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        M - elliptic mean anomaly (rad)
        Returns:
        elliptic eccentric anomaly (rad)
      • ellipticEccentricToMean

        public static double ellipticEccentricToMean​(double e,
                                                     double E)
        Computes the elliptic mean anomaly from the elliptic eccentric anomaly.
        Parameters:
        e - eccentricity such that 0 ≤ e < 1
        E - elliptic eccentric anomaly (rad)
        Returns:
        elliptic mean anomaly (rad)
      • hyperbolicMeanToTrue

        public static double hyperbolicMeanToTrue​(double e,
                                                  double M)
        Computes the hyperbolic true anomaly from the hyperbolic mean anomaly.
        Parameters:
        e - eccentricity > 1
        M - hyperbolic mean anomaly
        Returns:
        hyperbolic true anomaly (rad)
      • hyperbolicTrueToMean

        public static double hyperbolicTrueToMean​(double e,
                                                  double v)
        Computes the hyperbolic mean anomaly from the hyperbolic true anomaly.
        Parameters:
        e - eccentricity > 1
        v - hyperbolic true anomaly (rad)
        Returns:
        hyperbolic mean anomaly
      • hyperbolicEccentricToTrue

        public static double hyperbolicEccentricToTrue​(double e,
                                                       double H)
        Computes the hyperbolic true anomaly from the hyperbolic eccentric anomaly.
        Parameters:
        e - eccentricity > 1
        H - hyperbolic eccentric anomaly
        Returns:
        hyperbolic true anomaly (rad)
      • hyperbolicTrueToEccentric

        public static double hyperbolicTrueToEccentric​(double e,
                                                       double v)
        Computes the hyperbolic eccentric anomaly from the hyperbolic true anomaly.
        Parameters:
        e - eccentricity > 1
        v - hyperbolic true anomaly (rad)
        Returns:
        hyperbolic eccentric anomaly
      • hyperbolicMeanToEccentric

        public static double hyperbolicMeanToEccentric​(double e,
                                                       double M)
        Computes the hyperbolic eccentric anomaly from the hyperbolic mean anomaly.

        The algorithm used here for solving hyperbolic Kepler equation is from Gooding, R.H., Odell, A.W. "The hyperbolic Kepler equation (and the elliptic equation revisited)." Celestial Mechanics 44, 267–282 (1988). https://doi.org/10.1007/BF01235540

        Parameters:
        e - eccentricity > 1
        M - hyperbolic mean anomaly
        Returns:
        hyperbolic eccentric anomaly
      • hyperbolicEccentricToMean

        public static double hyperbolicEccentricToMean​(double e,
                                                       double H)
        Computes the hyperbolic mean anomaly from the hyperbolic eccentric anomaly.
        Parameters:
        e - eccentricity > 1
        H - hyperbolic eccentric anomaly
        Returns:
        hyperbolic mean anomaly