예제 #1
0
        // MEarth.MeanLongitude()
        /// <summary>
        /// Liefert die mittlere Länge der mittleren Planetenbahn zur aktuellen Systemzeit.
        /// </summary>
        /// <returns>Mittlere Länge der mittleren Planetenbahn zur aktuellen Systemzeit.</returns>
        /// <remarks>Die Winkelangabe erfolgt in Gradmaß.</remarks>
        public static double MeanLongitude()
        {
            // Lokale Felder einrichten und Länge berechnen
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.MeanLongitude(jd));
        }
예제 #2
0
        // MEarth.TropicalYear()
        /// <summary>
        /// Liefert die Dauer des tropischen Jahres zur aktuellen Systemzeit.
        /// </summary>
        /// <returns>Dauer des tropischen Jahres zur aktuellen Systemzeit.</returns>
        public static double TropicalYear()
        {
            // Lokale Felder einrichten und Länge berechnen
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.TropicalYear(jd));
        }
예제 #3
0
        // MEarth.Perihelion
        /// <summary>
        /// Liefert die julianische Tageszahl des nächsten Durchgangs durch das Perihel nach der aktuellen Systemzeit.
        /// </summary>
        /// <returns>Julianische Tageszahl des nächsten Durchgangs durch das Perihel nach der aktuellen Systemzeit.</returns>
        public static double Perihelion()
        {
            // Lokale Felder einrichten und Ereigniszeit bestimmen
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.Perihelion(jd));
        }
예제 #4
0
        // MEarth.MeanAnomaly()
        /// <summary>
        /// Liefert die mittlere Anomalie der mittleren Planetenbahn zur aktuellen Systemzeit.
        /// </summary>
        /// <returns>Mittlere Anomalie der mittleren Planetenbahn zur aktuellen Systemzeit.</returns>
        /// <remarks>Die Winkelangabe erfolgt in Gradmaß.</remarks>
        public static double MeanAnomaly()
        {
            // Lokale Felder einrichten und Anomalie berechnen
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.MeanAnomaly(jd));
        }
예제 #5
0
        // MEarth.Eccentricity()
        /// <summary>
        /// Liefert die Exzentrizität der mittleren Planetenbahn zur aktuellen Systemzeit.
        /// </summary>
        /// <returns>Exzentrizität der mittleren Planetenbahn zur aktuellen Systemzeit.</returns>
        public static double Eccentricity()
        {
            // Lokale Felder einrichten und Exzentrizität berechnen
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.Eccentricity(jd));
        }
예제 #6
0
        // MEarth.Longitude(EPrecision)         » MEarth.Longitude.cs
        // MEarth.Longitude(EPrecision, double) » MEarth.Longitude.cs

        // MEarth.LongitudeOfPerihelion()
        /// <summary>
        /// Liefert die Länge des Perihels der mittleren Planetenbahn zur aktuellen Systemzeit.
        /// </summary>
        /// <returns>Länge des Perihels der mittleren Planetenbahn zur aktuellen Systemzeit.</returns>
        /// <remarks>Die Winkelangabe erfolgt in Gradmaß.</remarks>
        public static double LongitudeOfPerihelion()
        {
            // Lokale Felder einrichten und Länge berechnen
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.LongitudeOfPerihelion(jd));
        }
예제 #7
0
        // ------------------- //
        // Felder und Methoden //
        // ------------------- //
        // MEarth.Latitude(EPrecision)
        /// <summary>
        /// Liefert die heliozentrisch-ekliptikale Breite zur aktuellen Systemzeit.
        /// </summary>
        /// <param name="value">Genauigkeitskennung.</param>
        /// <returns>Heliozentrisch-ekliptikale Breite zur aktuellen Systemzeit.</returns>
        public static double Latitude(EPrecision value)
        {
            // Lokale Felder einrichten
            double jd = MCalendar.FromDateTime(DateTime.Now);

            return(MEarth.Latitude(value, jd));
        }
예제 #8
0
        // MEarth.PositionEcliptical(EPrecision, double)
        /// <summary>
        /// Liefert die heliozentrisch-ekliptikale Position zur julianischen Tageszahl.
        /// </summary>
        /// <param name="value">Genauigkeitskennung.</param>
        /// <param name="jd">Julianische Tageszahl.</param>
        /// <returns>Heliozentrisch-ekliptikale Position zur julianischen Tageszahl.</returns>
        public static CPolar PositionEcliptical(EPrecision value, double jd)
        {
            // Lokale Felder einrichten
            CPolar rtn = new CPolar();

            rtn.Latitude  = MEarth.Latitude(value, jd);
            rtn.Longitude = MEarth.Longitude(value, jd);
            rtn.Radius    = MEarth.Radius(value, jd);
            return(rtn);
        }
예제 #9
0
        // MEarth.Latitude(EPrecision, double)
        /// <summary>
        /// Liefert die heliozentrisch-ekliptikale Breite zur julianischen Tageszahl.
        /// </summary>
        /// <param name="value">Genauigkeitskennung.</param>
        /// <param name="jd">Julianische Tageszahl.</param>
        /// <returns>Heliozentrisch-ekliptikale Breite zur julianischen Tageszahl.</returns>
        public static double Latitude(EPrecision value, double jd)
        {
            // Lokale Felder einrichten
            double t  = (jd - 2451545.0) / 365250.0;             // Jahrhundertbruchteil
            double b0 = MEarth.m_B0(value, t);
            double b1 = MEarth.m_B1(value, t);
            double b2 = MEarth.m_B2(value, t);

            // Breite berechnen
            return(MMath.Polynome(t, b0, b1, b2));
        }
예제 #10
0
 // MEarth.Direction(CPolar, CPolar)
 /// <summary>
 /// Liefert die geographische Richtung zweier Orte auf der Erdoberfläche.
 /// </summary>
 /// <param name="positionA">Position des Ortes A.</param>
 /// <param name="positionB">Position des Ortes B.</param>
 /// <returns>Geographische Richtung zweier Orte auf der Erdoberfläche.</returns>
 public static double Direction(CPolar positionA, CPolar positionB)
 {
     // Rückgabe
     return(MEarth.Direction(positionA.Longitude, positionA.Latitude, positionB.Longitude, positionB.Latitude));
 }
예제 #11
0
 // MEarth.MeanAnomaly(double)
 /// <summary>
 /// Liefert die mittlere Anomalie der mittleren Planetenbahn zur julianischen Tageszahl.
 /// </summary>
 /// <param name="jd">Julianische Tageszahl.</param>
 /// <returns>Mittlere Anomalie der mittleren Planetenbahn zur julianischen Tageszahl.</returns>
 /// <remarks>Die Winkelangabe erfolgt in Gradmaß.</remarks>
 public static double MeanAnomaly(double jd)
 {
     // Rückgabe
     return(MMath.Mod(MEarth.MeanLongitude(jd) + MEarth.LongitudeOfPerihelion(jd), 360.0));
 }
예제 #12
0
 // MEarth.LinearVelocity(double)
 /// <summary>
 /// Liefert die Lineargeschwindigkeit zur geographischen Breite.
 /// </summary>
 /// <param name="phi">Geographische Breite.</param>
 /// <returns>Lineargeschwindigkeit zur geographischen Breite.</returns>
 public static double LinearVelocity(double phi)
 {
     // Rückgabe
     return(0.00007292114992 * MEarth.ParallelOfLatitude(phi));
 }
예제 #13
0
 // MEarth.LengthOfLongitude(double)
 /// <summary>
 /// Liefert die Länge des Längengrades zur geographischen Breite.
 /// </summary>
 /// <param name="phi">Geographische Breite.</param>
 /// <returns>Länge des Längengrades zur geographischen Breite.</returns>
 public static double LengthOfLongitude(double phi)
 {
     // Rückgabe
     return(MMath.ToRad(MEarth.ParallelOfLatitude(phi)));
 }
예제 #14
0
        // MEarth.Latitude(EPrecision)         » MEarth.Latitude.cs
        // MEarth.Latitude(EPrecision, double) » MEarth.Latitude.cs

        // MEarth.LengthOfLatitude(double)
        /// <summary>
        /// Liefert die Länge des Breitengrades zur geographischen Breite.
        /// </summary>
        /// <param name="phi">Geographische Breite.</param>
        /// <returns>Länge des Breitengrades zur geographischen Breite.</returns>
        public static double LengthOfLatitude(double phi)
        {
            // Rückgabe
            return(MMath.ToRad(MEarth.RadiusOfCurvature(phi)));
        }