Beispiel #1
0
        public static double CalcSunAppLong(double SunTrueLong, double JulianCentury)
        {
            double SunAppLong = SunTrueLong - 0.00569 - 0.00478 *
                                Math.Sin(Calc.rad(125.04 - 1934.136 * JulianCentury));

            return(SunAppLong);
        }
Beispiel #2
0
        public static double CalcSunDeclin(double ObliqCorr, double SunAppLong)
        {
            double SunDeclin = Calc.degree(Math.Asin(Math.Sin(Calc.rad(ObliqCorr)) *
                                                     Math.Sin(Calc.rad(SunAppLong))));

            return(SunDeclin);
        }
Beispiel #3
0
        public static double CalculateDistance(double x1, double y1, double x2, double y2)
        {
            double dist = Math.Acos(
                Math.Cos(Calc.rad(90 - x1)) * Math.Cos(Calc.rad(90 - x2)) +
                Math.Sin(Calc.rad(90 - x1)) * Math.Sin(Calc.rad(90 - x2)) * Math.Cos(Calc.rad(y1 - y2))) * EARTH_RADIUS;

            return(dist);
        }
Beispiel #4
0
        public static double CalcSunEqofCtr(double GeomMeanAnomSun, double JulianCentury)
        {
            double SunEqofCtr = Math.Sin(Calc.rad(GeomMeanAnomSun)) * (1.914602 - JulianCentury
                                                                       * (0.004817 + 0.000014 * JulianCentury)) + Math.Sin(Calc.rad(2 * GeomMeanAnomSun))
                                * (0.019993 - 0.000101 * JulianCentury) + Math.Sin(Calc.rad(3 + GeomMeanAnomSun)) * 0.000289;

            return(SunEqofCtr);
        }
Beispiel #5
0
        public static double CalcEqofTime(double varY, double GeomMeanLongSun, double GeomMeanAnomSun, double EccentEarthOrbit)
        {
            double EqofTime = 4 * Calc.degree(varY * Math.Sin(2 * Calc.rad(GeomMeanLongSun)) - 2 * EccentEarthOrbit
                                              * Math.Sin(Calc.rad(GeomMeanAnomSun)) + 4 * EccentEarthOrbit * varY * Math.Sin(Calc.rad(GeomMeanAnomSun))
                                              * Math.Cos(2 * Calc.rad(GeomMeanLongSun)) - 0.5 * varY * varY * Math.Sin(4 * Calc.rad(GeomMeanLongSun)) - 1.25
                                              * EccentEarthOrbit * EccentEarthOrbit * Math.Sin(2 * Calc.rad(GeomMeanAnomSun)));


            return(EqofTime);
        }
Beispiel #6
0
        public static double CalcvarY(double ObliqCorr)
        {
            double varY = Math.Tan(Calc.rad(ObliqCorr / 2)) * Math.Tan(Calc.rad(ObliqCorr / 2));

            return(varY);
        }
Beispiel #7
0
        public static double CalcObliqCorr(double MeanObliqEcliptic, double JulianCentury)
        {
            double ObliqCorr = MeanObliqEcliptic + 0.00256 * Math.Cos(Calc.rad(125.04 - 1934.136 * JulianCentury));

            return(ObliqCorr);
        }