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 }); }
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 }); }
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 }); }