Ejemplo n.º 1
0
    public static double [] Meeus(double JD)
    {
        double JD_UT = JD;

        double delta_T = 0;
        //JDE waktu TD(Dynamical time)
        double jde = JD_UT + delta_T;

        double T_TD = (jde - 2451545) / 36525;
        double tau  = T_TD / 10;



        double deltaPsi = Nutasi.deltaPsiDanEpsilon(T_TD)[2];

        double epsilon   = Nutasi.deltaPsiDanEpsilon(T_TD)[6];
        double epsilon_r = Konversi.toRadians(epsilon);


        //Bulan
        //l1= bujur rata-rata bulan
        double L1 = (218.3164591 + 481267.88134236 * T_TD - 0.0013268 * T_TD * T_TD + T_TD * T_TD * T_TD / 538841 - T_TD * T_TD * T_TD * T_TD / 65194000) % 360;

        //elongasi rata2 bulan
        double d = tabelBulan.sukuPeriodik(T_TD, L1)[1];

        //Anomali rata2 Matahari
        double m = tabelBulan.sukuPeriodik(T_TD, L1)[2];

        //Anomali rata2 bulan
        double ma = tabelBulan.sukuPeriodik(T_TD, L1)[3];

        //Argumen bujur bulan
        double f = tabelBulan.sukuPeriodik(T_TD, L1)[4];

        //Eksentrisitas orbit
        double e = tabelBulan.sukuPeriodik(T_TD, L1)[5];

        //Koreksi bujur bulan
        double koreksibujurB = tabelBulan.sukuPeriodik(T_TD, L1)[6];
        double bujurB        = (L1 + koreksibujurB) % 360;
        double bujurB_nampak = (bujurB + deltaPsi) % 360;

        if (bujurB_nampak < 0)
        {
            bujurB_nampak += 360;
        }
        double bujurB_nampak_r = Konversi.toRadians(bujurB_nampak);

        //Koreksi lintang bulan
        double lintangB   = tabelBulan.sukuPeriodik(T_TD, L1)[7];
        double lintangB_r = Konversi.toRadians(lintangB);

        //Koreksi jarak bumi-bulan
        double jarakBB = 385000.56 + tabelBulan.sukuPeriodik(T_TD, L1)[8];

        double sudutParalaksB = Konversi.toDegrees(System.Math.Asin(6378.14 / jarakBB));
        double sudutJariB     = 358473400 / (jarakBB * 3600);

        double alphaBulan = (Konversi.toDegrees(System.Math.Atan2(System.Math.Sin(bujurB_nampak_r) * System.Math.Cos(epsilon_r) - System.Math.Tan(lintangB_r) * System.Math.Sin(epsilon_r), System.Math.Cos(bujurB_nampak_r)))) % 360;

        if (alphaBulan < 0)
        {
            alphaBulan = (alphaBulan + 360) % 360;
        }
        double alphaBulanPukul = alphaBulan / 15;

        double deltaBulan   = Konversi.toDegrees(System.Math.Asin(System.Math.Sin(lintangB_r) * System.Math.Cos(epsilon_r) + System.Math.Cos(lintangB_r) * System.Math.Sin(epsilon_r) * System.Math.Sin(bujurB_nampak_r)));
        double deltaBulan_r = Konversi.toRadians(deltaBulan);



        //Matahari
        double L     = tabelMatahari.bujurEkliptik(tau, koreksibujurB)[1];
        double theta = tabelMatahari.bujurEkliptik(tau, koreksibujurB)[2];

        double lambdaM            = tabelMatahari.bujurEkliptik(tau, koreksibujurB)[3];
        double lambdaM_r          = Konversi.toRadians(lambdaM);
        double Delta_theta        = tabelMatahari.bujurEkliptik(tau, koreksibujurB)[4];
        double theta_terkoreksi   = tabelMatahari.bujurEkliptik(tau, koreksibujurB)[5];
        double jarakBumi_Matahari = tabelMatahari.jarakBumiMat(tau);
        double jarakBm_M          = 149598000 * jarakBumi_Matahari;
        double lintangM           = tabelMatahari.lintangEkliptikB(tau, lambdaM_r)[2];
        double beta_M_r           = Konversi.toRadians(lintangM / 3600);
        double koreksiAberasi     = -20.4898 / (3600 * jarakBumi_Matahari);

        double bujurM_nampak = (theta_terkoreksi + deltaPsi + koreksiAberasi) % 360;

        if (bujurM_nampak < 0)
        {
            bujurM_nampak += 360;
        }
        double bujurM_nampak_r = Konversi.toRadians(bujurM_nampak);
        double sudutJariM      = (959.63 / 3600) / jarakBumi_Matahari;

        double alphaMatahari = (Konversi.toDegrees(System.Math.Atan2(System.Math.Sin(bujurM_nampak_r) * System.Math.Cos(epsilon_r) - System.Math.Tan(beta_M_r) * System.Math.Sin(epsilon_r), System.Math.Cos(bujurM_nampak_r)))) % 360;

        if (alphaMatahari < 0)
        {
            alphaMatahari = (alphaMatahari + 360) % 360;
        }
        double alphaM_pukul  = alphaMatahari / 15;
        double deltaMatahari = Konversi.toDegrees(System.Math.Asin(System.Math.Sin(beta_M_r) * System.Math.Cos(epsilon_r) + System.Math.Cos(beta_M_r) * System.Math.Sin(epsilon_r) * System.Math.Sin(bujurM_nampak_r)));
        double deltaM_r      = Konversi.toRadians(deltaMatahari);


        double U = (JD - 2451545) / 36525;
        //bujur rata2 matahari
        double L0  = Konversi.toRadians((280.46607 + 36000.7698 * U) % 360);
        double EoT = (-1 * (1789 + 237 * U) * System.Math.Sin(L0) - (7146 - 62 * U) * System.Math.Cos(L0) + (9934 - 14 * U) * System.Math.Sin(2 * L0) - (29 + 5 * U) * System.Math.Cos(2 * L0) + (74 + 10 * U) * System.Math.Sin(3 * L0) + (320 - 4 * U) * System.Math.Cos(3 * L0) - 212 * System.Math.Sin(4 * L0)) / 1000;

        EoT /= 60; //jadikan menit

        double sudutFai    = System.Math.Acos(System.Math.Sin(deltaBulan_r) * System.Math.Sin(deltaM_r) + System.Math.Cos(deltaBulan_r) * System.Math.Cos(deltaM_r) * System.Math.Cos(Konversi.toRadians(alphaBulan - alphaMatahari)));
        double sudutFase   = System.Math.Atan2(jarakBm_M * System.Math.Sin(sudutFai), jarakBB - jarakBm_M * System.Math.Cos(sudutFai));
        double sudutFase_d = Konversi.toDegrees(sudutFase);


        double iluminasiB = (1 + System.Math.Cos(sudutFase)) / 2;


        //menampilkan hasil
        //formatter jarak antara teks yang di print biar layoutnya rapi
//        String formatter ="%-8s%-15s%-15s%-15s%-15s%-15s%-15s%5s%n";
//        System.out.println("\n"+"Data Matahari");
//        System.out.printf(formatter,"Jam","Ecliptic","Ecliptic","Right","Apparent","Semi","Kemiringan","Equation");
//        System.out.printf(formatter,"Gmt","Longitude","Latitude","Ascension","Declination","Diameter","(Epsilon)","of time");
//        System.out.printf(formatter,(int)jam,desimal_ke_derajat(theta_terkoreksi)[1]+"\u00B0"+desimal_ke_derajat(theta_terkoreksi)[2]+"\u2032"+desimal_ke_derajat(theta_terkoreksi)[3]+"\u2033",(float)lintangM,desimal_ke_derajat(alphaMatahari)[1]+":"+desimal_ke_derajat(alphaMatahari)[2]+":"+desimal_ke_derajat(alphaMatahari)[3],desimal_ke_derajat(deltaMatahari)[1]+"\u00B0"+desimal_ke_derajat(deltaMatahari)[2]+"\u2032"+desimal_ke_derajat(deltaMatahari)[3]+"\u2033",desimal_ke_derajat(sudutJariM)[1]+"\u00B0"+desimal_ke_derajat(sudutJariM)[2]+"\u2032"+desimal_ke_derajat(sudutJariM)[3]+"\u2033",desimal_ke_derajat(epsilon)[1]+"\u00B0"+desimal_ke_derajat(epsilon)[2]+"\u2032"+desimal_ke_derajat(epsilon)[3]+"\u2033",desimal_ke_derajat(EoT)[1]+"\u00B0"+desimal_ke_derajat(EoT)[2]+"\u2032"+desimal_ke_derajat(EoT)[3]+"\u2033");

//
//        System.out.println("\n\n"+"Data Bulan");
//        System.out.printf(formatter,"Jam","Apparent","Apparent","Right","Apparent","Semi","Horizontal","Iluminasi");
//        System.out.printf(formatter,"Gmt","Longitude","Latitude","Ascension","Declination","Diameter","Parallax","Bulan");
//        System.out.printf(formatter,(int)jam,desimal_ke_derajat(bujurB_nampak)[1]+"\u00B0"+desimal_ke_derajat(bujurB_nampak)[2]+"\u2032"+desimal_ke_derajat(bujurB_nampak)[3]+"\u2033",desimal_ke_derajat(lintangB)[1]+"\u00B0"+desimal_ke_derajat(lintangB)[2]+"\u2032"+desimal_ke_derajat(lintangB)[3]+"\u2033",desimal_ke_derajat(alphaBulan)[1]+":"+desimal_ke_derajat(alphaBulan)[2]+":"+desimal_ke_derajat(alphaBulan)[3],desimal_ke_derajat(deltaBulan)[1]+"\u00B0"+desimal_ke_derajat(deltaBulan)[2]+"\u2032"+desimal_ke_derajat(deltaBulan)[3]+"\u2033",desimal_ke_derajat(sudutJariB)[1]+"\u00B0"+desimal_ke_derajat(sudutJariB)[2]+"\u2032"+desimal_ke_derajat(sudutJariB)[3]+"\u2033",desimal_ke_derajat(sudutParalaksB)[1]+"\u00B0"+desimal_ke_derajat(sudutParalaksB)[2]+"\u2032"+desimal_ke_derajat(sudutParalaksB)[3]+"\u2033",String.format("%.7f", iluminasiB));


        // indeks
        // 01 ekliptik long M
        // 02 ekliptik lat M
        // 03 Arekta M
        // 04 Deklinasi M
        // 05 sudut jariM
        // 06 kemiringanM
        // 07 Eot
        // 08 jarak mat-bumi

        // 09 ekliptik long B
        // 10 eklitik lat bulan
        // 11 A rekta B
        // 12 delinasi B
        // 13 sudutjari B
        // 14 sudut paralaks
        // 15 iluminasi B
        // 16 sudut fase
        // 17 jarak bumi-bulan
        return(new double[] { 0, theta_terkoreksi, lintangM, alphaMatahari, deltaMatahari, sudutJariM, epsilon, EoT, jarakBm_M, bujurB_nampak, lintangB, alphaBulan, deltaBulan, sudutJariB, sudutParalaksB, iluminasiB, sudutFase, jarakBB });
    }
Ejemplo n.º 2
0
    public static double[] sukuPeriodik(double t, double l1)
    {
        double l1_r = Konversi.toRadians(l1);
        //elongsi rata2 bulan
        double d   = (297.8502042 + 445267.1115168 * t - 0.00163 * t * t + t * t * t / 545868 - t * t * t * t / 113065000) % 360;
        double d_r = Konversi.toRadians(d);

        //anomali rata2 matahari
        double m   = (357.5291092 + 35999.0502909 * t - 0.0001536 * t * t + t * t * t / 24490000) % 360;
        double m_r = Konversi.toRadians(m);

        //anomali rata2 bulan
        double ma   = (134.9634114 + 477198.8676313 * t + 0.008997 * t * t + t * t * t / 69699 - t * t * t * t / 14712000) % 360;
        double ma_r = Konversi.toRadians(ma);

        //Argumen bujur bulan
        double f   = (93.2720993 + 483202.0175273 * t - 0.0034029 * t * t - t * t * t / 3526000 + t * t * t * t / 863310000) % 360;
        double f_r = Konversi.toRadians(f);

        //eksentrisitas orbit
        double e = 1 - 0.002516 * t - 0.0000074 * t * t;

        //koreksi suku periodik bujur ekliptika bulan (sinus)
        double bujur_bulan = 0;

        double D1 = 0; double M1 = 0; double MA1 = 1; double F1 = 0; double koefisien1 = 6288774;
        double D2 = 2; double M2 = 0; double MA2 = -1; double F2 = 0; double koefisien2 = 1274027;
        double D3 = 2; double M3 = 0; double MA3 = 0; double F3 = 0; double koefisien3 = 658314;
        double D4 = 0;  double M4 = 0;  double MA4 = 2; double F4 = 0; double koefisien4 = 213618;
        double D5 = 0;  double M5 = 1;  double MA5 = 0; double F5 = 0; double koefisien5 = -185116;
        double D6 = 0;  double M6 = 0;  double MA6 = 0; double F6 = 2; double koefisien6 = -114332;
        double D7 = 2;  double M7 = 0;  double MA7 = -2; double F7 = 0; double koefisien7 = 58793;
        double D8 = 2;  double M8 = -1;  double MA8 = -1; double F8 = 0; double koefisien8 = 57066;
        double D9 = 2;  double M9 = 0;  double MA9 = 1; double F9 = 0; double koefisien9 = 53322;
        double D10 = 2; double M10 = -1; double MA10 = 0; double F10 = 0; double koefisien10 = 45758;
        double D11 = 0; double M11 = 1; double MA11 = -1; double F11 = 0; double koefisien11 = -40923;
        double D12 = 1; double M12 = 0; double MA12 = 0; double F12 = 0; double koefisien12 = -34720;
        double D13 = 0; double M13 = 1; double MA13 = 1; double F13 = 0; double koefisien13 = -30383;
        double D14 = 2; double M14 = 0; double MA14 = 0; double F14 = -2; double koefisien14 = 15327;
        double D15 = 0; double M15 = 0; double MA15 = 1; double F15 = 2; double koefisien15 = -12528;
        double D16 = 0; double M16 = 0; double MA16 = 1; double F16 = -2; double koefisien16 = 10980;
        double D17 = 4; double M17 = 0; double MA17 = -1; double F17 = 0; double koefisien17 = 10675;
        double D18 = 0; double M18 = 0; double MA18 = 3; double F18 = 0; double koefisien18 = 10034;
        double D19 = 4; double M19 = 0; double MA19 = -2; double F19 = 0; double koefisien19 = 8548;
        double D20 = 2; double M20 = 1; double MA20 = -1; double F20 = 0; double koefisien20 = -7888;
        double D21 = 2; double M21 = 1; double MA21 = 0; double F21 = 0; double koefisien21 = -6766;
        double D22 = 1; double M22 = 0; double MA22 = -1; double F22 = 0; double koefisien22 = -5163;
        double D23 = 1; double M23 = 1; double MA23 = 0; double F23 = 0; double koefisien23 = 4987;
        double D24 = 2; double M24 = -1; double MA24 = 1; double F24 = 0; double koefisien24 = 4036;
        double D25 = 2; double M25 = 0; double MA25 = 2; double F25 = 0; double koefisien25 = 3994;
        double D26 = 4; double M26 = 0; double MA26 = 0; double F26 = 0; double koefisien26 = 3861;
        double D27 = 2; double M27 = 0; double MA27 = -3; double F27 = 0; double koefisien27 = 3665;
        double D28 = 0; double M28 = 1; double MA28 = -2; double F28 = 0; double koefisien28 = -2689;
        double D29 = 2; double M29 = 0; double MA29 = -1; double F29 = 2; double koefisien29 = -2602;
        double D30 = 2; double M30 = -1; double MA30 = -2; double F30 = 0; double koefisien30 = 2390;
        double D31 = 1; double M31 = 0; double MA31 = 1; double F31 = 0; double koefisien31 = -2348;
        double D32 = 2; double M32 = -2; double MA32 = 0; double F32 = 0; double koefisien32 = 2236;
        double D33 = 0; double M33 = 1; double MA33 = 2; double F33 = 0; double koefisien33 = -2120;
        double D34 = 0; double M34 = 2; double MA34 = 0; double F34 = 0; double koefisien34 = -2069;
        double D35 = 2; double M35 = -2; double MA35 = -1; double F35 = 0; double koefisien35 = 2048;
        double D36 = 2; double M36 = 0; double MA36 = 1; double F36 = -2; double koefisien36 = -1773;
        double D37 = 2; double M37 = 0; double MA37 = 0; double F37 = 2; double koefisien37 = -1595;
        double D38 = 4; double M38 = -1; double MA38 = -1; double F38 = 0; double koefisien38 = 1215;
        double D39 = 0; double M39 = 0; double MA39 = 2; double F39 = 2; double koefisien39 = -1110;
        double D40 = 3; double M40 = 0; double MA40 = -1; double F40 = 0; double koefisien40 = -892;
        double D41 = 2; double M41 = 1; double MA41 = 1; double F41 = 0; double koefisien41 = -810;
        double D42 = 4; double M42 = -1; double MA42 = -2; double F42 = 0; double koefisien42 = 759;
        double D43 = 0; double M43 = 2; double MA43 = -1; double F43 = 0; double koefisien43 = -713;
        double D44 = 2; double M44 = 2; double MA44 = -1; double F44 = 0; double koefisien44 = -700;
        double D45 = 2; double M45 = 1; double MA45 = -2; double F45 = 0; double koefisien45 = 691;
        double D46 = 2; double M46 = -1; double MA46 = 0; double F46 = -2; double koefisien46 = 596;
        double D47 = 4; double M47 = 0; double MA47 = 1; double F47 = 0; double koefisien47 = 549;
        double D48 = 0; double M48 = 0; double MA48 = 4; double F48 = 0; double koefisien48 = 537;
        double D49 = 4; double M49 = -1; double MA49 = 0; double F49 = 0; double koefisien49 = 520;
        double D50 = 1; double M50 = 0; double MA50 = -2; double F50 = 0; double koefisien50 = -487;
        double D51 = 2; double M51 = 1; double MA51 = 0; double F51 = -2; double koefisien51 = -399;
        double D52 = 0; double M52 = 0; double MA52 = 2; double F52 = -2; double koefisien52 = -381;
        double D53 = 1; double M53 = 1; double MA53 = 1; double F53 = 0; double koefisien53 = 351;
        double D54 = 3; double M54 = 0; double MA54 = -2; double F54 = 0; double koefisien54 = -340;
        double D55 = 4; double M55 = 0; double MA55 = -3; double F55 = 0; double koefisien55 = 330;
        double D56 = 2; double M56 = -1; double MA56 = 2; double F56 = 0; double koefisien56 = 327;
        double D57 = 0; double M57 = 2; double MA57 = 1; double F57 = 0; double koefisien57 = -323;
        double D58 = 1; double M58 = 1; double MA58 = -1; double F58 = 0; double koefisien58 = 299;
        double D59 = 2; double M59 = 0; double MA59 = 3; double F59 = 0; double koefisien59 = 294;

        bujur_bulan += koefisien1 * (System.Math.Pow(e, System.Math.Abs(M1))) * System.Math.Sin(D1 * d_r + M1 * m_r + MA1 * ma_r + F1 * f_r);
        bujur_bulan += koefisien2 * (System.Math.Pow(e, System.Math.Abs(M2))) * System.Math.Sin(D2 * d_r + M2 * m_r + MA2 * ma_r + F2 * f_r);
        bujur_bulan += koefisien3 * (System.Math.Pow(e, System.Math.Abs(M3))) * System.Math.Sin(D3 * d_r + M3 * m_r + MA3 * ma_r + F3 * f_r);
        bujur_bulan += koefisien4 * (System.Math.Pow(e, System.Math.Abs(M4))) * System.Math.Sin(D4 * d_r + M4 * m_r + MA4 * ma_r + F4 * f_r);
        bujur_bulan += koefisien5 * (System.Math.Pow(e, System.Math.Abs(M5))) * System.Math.Sin(D5 * d_r + M5 * m_r + MA5 * ma_r + F5 * f_r);
        bujur_bulan += koefisien6 * (System.Math.Pow(e, System.Math.Abs(M6))) * System.Math.Sin(D6 * d_r + M6 * m_r + MA6 * ma_r + F6 * f_r);
        bujur_bulan += koefisien7 * (System.Math.Pow(e, System.Math.Abs(M7))) * System.Math.Sin(D7 * d_r + M7 * m_r + MA7 * ma_r + F7 * f_r);
        bujur_bulan += koefisien8 * (System.Math.Pow(e, System.Math.Abs(M8))) * System.Math.Sin(D8 * d_r + M8 * m_r + MA8 * ma_r + F8 * f_r);
        bujur_bulan += koefisien9 * (System.Math.Pow(e, System.Math.Abs(M9))) * System.Math.Sin(D9 * d_r + M9 * m_r + MA9 * ma_r + F9 * f_r);
        bujur_bulan += koefisien10 * (System.Math.Pow(e, System.Math.Abs(M10))) * System.Math.Sin(D10 * d_r + M10 * m_r + MA10 * ma_r + F10 * f_r);
        bujur_bulan += koefisien11 * (System.Math.Pow(e, System.Math.Abs(M11))) * System.Math.Sin(D11 * d_r + M11 * m_r + MA11 * ma_r + F11 * f_r);
        bujur_bulan += koefisien12 * (System.Math.Pow(e, System.Math.Abs(M12))) * System.Math.Sin(D12 * d_r + M12 * m_r + MA12 * ma_r + F12 * f_r);
        bujur_bulan += koefisien13 * (System.Math.Pow(e, System.Math.Abs(M13))) * System.Math.Sin(D13 * d_r + M13 * m_r + MA13 * ma_r + F13 * f_r);
        bujur_bulan += koefisien14 * (System.Math.Pow(e, System.Math.Abs(M14))) * System.Math.Sin(D14 * d_r + M14 * m_r + MA14 * ma_r + F14 * f_r);
        bujur_bulan += koefisien15 * (System.Math.Pow(e, System.Math.Abs(M15))) * System.Math.Sin(D15 * d_r + M15 * m_r + MA15 * ma_r + F15 * f_r);
        bujur_bulan += koefisien16 * (System.Math.Pow(e, System.Math.Abs(M16))) * System.Math.Sin(D16 * d_r + M16 * m_r + MA16 * ma_r + F16 * f_r);
        bujur_bulan += koefisien17 * (System.Math.Pow(e, System.Math.Abs(M17))) * System.Math.Sin(D17 * d_r + M17 * m_r + MA17 * ma_r + F17 * f_r);
        bujur_bulan += koefisien18 * (System.Math.Pow(e, System.Math.Abs(M18))) * System.Math.Sin(D18 * d_r + M18 * m_r + MA18 * ma_r + F18 * f_r);
        bujur_bulan += koefisien19 * (System.Math.Pow(e, System.Math.Abs(M19))) * System.Math.Sin(D19 * d_r + M19 * m_r + MA19 * ma_r + F19 * f_r);
        bujur_bulan += koefisien20 * (System.Math.Pow(e, System.Math.Abs(M20))) * System.Math.Sin(D20 * d_r + M20 * m_r + MA20 * ma_r + F20 * f_r);
        bujur_bulan += koefisien21 * (System.Math.Pow(e, System.Math.Abs(M21))) * System.Math.Sin(D21 * d_r + M21 * m_r + MA21 * ma_r + F21 * f_r);
        bujur_bulan += koefisien22 * (System.Math.Pow(e, System.Math.Abs(M22))) * System.Math.Sin(D22 * d_r + M22 * m_r + MA22 * ma_r + F22 * f_r);
        bujur_bulan += koefisien23 * (System.Math.Pow(e, System.Math.Abs(M23))) * System.Math.Sin(D23 * d_r + M23 * m_r + MA23 * ma_r + F23 * f_r);
        bujur_bulan += koefisien24 * (System.Math.Pow(e, System.Math.Abs(M24))) * System.Math.Sin(D24 * d_r + M24 * m_r + MA24 * ma_r + F24 * f_r);
        bujur_bulan += koefisien25 * (System.Math.Pow(e, System.Math.Abs(M25))) * System.Math.Sin(D25 * d_r + M25 * m_r + MA25 * ma_r + F25 * f_r);
        bujur_bulan += koefisien26 * (System.Math.Pow(e, System.Math.Abs(M26))) * System.Math.Sin(D26 * d_r + M26 * m_r + MA26 * ma_r + F26 * f_r);
        bujur_bulan += koefisien27 * (System.Math.Pow(e, System.Math.Abs(M27))) * System.Math.Sin(D27 * d_r + M27 * m_r + MA27 * ma_r + F27 * f_r);
        bujur_bulan += koefisien28 * (System.Math.Pow(e, System.Math.Abs(M28))) * System.Math.Sin(D28 * d_r + M28 * m_r + MA28 * ma_r + F28 * f_r);
        bujur_bulan += koefisien29 * (System.Math.Pow(e, System.Math.Abs(M29))) * System.Math.Sin(D29 * d_r + M29 * m_r + MA29 * ma_r + F29 * f_r);
        bujur_bulan += koefisien30 * (System.Math.Pow(e, System.Math.Abs(M30))) * System.Math.Sin(D30 * d_r + M30 * m_r + MA30 * ma_r + F30 * f_r);
        bujur_bulan += koefisien31 * (System.Math.Pow(e, System.Math.Abs(M31))) * System.Math.Sin(D31 * d_r + M31 * m_r + MA31 * ma_r + F31 * f_r);
        bujur_bulan += koefisien32 * (System.Math.Pow(e, System.Math.Abs(M32))) * System.Math.Sin(D32 * d_r + M32 * m_r + MA32 * ma_r + F32 * f_r);
        bujur_bulan += koefisien33 * (System.Math.Pow(e, System.Math.Abs(M33))) * System.Math.Sin(D33 * d_r + M33 * m_r + MA33 * ma_r + F33 * f_r);
        bujur_bulan += koefisien34 * (System.Math.Pow(e, System.Math.Abs(M34))) * System.Math.Sin(D34 * d_r + M34 * m_r + MA34 * ma_r + F34 * f_r);
        bujur_bulan += koefisien35 * (System.Math.Pow(e, System.Math.Abs(M35))) * System.Math.Sin(D35 * d_r + M35 * m_r + MA35 * ma_r + F35 * f_r);
        bujur_bulan += koefisien36 * (System.Math.Pow(e, System.Math.Abs(M36))) * System.Math.Sin(D36 * d_r + M36 * m_r + MA36 * ma_r + F36 * f_r);
        bujur_bulan += koefisien37 * (System.Math.Pow(e, System.Math.Abs(M37))) * System.Math.Sin(D37 * d_r + M37 * m_r + MA37 * ma_r + F37 * f_r);
        bujur_bulan += koefisien38 * (System.Math.Pow(e, System.Math.Abs(M38))) * System.Math.Sin(D38 * d_r + M38 * m_r + MA38 * ma_r + F38 * f_r);
        bujur_bulan += koefisien39 * (System.Math.Pow(e, System.Math.Abs(M39))) * System.Math.Sin(D39 * d_r + M39 * m_r + MA39 * ma_r + F39 * f_r);
        bujur_bulan += koefisien40 * (System.Math.Pow(e, System.Math.Abs(M40))) * System.Math.Sin(D40 * d_r + M40 * m_r + MA40 * ma_r + F40 * f_r);
        bujur_bulan += koefisien41 * (System.Math.Pow(e, System.Math.Abs(M41))) * System.Math.Sin(D41 * d_r + M41 * m_r + MA41 * ma_r + F41 * f_r);
        bujur_bulan += koefisien42 * (System.Math.Pow(e, System.Math.Abs(M42))) * System.Math.Sin(D42 * d_r + M42 * m_r + MA42 * ma_r + F42 * f_r);
        bujur_bulan += koefisien43 * (System.Math.Pow(e, System.Math.Abs(M43))) * System.Math.Sin(D43 * d_r + M43 * m_r + MA43 * ma_r + F43 * f_r);
        bujur_bulan += koefisien44 * (System.Math.Pow(e, System.Math.Abs(M44))) * System.Math.Sin(D44 * d_r + M44 * m_r + MA44 * ma_r + F44 * f_r);
        bujur_bulan += koefisien45 * (System.Math.Pow(e, System.Math.Abs(M45))) * System.Math.Sin(D45 * d_r + M45 * m_r + MA45 * ma_r + F45 * f_r);
        bujur_bulan += koefisien46 * (System.Math.Pow(e, System.Math.Abs(M46))) * System.Math.Sin(D46 * d_r + M46 * m_r + MA46 * ma_r + F46 * f_r);
        bujur_bulan += koefisien47 * (System.Math.Pow(e, System.Math.Abs(M47))) * System.Math.Sin(D47 * d_r + M47 * m_r + MA47 * ma_r + F47 * f_r);
        bujur_bulan += koefisien48 * (System.Math.Pow(e, System.Math.Abs(M48))) * System.Math.Sin(D48 * d_r + M48 * m_r + MA48 * ma_r + F48 * f_r);
        bujur_bulan += koefisien49 * (System.Math.Pow(e, System.Math.Abs(M49))) * System.Math.Sin(D49 * d_r + M49 * m_r + MA49 * ma_r + F49 * f_r);
        bujur_bulan += koefisien50 * (System.Math.Pow(e, System.Math.Abs(M50))) * System.Math.Sin(D50 * d_r + M50 * m_r + MA50 * ma_r + F50 * f_r);
        bujur_bulan += koefisien51 * (System.Math.Pow(e, System.Math.Abs(M51))) * System.Math.Sin(D51 * d_r + M51 * m_r + MA51 * ma_r + F51 * f_r);
        bujur_bulan += koefisien52 * (System.Math.Pow(e, System.Math.Abs(M52))) * System.Math.Sin(D52 * d_r + M52 * m_r + MA52 * ma_r + F52 * f_r);
        bujur_bulan += koefisien53 * (System.Math.Pow(e, System.Math.Abs(M53))) * System.Math.Sin(D53 * d_r + M53 * m_r + MA53 * ma_r + F53 * f_r);
        bujur_bulan += koefisien54 * (System.Math.Pow(e, System.Math.Abs(M54))) * System.Math.Sin(D54 * d_r + M54 * m_r + MA54 * ma_r + F54 * f_r);
        bujur_bulan += koefisien55 * (System.Math.Pow(e, System.Math.Abs(M55))) * System.Math.Sin(D55 * d_r + M55 * m_r + MA55 * ma_r + F55 * f_r);
        bujur_bulan += koefisien56 * (System.Math.Pow(e, System.Math.Abs(M56))) * System.Math.Sin(D56 * d_r + M56 * m_r + MA56 * ma_r + F56 * f_r);
        bujur_bulan += koefisien57 * (System.Math.Pow(e, System.Math.Abs(M57))) * System.Math.Sin(D57 * d_r + M57 * m_r + MA57 * ma_r + F57 * f_r);
        bujur_bulan += koefisien58 * (System.Math.Pow(e, System.Math.Abs(M58))) * System.Math.Sin(D58 * d_r + M58 * m_r + MA58 * ma_r + F58 * f_r);
        bujur_bulan += koefisien59 * (System.Math.Pow(e, System.Math.Abs(M59))) * System.Math.Sin(D59 * d_r + M59 * m_r + MA59 * ma_r + F59 * f_r);

        double argumenA1 = (119.75 + 131.849 * t) % 360;
        double argumenA2 = (53.09 + 479264.29 * t) % 360;
        double argumenA3 = (313.45 + 481266.484 * t) % 360;
        double aA1_r     = Konversi.toRadians(argumenA1);
        double aA2_r     = Konversi.toRadians(argumenA2);
        double aA3_r     = Konversi.toRadians(argumenA3);

        bujur_bulan = (bujur_bulan + 3958 * System.Math.Sin(aA1_r) + 1962 * System.Math.Sin(l1_r - f_r) + 318 * System.Math.Sin(aA2_r)) / 1000000;

        //mengambil nilai lintang bulan yg ada pada fungsi periodikLintang
        double lintang_bulan = periodikLintang(e, d_r, m_r, ma_r, f_r, l1_r, aA1_r, aA3_r)[1];

        //mengambil nilai jarak bumi bulan
        double jarakBulan = jarakBumiBulan(e, d_r, m_r, ma_r, f_r)[1];

        //mengembalikan nilai dalam bentuk variable array
        return(new double[] { 0, d, m, ma, f, e, bujur_bulan, lintang_bulan, jarakBulan });
    }
Ejemplo n.º 3
0
    public static double [] deltaPsiDanEpsilon(double t)
    {
        double d      = Konversi.toRadians((297.85036 + 445267.11148 * t - 0.0019142 * t * t + t * t * t / 189474) % 360);
        double m      = Konversi.toRadians((357.52772 + 35999.05034 * t - 0.0001603 * t * t - t * t * t / 300000) % 360);
        double m1     = Konversi.toRadians((134.96298 + 477198.867398 * t + 0.0086972 * t * t + t * t * t / 56250) % 360);
        double f      = Konversi.toRadians((93.27191 + 483202.017538 * t - 0.0036825 * t * t + t * t * t / 327270) % 360);
        double omega1 = (125.04452 - 1934.136261 * t + 0.0020708 * t * t + t * t * t / 450000) % 360;

        if (omega1 < 0)
        {
            omega1 += 360;
        }
        double omega = Konversi.toRadians(omega1);

        double deltaPsi = 0;

        //(koefisien1+koefisien2*t)*System.Math.Sin(D*d+M*m+M'*m1+F*f+OMEGA*omega)
        deltaPsi += (-171996 + -174.2 * t) * System.Math.Sin(0 * d + 0 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-13187 + -1.6 * t) * System.Math.Sin(-2 * d + 0 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-2274 + -0.2 * t) * System.Math.Sin(0 * d + 0 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (2062 + 0.2 * t) * System.Math.Sin(0 * d + 0 * m + 0 * m1 + 0 * f + 2 * omega);
        deltaPsi += (1426 + -3.4 * t) * System.Math.Sin(0 * d + 1 * m + 0 * m1 + 0 * f + 0 * omega);
        deltaPsi += (712 + 0.1 * t) * System.Math.Sin(0 * d + 0 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-517 + 1.2 * t) * System.Math.Sin(-2 * d + 1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-386 + -0.4 * t) * System.Math.Sin(0 * d + 0 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaPsi += (217 + -0.5 * t) * System.Math.Sin(-2 * d + -1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (129 + 0.1 * t) * System.Math.Sin(-2 * d + 0 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaPsi += (63 + 0.1 * t) * System.Math.Sin(0 * d + 0 * m + 1 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-58 + -0.1 * t) * System.Math.Sin(0 * d + 0 * m + -1 * m1 + 0 * f + 1 * omega);
        deltaPsi += (17 + -0.1 * t) * System.Math.Sin(0 * d + 2 * m + 0 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-16 + 0.1 * t) * System.Math.Sin(-2 * d + 2 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-301 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 1 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-158 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (123 + 0 * t) * System.Math.Sin(0 * d + 0 * m + -1 * m1 + 2 * f + 2 * omega);
        deltaPsi += (63 + 0 * t) * System.Math.Sin(2 * d + 0 * m + 0 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-59 + 0 * t) * System.Math.Sin(2 * d + 0 * m + -1 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-51 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 1 * m1 + 2 * f + 1 * omega);
        deltaPsi += (48 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 2 * m1 + 0 * f + 0 * omega);
        deltaPsi += (46 + 0 * t) * System.Math.Sin(0 * d + 0 * m + -2 * m1 + 2 * f + 1 * omega);
        deltaPsi += (-38 + 0 * t) * System.Math.Sin(2 * d + 0 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-31 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 2 * m1 + 2 * f + 2 * omega);
        deltaPsi += (29 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 2 * m1 + 0 * f + 0 * omega);
        deltaPsi += (29 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 2 * m1 + 2 * f + 2 * omega);
        deltaPsi += (26 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 0 * m1 + 2 * f + 0 * omega);
        deltaPsi += (-22 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 0 * m1 + 2 * f + 0 * omega);
        deltaPsi += (21 + 0 * t) * System.Math.Sin(0 * d + 0 * m + -1 * m1 + 2 * f + 1 * omega);
        deltaPsi += (16 + 0 * t) * System.Math.Sin(2 * d + 0 * m + -1 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-15 + 0 * t) * System.Math.Sin(0 * d + 1 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-13 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 1 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-12 + 0 * t) * System.Math.Sin(0 * d + -1 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaPsi += (11 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 2 * m1 + -2 * f + 0 * omega);
        deltaPsi += (-10 + 0 * t) * System.Math.Sin(2 * d + 0 * m + -1 * m1 + 2 * f + 1 * omega);
        deltaPsi += (-8 + 0 * t) * System.Math.Sin(2 * d + 0 * m + 1 * m1 + 2 * f + 2 * omega);
        deltaPsi += (7 + 0 * t) * System.Math.Sin(0 * d + 1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-7 + 0 * t) * System.Math.Sin(-2 * d + 1 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-7 + 0 * t) * System.Math.Sin(0 * d + -1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-7 + 0 * t) * System.Math.Sin(2 * d + 0 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaPsi += (6 + 0 * t) * System.Math.Sin(2 * d + 0 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (6 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 2 * m1 + 2 * f + 2 * omega);
        deltaPsi += (6 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 1 * m1 + 2 * f + 1 * omega);
        deltaPsi += (-6 + 0 * t) * System.Math.Sin(2 * d + 0 * m + -2 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-6 + 0 * t) * System.Math.Sin(2 * d + 0 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaPsi += (5 + 0 * t) * System.Math.Sin(0 * d + -1 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-5 + 0 * t) * System.Math.Sin(-2 * d + -1 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaPsi += (-5 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaPsi += (-5 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 2 * m1 + 2 * f + 1 * omega);
        deltaPsi += (4 + 0 * t) * System.Math.Sin(-2 * d + 0 * m + 2 * m1 + 0 * f + 1 * omega);
        deltaPsi += (4 + 0 * t) * System.Math.Sin(-2 * d + 1 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaPsi += (4 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 1 * m1 + -2 * f + 0 * omega);
        deltaPsi += (-4 + 0 * t) * System.Math.Sin(-1 * d + 0 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-4 + 0 * t) * System.Math.Sin(-2 * d + 1 * m + 0 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-4 + 0 * t) * System.Math.Sin(1 * d + 0 * m + 0 * m1 + 0 * f + 0 * omega);
        deltaPsi += (3 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 1 * m1 + 2 * f + 0 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(0 * d + 0 * m + -2 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(-1 * d + -1 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(0 * d + 1 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(0 * d + -1 * m + 1 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(2 * d + -1 * m + -1 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(0 * d + 0 * m + 3 * m1 + 2 * f + 2 * omega);
        deltaPsi += (-3 + 0 * t) * System.Math.Sin(2 * d + -1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaPsi /= 10000;
        double deltaPsi_d = deltaPsi / 3600;

        double u            = t / 100;
        double epsilonZero  = 23 + (double)26 / 60 + 21.448 / 3600 + (-4680.93 * u - 1.55 * u * u + 1999.25 * u * u * u - 51.38 * u * u * u * u - 249.67 * u * u * u * u * u - 39.05 * u * u * u * u * u * u + 7.12 * u * u * u * u * u * u * u + 27.87 * u * u * u * u * u * u * u * u + 5.79 * u * u * u * u * u * u * u * u * u + 2.45 * u * u * u * u * u * u * u * u * u * u) / 3600;
        double deltaEpsilon = 0;

        deltaEpsilon += (92025 + 8.9 * t) * System.Math.Cos(0 * d + 0 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (5736 + -3.1 * t) * System.Math.Cos(-2 * d + 0 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (977 + -0.5 * t) * System.Math.Cos(0 * d + 0 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-895 + 0.5 * t) * System.Math.Cos(0 * d + 0 * m + 0 * m1 + 0 * f + 2 * omega);
        deltaEpsilon += (54 + -0.1 * t) * System.Math.Cos(0 * d + 1 * m + 0 * m1 + 0 * f + 0 * omega);
        deltaEpsilon += (224 + -0.6 * t) * System.Math.Cos(-2 * d + 1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (129 + -0.1 * t) * System.Math.Cos(0 * d + 0 * m + 1 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-95 + 0.3 * t) * System.Math.Cos(-2 * d + -1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-7 + 0 * t) * System.Math.Cos(0 * d + 0 * m + 1 * m1 + 0 * f + 0 * omega);
        deltaEpsilon += (200 + 0 * t) * System.Math.Cos(0 * d + 0 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (-70 + 0 * t) * System.Math.Cos(-2 * d + 0 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (-53 + 0 * t) * System.Math.Cos(0 * d + 0 * m + -1 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-33 + 0 * t) * System.Math.Cos(0 * d + 0 * m + 1 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (26 + 0 * t) * System.Math.Cos(2 * d + 0 * m + -1 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (32 + 0 * t) * System.Math.Cos(0 * d + 0 * m + -1 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (27 + 0 * t) * System.Math.Cos(0 * d + 0 * m + 1 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (-24 + 0 * t) * System.Math.Cos(0 * d + 0 * m + -2 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (16 + 0 * t) * System.Math.Cos(2 * d + 0 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (13 + 0 * t) * System.Math.Cos(0 * d + 0 * m + 2 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-12 + 0 * t) * System.Math.Cos(-2 * d + 0 * m + 1 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-10 + 0 * t) * System.Math.Cos(0 * d + 0 * m + -1 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (-8 + 0 * t) * System.Math.Cos(2 * d + 0 * m + -1 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (7 + 0 * t) * System.Math.Cos(-2 * d + -2 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (9 + 0 * t) * System.Math.Cos(0 * d + 1 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (7 + 0 * t) * System.Math.Cos(-2 * d + 0 * m + 1 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (6 + 0 * t) * System.Math.Cos(0 * d + -1 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (5 + 0 * t) * System.Math.Cos(2 * d + 0 * m + -1 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(2 * d + 0 * m + 1 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-3 + 0 * t) * System.Math.Cos(0 * d + 1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(0 * d + -1 * m + 0 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(2 * d + 0 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (-3 + 0 * t) * System.Math.Cos(-2 * d + 0 * m + 2 * m1 + 2 * f + 2 * omega);
        deltaEpsilon += (-3 + 0 * t) * System.Math.Cos(-2 * d + 0 * m + 1 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(2 * d + 0 * m + -2 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(2 * d + 0 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(-2 * d + -1 * m + 0 * m1 + 2 * f + 1 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(-2 * d + 0 * m + 0 * m1 + 0 * f + 1 * omega);
        deltaEpsilon += (3 + 0 * t) * System.Math.Cos(0 * d + 0 * m + 2 * m1 + 2 * f + 1 * omega);
        deltaEpsilon /= 10000;
        double deltaEpsilon_d = deltaEpsilon / 3600;
        double epsilon        = epsilonZero + deltaEpsilon_d;

        return(new double[] { 0, deltaPsi, deltaPsi_d, u, epsilonZero, deltaEpsilon, epsilon });
    }