Class KeplerianAnomalyUtility

java.lang.Object
org.orekit.orbits.KeplerianAnomalyUtility

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

    Modifier and Type
    Method
    Description
    static double
    convertAnomaly(PositionAngleType oldType, double anomaly, double e, PositionAngleType newType)
    Convert anomaly.
    static double
    ellipticEccentricToMean(double e, double E)
    Computes the elliptic mean anomaly from the elliptic eccentric anomaly.
    static double
    ellipticEccentricToTrue(double e, double E)
    Computes the elliptic true anomaly from the elliptic eccentric anomaly.
    static double
    ellipticMeanToEccentric(double e, double M)
    Computes the elliptic eccentric anomaly from the elliptic mean anomaly.
    static double
    ellipticMeanToEccentricDifference(double s0, double c0, double deltaM)
    Computes the difference in elliptic eccentric anomaly given that in elliptic mean anomaly.
    static double
    ellipticMeanToTrue(double e, double M)
    Computes the elliptic true anomaly from the elliptic mean anomaly.
    static double
    ellipticTrueToEccentric(double e, double v)
    Computes the elliptic eccentric anomaly from the elliptic true anomaly.
    static double
    ellipticTrueToMean(double e, double v)
    Computes the elliptic mean anomaly from the elliptic true anomaly.
    static double
    hyperbolicEccentricToMean(double e, double H)
    Computes the hyperbolic mean anomaly from the hyperbolic eccentric anomaly.
    static double
    hyperbolicEccentricToTrue(double e, double H)
    Computes the hyperbolic true anomaly from the hyperbolic eccentric anomaly.
    static double
    hyperbolicMeanToEccentric(double e, double M)
    Computes the hyperbolic eccentric anomaly from the hyperbolic mean anomaly.
    static double
    hyperbolicMeanToEccentricDifference(double s0, double c0, double deltaN)
    Computes the difference in hyperbolic eccentric anomaly given that in hyperbolic mean anomaly.
    static double
    hyperbolicMeanToTrue(double e, double M)
    Computes the hyperbolic true anomaly from the hyperbolic mean anomaly.
    static double
    hyperbolicTrueToEccentric(double e, double v)
    Computes the hyperbolic eccentric anomaly from the hyperbolic true anomaly.
    static double
    hyperbolicTrueToMean(double e, double v)
    Computes the hyperbolic mean anomaly from the hyperbolic true anomaly.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • 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
    • convertAnomaly

      public static double convertAnomaly(PositionAngleType oldType, double anomaly, double e, PositionAngleType newType)
      Convert anomaly.
      Parameters:
      oldType - old position angle type
      anomaly - old value for anomaly
      e - eccentricity
      newType - new position angle type
      Returns:
      converted anomaly
      Since:
      12.2
    • ellipticMeanToEccentricDifference

      public static double ellipticMeanToEccentricDifference(double s0, double c0, double deltaM)
      Computes the difference in elliptic eccentric anomaly given that in elliptic mean anomaly.

      This function solves Eq. 4.43 in Battin (1999).

      Parameters:
      s0 - intermediate quantity s0
      c0 - intermediate quantity c0
      deltaM - difference in elliptic mean anomaly
      Returns:
      difference in elliptic eccentric anomaly
    • hyperbolicMeanToEccentricDifference

      public static double hyperbolicMeanToEccentricDifference(double s0, double c0, double deltaN)
      Computes the difference in hyperbolic eccentric anomaly given that in hyperbolic mean anomaly.

      This function solves Eq. 4.64 in Battin (1999).

      Parameters:
      s0 - intermediate quantity s0
      c0 - intermediate quantity c0
      deltaN - difference in hyperbolic mean anomaly
      Returns:
      difference in hyperbolic eccentric anomaly
      Since:
      14.0