예제 #1
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets longitude of true ascending node of lunar orbit
 /// </summary>
 private double AscendingNode(SkyContext c)
 {
     return(LunarEphem.TrueAscendingNode(c.JulianDay));
 }
예제 #2
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets nearest apsis date
 /// </summary>
 private Date NearestApsis(SkyContext c, MoonApsis a)
 {
     return(c.GetDate(LunarEphem.NearestApsis(c.JulianDay, a, out double diameter)));
 }
예제 #3
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets nearest greatest lunar declination date
 /// </summary>
 private Date NearestMaxDeclination(SkyContext c, MoonDeclination d)
 {
     return(c.GetDate(LunarEphem.NearestMaxDeclination(c.JulianDay, d, out double delta)));
 }
예제 #4
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets nearest phase date
 /// </summary>
 private Date NearestPhase(SkyContext c, MoonPhase p)
 {
     return(c.GetDate(LunarEphem.NearestPhase(c.JulianDay, p)));
 }
예제 #5
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets Moon age in days
 /// </summary>
 private double Age(SkyContext c)
 {
     return(LunarEphem.Age(c.JulianDay));
 }
예제 #6
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets libration info for the Moon
 /// </summary>
 private Libration LibrationElements(SkyContext c)
 {
     return(LunarEphem.Libration(c.JulianDay, c.Get(Ecliptical), c.NutationElements.deltaPsi));
 }
예제 #7
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets visual magnitude of the Moon
 /// </summary>
 public double Magnitude(SkyContext c)
 {
     return(LunarEphem.Magnitude(c.Get(PhaseAngle)));
 }
예제 #8
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Gets visible semidiameter of the Moon, in seconds of arc
 /// </summary>
 public double Semidiameter(SkyContext c)
 {
     return(LunarEphem.Semidiameter(c.Get(Ecliptical0).Distance));
 }
예제 #9
0
파일: LunarCalc.cs 프로젝트: t9mike/ADK
 /// <summary>
 /// Get position angle of axis for the Moon
 /// </summary>
 private double PAaxis(SkyContext c)
 {
     return(LunarEphem.PositionAngleOfAxis(c.JulianDay, c.Get(Ecliptical), c.Epsilon, c.NutationElements.deltaPsi));
 }
예제 #10
0
        public void Parallax()
        {
            double pi = LunarEphem.Parallax(368409.7);

            Assert.AreEqual(0.991990, pi, 1e-6);
        }
예제 #11
0
 /// <summary>
 /// Gets Moon horizontal equatorial parallax
 /// </summary>
 private double Parallax(SkyContext c)
 {
     return(LunarEphem.Parallax(c.Get(Ecliptical0).Distance));
 }
예제 #12
0
 /// <summary>
 /// Gets details of Earth shadow
 /// </summary>
 private ShadowAppearance EarthShadow(SkyContext c)
 {
     return(LunarEphem.Shadow(c.JulianDay));
 }
예제 #13
0
 /// <summary>
 /// Gets nearest max libration date
 /// </summary>
 private Date NearestMaxLibration(SkyContext c, LibrationEdge e)
 {
     return(c.GetDate(LunarEphem.NearestMaxLibration(c.JulianDay, e, out double angle)));
 }
예제 #14
0
        /// <summary>
        /// Gets Brown lunation number
        /// </summary>
        private int Lunation(SkyContext c)
        {
            double age = c.Get(Age);

            return(LunarEphem.Lunation(c.JulianDay - age));
        }