/// <summary> /// Θ = MEarth + ΠEarth + 15° (t+tz) (mod360°) /// </summary> /// <param name="meanAnomaly"></param> /// <param name="minuteConstant">degree ratation per minute</param> /// <param name="keplerianOrbitValue"></param> /// <param name="utcMinutes"></param> /// <returns></returns> private static double GetSiderealTime( double meanAnomaly, double minuteConstant, KeplerianOrbitValueModel keplerianOrbitValue, int utcMinutes) { return(DegreeHelper.Modulo360Absolute(meanAnomaly + keplerianOrbitValue.Pi + (minuteConstant * utcMinutes))); }
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)); }
/// <summary> /// Θ = MEarth + ΠEarth + 15° (t+tz) (mod360°) /// </summary> /// <param name="celestialObjectPosition"> /// The celestial Object Position.</param> /// <param name="minuteConstant">degree ratation per minute</param> /// <param name="keplerianOrbitValue"></param> /// <param name="utcMinutes"></param> /// <returns></returns> private static double GetSiderealTime( this CelestialObjectPositionModel celestialObjectPosition, double minuteConstant, KeplerianOrbitValueModel keplerianOrbitValue, int utcMinutes) { return(GetSiderealTime(celestialObjectPosition.MeanAnomaly, minuteConstant, keplerianOrbitValue, utcMinutes)); }
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)); }