public static void SetEllipse(float epoch, EllipseBase ellipseBase, SolarBody sb) { // orbital element variation is not provided - only phase to determine // What is the delat to the reference epoch? float deltaYears = epoch - sb.epoch; float period = SolarUtils.GetPeriodYears(sb); float numPeriod = deltaYears/period; ellipseBase.phase = OrbitEllipse.MeanToTrueAnomoly(NUtils.DegressMod360( sb.longitude + 360f*numPeriod), ellipseBase.ecc); }
public static void SetEllipse(float epoch, EllipseBase ellipseBase, SolarBody sb) { // orbital element variation is not provided - only phase to determine // What is the delta to the reference epoch? float deltaYears = epoch - sb.epoch; float period = SolarUtils.GetPeriodYears(sb); float numPeriod = deltaYears / period; // epoch was for time at perihelion (i.e. longitude = 0) // w = w_bar - Omega, ellipseBase.phase = OrbitEllipse.MeanToTrueAnomoly(NUtils.DegressMod360(360f * numPeriod), ellipseBase.ecc); // Debug.Log(" numP=" + numPeriod + " M=" + NUtils.DegressMod360(360f*numPeriod) + // " phase=" + ellipseBase.phase); }