private static Distance GetMoonDistance(DateTime d, double[] values) { //Ch 47 double JDE = JulianConversions.GetJulian(d); //Get julian double T = (JDE - 2451545) / 36525; //Get dynamic time. double D = values[1]; double M = values[2]; double N = values[3]; double F = values[4]; double dist = 385000.56 + (MeeusTables.Moon_Periodic_Er(D, M, N, F, T) / 1000); return(new Distance(dist)); }
/// <summary> /// Gets moon distance (Ch 47). /// </summary> /// <param name="d">DateTime</param> /// <param name="offset">UTC offset in hours</param> /// <returns>Distance</returns> public static Distance GetMoonDistance(DateTime d, double offset) { //Ch 47 offset *= -1; double julianOffset = offset * .04166667; double JDE = JulianConversions.GetJulian(d) + julianOffset; //Get julian double T = (JDE - 2451545) / 36525; //Get dynamic time. double[] values = Get_Moon_LDMNF(T); double D = values[1]; double M = values[2]; double N = values[3]; double F = values[4]; //Ch 47 distance formula double dist = 385000.56 + (MeeusTables.Moon_Periodic_Er(D, M, N, F, T) / 1000); return(new Distance(dist)); }