예제 #1
0
파일: Earth.cs 프로젝트: HominoITea/Snatch
        public static double CalculateEarthPosition(double julianDate)
        {
            var    positions        = PositionBySphereEquinoxArray.GetPositions();
            var    length           = positions.Length;
            double julianMillennias = Tools.GetMillenniasCount(julianDate);
            double raisedJulian     = julianMillennias;
            double result           = 0;

            for (int i = 0; i < length; i++)
            {
                double tempResult = 0;
                for (int j = 0; j < positions[i].Size; j++)
                {
                    tempResult += positions[i].GetPositions()[j].First
                                  * Math.Cos(positions[i].GetPositions()[j].Second
                                             + positions[i].GetPositions()[j].Third * julianMillennias);
                }
                if (i > 0)
                {
                    tempResult   *= raisedJulian;
                    raisedJulian *= julianMillennias;
                }
                result += tempResult;
            }
            return(CoordinateTransformation.MapTo0To2PIRange(result));
        }