public static double GetSiderealTime(
     this CelestialObjectPositionModel celestialObjectPosition,
     CelestialObjectModel celestialObject,
     KeplerianOrbitValueModel keplerianOrbitValue,
     DateTimeOffset referenceDate)
 {
     return(celestialObjectPosition.GetCelestialObjectSiderealTime(celestialObject, keplerianOrbitValue, (int)Math.Round(referenceDate.TimeOfDay.TotalMinutes), referenceDate.Offset.Minutes));
 }
 public static double GetCelestialObjectSiderealTime(
     this CelestialObjectPositionModel celestialObjectPosition,
     CelestialObjectModel celestialObject,
     KeplerianOrbitValueModel keplerianOrbitValue,
     int minute,
     int minuteOffset)
 {
     return(celestialObjectPosition.GetCelestialObjectSiderealTime(celestialObject, keplerianOrbitValue, minute - minuteOffset));
 }
        /// <summary>
        /// Θ = MEarth + ΠEarth + 15° (t+tz) (mod360°)
        /// </summary>
        /// <param name="celestialObjectPosition">
        /// The celestial Object Position.</param>
        /// <param name="celestialObject">The celestial Object.</param>
        /// <param name="keplerianOrbitValue"></param>
        /// <param name="utcMinutes"></param>
        /// <returns></returns>
        private static double GetCelestialObjectSiderealTime(
            this CelestialObjectPositionModel celestialObjectPosition,
            CelestialObjectModel celestialObject,
            KeplerianOrbitValueModel keplerianOrbitValue,
            int utcMinutes)
        {
            var minuteConstant = celestialObject.SiderealRotationPeriod / (int)Interval.Day;

            return(celestialObjectPosition.GetSiderealTime(minuteConstant, keplerianOrbitValue, utcMinutes));
        }
Example #4
0
 public MoonViewModel(CelestialObjectModel model)
     : base(model)
 {
 }
Example #5
0
 public PlanetViewModel(CelestialObjectModel model)
     : base(model)
 {
 }