void hisab() { Double tanggal, bulan, tahun, jam, menit, detik; //jam=DateTime.Now.ToString("HH:mm:ss tt"); tanggal = Convert.ToDouble(DateTime.Now.ToString("dd")); bulan = Convert.ToDouble(DateTime.Now.ToString("MM")); tahun = Convert.ToDouble(DateTime.Now.ToString("yyyy")); jam = Convert.ToDouble(DateTime.Now.ToString("HH")); menit = Convert.ToDouble(DateTime.Now.ToString("mm")); detik = Convert.ToDouble(DateTime.Now.ToString("ss")); double jd = Konversi.TanggalKeJulianDay(tahun, bulan, tanggal, jam, menit, detik); // Console.WriteLine(tanggal+" - "+ bulan+" - "+ tahun+", "+ jam+ " : "+menit +" : "+ detik); double bujur_m, lintang_m, epsilon, jarakBm_M; bujur_m = hisabEp.Meeus(jd)[1]; lintang_m = hisabEp.Meeus(jd)[2]; epsilon = hisabEp.Meeus(jd)[6]; jarakBm_M = hisabEp.Meeus(jd)[8]; nilaiRevolusi = ((float)bujur_m - nilaiAwal); // Debug.Log((float)nilaiRevolusi); // Console.WriteLine(); // Console.WriteLine(jarakBB/1000000); }
//kadzalik2020 //Menentukan GST dari UT public static int [] UtKeGst(double julianday, int zonawaktu) { /* Saya nggak tau alurnya gimana, tapi entah kenapa kodenya berhasil * jadi. kalau error silahkan dicari sendiri ya ...hehehe*/ double pukuljd_0_UT = (julianday % 1 - 0.5) * 24; double UT = pukuljd_0_UT - zonawaktu; double julianday_0_UT = ((int)julianday) + 0.5; double T = (julianday_0_UT - 2451545) / 36525; double GST_0_UT = 6.6973745583 + 2400.0513369072 * T + 0.0000258622 * T * T; //Fungsi MODULO while (GST_0_UT > 24) { GST_0_UT -= 24; } //Bila nilai Positif lebih dari 24, akan dikurang 24 terus menerus sampai nilai dibawah 24 while (GST_0_UT < 0) { GST_0_UT += 24; } //Bila nilai negatif, akan ditambah 24 terus menerus sampai positif double GST_UT = GST_0_UT + 1.0027379035 * UT; //nilai sidereal time pada pukul UT if (GST_UT >= 24) { GST_UT -= 24; } int[] GST_sexagesimal = Konversi.DesimalKeDerajat(GST_UT); return(new int [] { 0, GST_sexagesimal[1], GST_sexagesimal[2], GST_sexagesimal[3] }); }
void Start() { Double tanggal, bulan, tahun, jam, menit, detik; //jam=DateTime.Now.ToString("HH:mm:ss tt"); tanggal = Convert.ToDouble(DateTime.Now.ToString("dd")); bulan = Convert.ToDouble(DateTime.Now.ToString("MM")); tahun = Convert.ToDouble(DateTime.Now.ToString("yyyy")); jam = Convert.ToDouble(DateTime.Now.ToString("HH")); menit = Convert.ToDouble(DateTime.Now.ToString("mm")); detik = Convert.ToDouble(DateTime.Now.ToString("ss")); double jd = Konversi.TanggalKeJulianDay(tahun, bulan, tanggal, jam, menit, detik); double bujur_m, lintang_m, jarakBm_M; bujur_m = hisabEp.Meeus(jd)[1]; lintang_m = hisabEp.Meeus(jd)[2]; jarakBm_M = hisabEp.Meeus(jd)[8]; nilaiAwal = (float)bujur_m; // Console.WriteLine(); // Console.WriteLine(jarakBB/1000000); transform.Rotate(0, (float)bujur_m, 0); }
static void Main(string[] args) { Double tanggal, bulan, tahun, jam, menit, detik; //jam=DateTime.Now.ToString("HH:mm:ss tt"); tanggal = Convert.ToDouble(DateTime.Now.ToString("dd")); bulan = Convert.ToDouble(DateTime.Now.ToString("MM")); tahun = Convert.ToDouble(DateTime.Now.ToString("yyyy")); jam = Convert.ToDouble(DateTime.Now.ToString("HH")); menit = Convert.ToDouble(DateTime.Now.ToString("mm")); detik = Convert.ToDouble(DateTime.Now.ToString("ss")); double jd = Konversi.TanggalKeJulianDay(tahun, bulan, tanggal, jam, menit, detik) + 1; Console.WriteLine(tanggal + " - " + bulan + " - " + tahun + ", " + jam + " : " + menit + " : " + detik); Console.WriteLine(jd); double bujur_m, lintang_m, asr_m, dekl_m, epsilon, EoT, jarakBm_M, bujur_b, lintang_b, asr_b, dekl_b, iluminasiB, sudutFase, jarakBB; bujur_m = hisabEp.Meeus(jd)[1]; lintang_m = hisabEp.Meeus(jd)[2]; asr_m = hisabEp.Meeus(jd)[3]; dekl_m = hisabEp.Meeus(jd)[4]; epsilon = hisabEp.Meeus(jd)[6]; EoT = hisabEp.Meeus(jd)[7]; jarakBm_M = hisabEp.Meeus(jd)[8]; bujur_b = hisabEp.Meeus(jd)[9]; lintang_b = hisabEp.Meeus(jd)[10]; asr_b = hisabEp.Meeus(jd)[11]; dekl_b = hisabEp.Meeus(jd)[12]; iluminasiB = hisabEp.Meeus(jd)[15]; sudutFase = hisabEp.Meeus(jd)[16]; jarakBB = hisabEp.Meeus(jd)[17]; Console.WriteLine(jarakBm_M / 100000000); Console.WriteLine(jarakBB / 1000000); // 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 }
public void AmbilNilai() { float nilaiInput = (float)Konversi.DerajatKeDesimal(double.Parse(nilaiDerajat.text), double.Parse(nilaiMenit.text), 0); float nilaiX = (Mathf.Sin(nilaiInput * Mathf.Deg2Rad)); float nilaiy = (Mathf.Cos(nilaiInput * Mathf.Deg2Rad)); float posisiX = 27.1674f - (nilaiX * 80); float posisiY = 27.2406f - (nilaiy * 80); Syakul.transform.localPosition = new Vector3(posisiX, posisiY, 0); }
void hisab() { Double tanggal, bulan, tahun, jam, menit, detik; //jam=DateTime.Now.ToString("HH:mm:ss tt"); tanggal = Convert.ToDouble(DateTime.Now.ToString("dd")); bulan = Convert.ToDouble(DateTime.Now.ToString("MM")); tahun = Convert.ToDouble(DateTime.Now.ToString("yyyy")); jam = Convert.ToDouble(DateTime.Now.ToString("HH")); menit = Convert.ToDouble(DateTime.Now.ToString("mm")); detik = Convert.ToDouble(DateTime.Now.ToString("ss")); double jd = Konversi.TanggalKeJulianDay(tahun, bulan, tanggal, jam, menit, detik) + 1; // Console.WriteLine(tanggal+" - "+ bulan+" - "+ tahun+", "+ jam+ " : "+menit +" : "+ detik); // Console.WriteLine(jd); double bujur_m, lintang_m, asr_m, dekl_m, epsilon, EoT, jarakBm_M, bujur_b, lintang_b, asr_b, dekl_b, iluminasiB, sudutFase, jarakBB; bujur_m = hisabEp.Meeus(jd)[1]; lintang_m = hisabEp.Meeus(jd)[2]; asr_m = hisabEp.Meeus(jd)[3]; dekl_m = hisabEp.Meeus(jd)[4]; epsilon = hisabEp.Meeus(jd)[6]; EoT = hisabEp.Meeus(jd)[7]; jarakBm_M = hisabEp.Meeus(jd)[8]; bujur_b = hisabEp.Meeus(jd)[9]; lintang_b = hisabEp.Meeus(jd)[10]; asr_b = hisabEp.Meeus(jd)[11]; dekl_b = hisabEp.Meeus(jd)[12]; iluminasiB = hisabEp.Meeus(jd)[15]; sudutFase = hisabEp.Meeus(jd)[16]; jarakBB = hisabEp.Meeus(jd)[17]; // Console.WriteLine(); // Console.WriteLine(jarakBB/1000000); bumi.transform.position = new Vector3((float)(jarakBm_M / 100000000) * 1 * Time.deltaTime, 0, 0); }
public static double[] lintangEkliptikB(double tau, double lambdaM_r) { double b0 = 0; b0 += 280 * System.Math.Cos(3.199 + 84334.662 * tau); b0 += 102 * System.Math.Cos(5.422 + 5507.553 * tau); b0 += 80 * System.Math.Cos(3.88 + 5223.69 * tau); b0 += 44 * System.Math.Cos(3.7 + 2352.87 * tau); b0 += 32 * System.Math.Cos(4 + 1577.34 * tau); double b1 = 0; b1 += 9 * System.Math.Cos(3.9 + 5507.55 * tau); b1 += 6 * System.Math.Cos(1.73 + 5223.69 * tau); b1 *= tau; double B = (b0 + b1) / 100000000; double B_detikBusur = Konversi.toDegrees(B) * 3600; double beta = -B_detikBusur; double deltaBeta = 0.03916 * (System.Math.Cos(lambdaM_r) - System.Math.Sin(lambdaM_r)); double betaTerkoreksi = beta + deltaBeta; return(new double[] { 0, B, betaTerkoreksi }); }
public static int [] GstKeUt(double julianday, double jam_gst, double menit_gst, double detik_gst) { double julianday_0_UT = ((int)julianday) + 0.5; double pukul_desimal = Konversi.DerajatKeDesimal(jam_gst, menit_gst, detik_gst); double T = (julianday_0_UT - 2451545) / 36525; double GST_0_UT = 6.6973745583 + 2400.0513369072 * T + 0.0000258622 * T * T; double UT_GST = pukul_desimal - GST_0_UT; //Fungsi MODULO while (UT_GST > 24) { UT_GST -= 24; } //Bila nilai Positif lebih dari 24, akan dikurang 24 terus menerus sampai nilai dibawah 24 while (UT_GST < 0) { UT_GST += 24; } //Bila nilai negatif, akan ditambah 24 terus menerus sampai positif UT_GST = UT_GST / 1.00273790935; int[] UT_sexagesimal = Konversi.DesimalKeDerajat(UT_GST); return(new int[] { 0, UT_sexagesimal[1], UT_sexagesimal[2], UT_sexagesimal[3] }); }
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[] bujurEkliptik(double tau, double koreksiBujurB) { double l0 = 0; l0 += 175347046 * System.Math.Cos(0 + 0 * tau); l0 += 3341656 * System.Math.Cos(4.6692568 + 6283.07585 * tau); l0 += 34896 * System.Math.Cos(4.6261 + 12566.1517 * tau); l0 += 3497 * System.Math.Cos(2.7441 + 5753.3849 * tau); l0 += 3418 * System.Math.Cos(2.8289 + 3.5231 * tau); l0 += 3136 * System.Math.Cos(3.6277 + 77713.7715 * tau); l0 += 2676 * System.Math.Cos(4.4181 + 7860.4194 * tau); l0 += 2343 * System.Math.Cos(6.1352 + 3930.2097 * tau); l0 += 1324 * System.Math.Cos(0.7425 + 11506.7691 * tau); l0 += 1273 * System.Math.Cos(2.0371 + 529.691 * tau); l0 += 1199 * System.Math.Cos(1.1096 + 1577.3435 * tau); l0 += 990 * System.Math.Cos(5.233 + 5884.927 * tau); l0 += 902 * System.Math.Cos(2.045 + 26.298 * tau); l0 += 857 * System.Math.Cos(3.508 + 398.149 * tau); l0 += 780 * System.Math.Cos(1.179 + 5223.694 * tau); l0 += 753 * System.Math.Cos(2.533 + 5507.553 * tau); l0 += 505 * System.Math.Cos(4.583 + 18849.228 * tau); l0 += 492 * System.Math.Cos(4.205 + 775.523 * tau); l0 += 357 * System.Math.Cos(2.92 + 0.067 * tau); l0 += 317 * System.Math.Cos(5.849 + 11790.629 * tau); l0 += 284 * System.Math.Cos(1.899 + 796.298 * tau); l0 += 271 * System.Math.Cos(0.315 + 10977.079 * tau); l0 += 243 * System.Math.Cos(0.345 + 5486.778 * tau); l0 += 206 * System.Math.Cos(4.806 + 2544.314 * tau); l0 += 205 * System.Math.Cos(1.869 + 5573.143 * tau); l0 += 202 * System.Math.Cos(2.458 + 6069.777 * tau); l0 += 156 * System.Math.Cos(0.833 + 213.299 * tau); l0 += 132 * System.Math.Cos(3.411 + 2942.463 * tau); l0 += 126 * System.Math.Cos(1.083 + 20.775 * tau); l0 += 115 * System.Math.Cos(0.645 + 0.98 * tau); l0 += 103 * System.Math.Cos(0.636 + 4694.003 * tau); l0 += 102 * System.Math.Cos(0.976 + 15720.839 * tau); l0 += 102 * System.Math.Cos(4.267 + 7.114 * tau); l0 += 99 * System.Math.Cos(6.21 + 2146.17 * tau); l0 += 98 * System.Math.Cos(0.68 + 155.42 * tau); l0 += 86 * System.Math.Cos(5.98 + 161000.69 * tau); l0 += 85 * System.Math.Cos(1.3 + 6275.96 * tau); l0 += 85 * System.Math.Cos(3.67 + 71430.7 * tau); l0 += 80 * System.Math.Cos(1.81 + 17260 * tau); l0 += 79 * System.Math.Cos(3.04 + 12036.46 * tau); l0 += 75 * System.Math.Cos(1.76 + 5088.63 * tau); l0 += 74 * System.Math.Cos(3.5 + 3154.69 * tau); l0 += 74 * System.Math.Cos(4.68 + 801.82 * tau); l0 += 70 * System.Math.Cos(0.83 + 9437.76 * tau); l0 += 62 * System.Math.Cos(3.98 + 8827.39 * tau); l0 += 61 * System.Math.Cos(1.82 + 7084.9 * tau); l0 += 57 * System.Math.Cos(2.78 + 6286.6 * tau); l0 += 56 * System.Math.Cos(4.39 + 14143.5 * tau); l0 += 56 * System.Math.Cos(3.47 + 6279.55 * tau); l0 += 52 * System.Math.Cos(0.19 + 12139.55 * tau); l0 += 52 * System.Math.Cos(1.33 + 1748.02 * tau); l0 += 51 * System.Math.Cos(0.28 + 5856.48 * tau); l0 += 49 * System.Math.Cos(0.49 + 1194.45 * tau); l0 += 41 * System.Math.Cos(5.37 + 8429.24 * tau); l0 += 41 * System.Math.Cos(2.4 + 19651.05 * tau); l0 += 39 * System.Math.Cos(6.17 + 10447.39 * tau); l0 += 37 * System.Math.Cos(6.04 + 10213.29 * tau); l0 += 37 * System.Math.Cos(2.57 + 1059.38 * tau); l0 += 36 * System.Math.Cos(1.71 + 2352.87 * tau); l0 += 36 * System.Math.Cos(1.78 + 6812.77 * tau); l0 += 33 * System.Math.Cos(0.59 + 17789.85 * tau); l0 += 30 * System.Math.Cos(0.44 + 83996.85 * tau); l0 += 30 * System.Math.Cos(2.74 + 1349.87 * tau); l0 += 25 * System.Math.Cos(3.16 + 4690.48 * tau); double l1 = 0; l1 += 628331966747L * System.Math.Cos(0 + 0 * tau); l1 += 206059 * System.Math.Cos(2.678235 + 6283.07585 * tau); l1 += 4303 * System.Math.Cos(2.6351 + 12566.1517 * tau); l1 += 425 * System.Math.Cos(1.59 + 3.523 * tau); l1 += 119 * System.Math.Cos(5.796 + 26.298 * tau); l1 += 109 * System.Math.Cos(2.966 + 1577.344 * tau); l1 += 93 * System.Math.Cos(2.59 + 18849.23 * tau); l1 += 72 * System.Math.Cos(1.14 + 529.69 * tau); l1 += 68 * System.Math.Cos(1.87 + 398.15 * tau); l1 += 67 * System.Math.Cos(4.41 + 5507.55 * tau); l1 += 59 * System.Math.Cos(2.89 + 5223.69 * tau); l1 += 56 * System.Math.Cos(2.17 + 155.42 * tau); l1 += 45 * System.Math.Cos(0.4 + 796.3 * tau); l1 += 36 * System.Math.Cos(0.47 + 775.52 * tau); l1 += 29 * System.Math.Cos(2.65 + 7.11 * tau); l1 += 21 * System.Math.Cos(5.34 + 0.98 * tau); l1 += 19 * System.Math.Cos(1.85 + 5486.78 * tau); l1 += 19 * System.Math.Cos(4.97 + 213.3 * tau); l1 += 17 * System.Math.Cos(2.99 + 6275.96 * tau); l1 += 16 * System.Math.Cos(0.03 + 2544.31 * tau); l1 += 16 * System.Math.Cos(1.43 + 2146.17 * tau); l1 += 15 * System.Math.Cos(1.21 + 10977.08 * tau); l1 += 12 * System.Math.Cos(2.83 + 1748.02 * tau); l1 += 12 * System.Math.Cos(3.26 + 5088.63 * tau); l1 += 12 * System.Math.Cos(5.27 + 1194.45 * tau); l1 += 12 * System.Math.Cos(2.08 + 4694 * tau); l1 += 11 * System.Math.Cos(0.77 + 553.57 * tau); l1 += 10 * System.Math.Cos(1.3 + 6286.6 * tau); l1 += 10 * System.Math.Cos(4.24 + 1349.87 * tau); l1 += 9 * System.Math.Cos(2.7 + 242.73 * tau); l1 += 9 * System.Math.Cos(5.64 + 951.72 * tau); l1 += 8 * System.Math.Cos(5.3 + 2352.87 * tau); l1 += 6 * System.Math.Cos(2.65 + 9437.76 * tau); l1 += 6 * System.Math.Cos(4.67 + 4690.48 * tau); l1 *= tau; double l2 = 0; l2 += 52919 * System.Math.Cos(0 + 0 * tau); l2 += 8720 * System.Math.Cos(1.0721 + 6283.0758 * tau); l2 += 309 * System.Math.Cos(0.867 + 12566.152 * tau); l2 += 27 * System.Math.Cos(0.05 + 3.52 * tau); l2 += 16 * System.Math.Cos(5.19 + 26.3 * tau); l2 += 16 * System.Math.Cos(3.68 + 155.42 * tau); l2 += 10 * System.Math.Cos(0.76 + 18849 * tau); l2 += 9 * System.Math.Cos(2.06 + 77713.77 * tau); l2 += 7 * System.Math.Cos(0.83 + 775.52 * tau); l2 += 5 * System.Math.Cos(4.66 + 1577.34 * tau); l2 += 4 * System.Math.Cos(1.03 + 7.11 * tau); l2 += 4 * System.Math.Cos(3.44 + 5573.14 * tau); l2 += 3 * System.Math.Cos(5.14 + 796.3 * tau); l2 += 3 * System.Math.Cos(6.05 + 5507.55 * tau); l2 += 3 * System.Math.Cos(1.19 + 242.73 * tau); l2 += 3 * System.Math.Cos(6.12 + 529.69 * tau); l2 += 3 * System.Math.Cos(0.31 + 398.15 * tau); l2 += 3 * System.Math.Cos(2.28 + 553.57 * tau); l2 += 2 * System.Math.Cos(4.38 + 5223.69 * tau); l2 += 2 * System.Math.Cos(3.75 + 0.98 * tau); l2 *= tau * tau; double l3 = 0; l3 += 289 * System.Math.Cos(5.844 + 6283.076 * tau); l3 += 35 * System.Math.Cos(0 + 0 * tau); l3 += 17 * System.Math.Cos(5.49 + 12566.15 * tau); l3 += 3 * System.Math.Cos(5.2 + 155.42 * tau); l3 += 1 * System.Math.Cos(4.72 + 3.52 * tau); l3 += 1 * System.Math.Cos(5.3 + 18849.23 * tau); l3 += 1 * System.Math.Cos(5.97 + 242.73 * tau); l3 *= tau * tau * tau; double l4 = 0; l4 += 114 * System.Math.Cos(3.142 + 0 * tau); l4 += 8 * System.Math.Cos(4.13 + 6283.08 * tau); l4 += 1 * System.Math.Cos(3.84 + 12566.15 * tau); l4 *= tau * tau * tau * tau; double l5 = 0; l5 += 1 * System.Math.Cos(3.14 + 0 * tau); l5 *= tau * tau * tau * tau * tau; double l = (l0 + l1 + l2 + l3 + l4 + l5) / 100000000L; double l_d = Konversi.toDegrees(l) % 360; double theta = (l_d + 180) % 360; double lamdaM = (theta - 1.397 * koreksiBujurB - 0.00031 * koreksiBujurB * koreksiBujurB) % 360; double deltaTheta = -0.09033 / 3600; double thetaTerkoreksi = (theta + deltaTheta) % 360; return(new double[] { 0, l_d, theta, lamdaM, deltaTheta, thetaTerkoreksi }); }
// Update is called once per frame public void Update() { Vector2 syakul = Syakul.transform.position; Vector2 awalQous = Markaz.transform.position; Vector2 dir = awalQous - syakul; angle = (Mathf.Atan2(dir.y, -dir.x) * Mathf.Rad2Deg); string nilai;//Qous //mencari nilai sinus dari angle float nilaiSittini = Mathf.Abs(Mathf.Cos(angle * Mathf.Deg2Rad)); string sittini; float nilaiJaibT = Mathf.Abs(Mathf.Sin(angle * Mathf.Deg2Rad)); string JaibT; float posisiSitini = -200.872f * nilaiSittini;//200.294 adalah nilai batas wilayah rubuk dalam app ini float posisiJaibT = -200.872f * nilaiJaibT; if (angle < 0)//apabila melebihi wilayah rubuk maka disetel maks (90) { nilai = 90 + "\u00B0 " + "00" + "\u2032 "; sittini = 60 + "\u00B0 " + "00" + "\u2032 "; JaibT = "00" + "\u00B0 " + "00" + "\u2032 "; Anchor.localEulerAngles = new Vector3(0, 0, -90); TitikSittini.transform.localPosition = new Vector3(-200.294f, 10f, 0);//menentukan posisi titik sittini TitikJaibT.transform.localPosition = new Vector3(10f, 0, 0); } else { if (angle >= 90.0f)//apabila nggak melebihi wilayah rubuk //Qous { int derajat = Konversi.DesimalKeDerajat(angle % 90)[1]; int menit = Konversi.DesimalKeDerajat(angle % 90)[2]; nilai = derajat.ToString("D2") + "\u00B0 " + menit.ToString("D2") + "\u2032 "; //Sittini int derajatSt = Konversi.DesimalKeDerajat(nilaiSittini * 60)[1]; int menitSt = Konversi.DesimalKeDerajat(nilaiSittini * 60)[2]; sittini = derajatSt.ToString("D2") + "\u00B0" + menitSt.ToString("D2") + "\u2032"; //Jaib T int derajatJt = Konversi.DesimalKeDerajat(nilaiJaibT * 60)[1]; int menitJt = Konversi.DesimalKeDerajat(nilaiJaibT * 60)[2]; JaibT = derajatJt.ToString("D2") + "\u00B0" + menitJt.ToString("D2") + "\u2032"; Anchor.localEulerAngles = new Vector3(0, 0, -(angle - 90)); //memutar pasak TitikSittini.transform.localPosition = new Vector3(posisiSitini, 10f, -0.2f); //menentukan posisi titik sittini TitikJaibT.transform.localPosition = new Vector3(10f, posisiJaibT, -0.2f); } else {//apabila kurang dar wilayah rubuk maka disetel minimalnilai (0) nilai = "00" + "\u00B0" + "00" + "\u2032 "; sittini = "00" + "\u00B0 " + "00" + "\u2032 "; JaibT = "60" + "\u00B0 " + "00" + "\u2032 "; Anchor.localEulerAngles = new Vector3(0, 0, 0); TitikSittini.transform.localPosition = new Vector3(0, 10f, 0);//menentukan posisi titik sittini TitikJaibT.transform.localPosition = new Vector3(10f, -200.872f, 0); } } text.text = "Qous : " + nilai; textSittini.text = "Sittini: " + sittini; textJaibT.text = "Jaib T: " + JaibT; }
private float angle; //sudut antara Syakul dan Markaz public void Update() { //ambil nilai dari user float nilaiInput = (float)Konversi.DerajatKeDesimal(double.Parse(nilaiDerajat.text), double.Parse(nilaiMenit.text), 0); Vector2 syakul = Syakul.transform.position; Vector2 awalQous = Markaz.transform.position; Vector2 dir = awalQous - syakul;//menghitung vectornya dari Markaz dikurangi syakul, supaya Origin sudutnya berada pada Markaz angle = (Mathf.Atan2(dir.y, -dir.x) * Mathf.Rad2Deg); if (nilaiInput > 60) { nilaiInput %= 60; } float nilaiSittini = Mathf.Sin(angle % 90 * Mathf.Deg2Rad) * nilaiInput / 60; float nilaiJaibT = Mathf.Cos(angle % 90 * Mathf.Deg2Rad) * nilaiInput / 60; float angleMuri = (Mathf.Asin(nilaiSittini) * Mathf.Rad2Deg); float OousInputMuri = (Mathf.Asin(nilaiInput / 60) * Mathf.Rad2Deg); nilaiInput /= 60; float posisiMuri = -49.49f * nilaiInput;//-49.49f adalah nilai vector y batas daerah jaib T rubuk Muri.transform.localPosition = new Vector3(0, posisiMuri, 0f); float posisiMuriS = -200.872f * nilaiSittini; float posisiMuriJ = -200.872f * nilaiJaibT; string nilai; string nilaiMuriS; string nilaiMuriT; if (angle < 0) { if (angleMuri == 0) { TitikQousMuri.localEulerAngles = new Vector3(0, 0, -OousInputMuri); } else { TitikQousMuri.localEulerAngles = new Vector3(0, 0, angleMuri); } MuriSittini.transform.localPosition = new Vector3(-200.872f * nilaiInput, 10f, 0); MuriJaibT.transform.localPosition = new Vector3(10f, 0, 0); int derajat = Konversi.DesimalKeDerajat(angleMuri % 90)[1]; int menit = Konversi.DesimalKeDerajat(angleMuri % 90)[2]; nilai = derajat.ToString("D2") + "\u00B0 " + menit.ToString("D2") + "\u2032 "; int derajatS = Konversi.DesimalKeDerajat(nilaiInput * 60)[1]; int menitS = Konversi.DesimalKeDerajat(nilaiInput * 60)[2]; nilaiMuriS = derajatS.ToString("D2") + "\u00B0 " + menitS.ToString("D2") + "\u2032 "; nilaiMuriT = "00" + "\u00B0 " + "00" + "\u2032"; } else { if (angle >= 90.0f) { TitikQousMuri.localEulerAngles = new Vector3(0, 0, -angleMuri); Debug.Log(-angleMuri + ""); MuriSittini.transform.localPosition = new Vector3(posisiMuriS, 10f, 0); MuriJaibT.transform.localPosition = new Vector3(10f, posisiMuriJ, 0); int derajat = Konversi.DesimalKeDerajat(angleMuri % 90)[1]; int menit = Konversi.DesimalKeDerajat(angleMuri % 90)[2]; nilai = derajat.ToString("D2") + "\u00B0 " + menit.ToString("D2") + "\u2032 "; int derajatS = Konversi.DesimalKeDerajat(nilaiSittini * 60)[1]; int menitS = Konversi.DesimalKeDerajat(nilaiSittini * 60)[2]; nilaiMuriS = derajatS.ToString("D2") + "\u00B0 " + menitS.ToString("D2") + "\u2032 "; int derajatT = Konversi.DesimalKeDerajat(nilaiJaibT * 60)[1]; int menitT = Konversi.DesimalKeDerajat(nilaiJaibT * 60)[2]; nilaiMuriT = derajatT.ToString("D2") + "\u00B0 " + menitT.ToString("D2") + "\u2032 "; } else { TitikQousMuri.localEulerAngles = new Vector3(0, 0, 0); MuriSittini.transform.localPosition = new Vector3(0, 10f, 0); MuriJaibT.transform.localPosition = new Vector3(10f, -200.872f * nilaiInput, 0); nilai = "00" + "\u00B0 " + "00" + "\u2032"; nilaiMuriS = "00" + "\u00B0 " + "00" + "\u2032"; int derajatJ = Konversi.DesimalKeDerajat(nilaiInput * 60)[1]; int menitJ = Konversi.DesimalKeDerajat(nilaiInput * 60)[2]; nilaiMuriT = derajatJ.ToString("D2") + "\u00B0 " + menitJ.ToString("D2") + "\u2032 "; } } TextQousMuri.text = "Qous Muri:" + "\n" + nilai + "\n\n" + "Sittini Muri:" + "\n" + nilaiMuriS + "\n\n" + "Jaib T Muri:" + "\n" + nilaiMuriT; //Debug.Log("Sitini "+nilaiSittini+"\n"+"JaibT :" +nilaiJaibT+" Sudut :" +(-angleMuri)); }
//Fungsi pengubah Masehi ke Hijri //parameter yang harus diisi: tahun, bulan, tanggal public static double [] MasehiKeHijri(double tahun, double bulan, double tanggal) { //tanggal diatas dijadikan julian day dulu melalui fungsi Konversi double julian_day = Konversi.TanggalKeJulianDay(tahun, bulan, tanggal, 0, 0, 0); double selisih_hari = julian_day - 1948438.5; //selisih hari tanggal masehi dengan epoch/tahun nol kalender hijri int siklus = (int)((selisih_hari - 1) / 10631); //kelipatan 30 tahun atau berapakah siklus kabisat yang terjadi selama "selisih hari" if (selisih_hari < 0) { siklus = (int)System.Math.Floor((selisih_hari - 1) / 10631); } int tahun_siklus = siklus * 30; //jumlah siklus dijadikan tahun double sisahari1 = ((selisih_hari - (siklus * 10631))); // total selisih hari yang masih sisa setelah sebelumya dijadikan satuan siklus //rentang hari (satuan hari dari "sisahari1" dijadikan satuan tahun dan masih berapa sisa hari) int tambahan_tahun = 0; int sisahari2 = 0;//ini nilai hari if (sisahari1 >= 1 && sisahari1 <= 354) { tambahan_tahun = 1; sisahari2 = (int)(sisahari1); } else if (sisahari1 >= 355 && sisahari1 <= 709) { tambahan_tahun = 2; sisahari2 = (int)(sisahari1 - 354); } else if (sisahari1 >= 710 && sisahari1 <= 1063) { tambahan_tahun = 3; sisahari2 = (int)(sisahari1 - 709); } else if (sisahari1 >= 1064 && sisahari1 <= 1417) { tambahan_tahun = 4; sisahari2 = (int)(sisahari1 - 1063); } else if (sisahari1 >= 1418 && sisahari1 <= 1772) { tambahan_tahun = 5; sisahari2 = (int)(sisahari1 - 1417); } else if (sisahari1 >= 1772 && sisahari1 <= 2126) { tambahan_tahun = 6; sisahari2 = (int)(sisahari1 - 1772); } else if (sisahari1 >= 2127 && sisahari1 <= 2481) { tambahan_tahun = 7; sisahari2 = (int)(sisahari1 - 2126); } else if (sisahari1 >= 2482 && sisahari1 <= 2835) { tambahan_tahun = 8; sisahari2 = (int)(sisahari1 - 2481); } else if (sisahari1 >= 2836 && sisahari1 <= 3189) { tambahan_tahun = 9; sisahari2 = (int)(sisahari1 - 2835); } else if (sisahari1 >= 3190 && sisahari1 <= 3544) { tambahan_tahun = 10; sisahari2 = (int)(sisahari1 - 3189); } else if (sisahari1 >= 3545 && sisahari1 <= 3898) { tambahan_tahun = 11; sisahari2 = (int)(sisahari1 - 3544); } else if (sisahari1 >= 3899 && sisahari1 <= 4252) { tambahan_tahun = 12; sisahari2 = (int)(sisahari1 - 3898); } else if (sisahari1 >= 4253 && sisahari1 <= 4607) { tambahan_tahun = 13; sisahari2 = (int)(sisahari1 - 4252); } else if (sisahari1 >= 4608 && sisahari1 <= 4961) { tambahan_tahun = 14; sisahari2 = (int)(sisahari1 - 4607); } else if (sisahari1 >= 4962 && sisahari1 <= 5315) { tambahan_tahun = 15; sisahari2 = (int)(sisahari1 - 4691); } else if (sisahari1 >= 5316 && sisahari1 <= 5670) { tambahan_tahun = 16; sisahari2 = (int)(sisahari1 - 5315); } else if (sisahari1 >= 5671 && sisahari1 <= 6024) { tambahan_tahun = 17; sisahari2 = (int)(sisahari1 - 5670); } else if (sisahari1 >= 6025 && sisahari1 <= 6379) { tambahan_tahun = 18; sisahari2 = (int)(sisahari1 - 6024); } else if (sisahari1 >= 6380 && sisahari1 <= 6733) { tambahan_tahun = 19; sisahari2 = (int)(sisahari1 - 6379); } else if (sisahari1 >= 6734 && sisahari1 <= 7087) { tambahan_tahun = 20; sisahari2 = (int)(sisahari1 - 6733); } else if (sisahari1 >= 7088 && sisahari1 <= 7442) { tambahan_tahun = 21; sisahari2 = (int)(sisahari1 - 7087); } else if (sisahari1 >= 7443 && sisahari1 <= 7796) { tambahan_tahun = 22; sisahari2 = (int)(sisahari1 - 7445); } else if (sisahari1 >= 7797 && sisahari1 <= 8150) { tambahan_tahun = 23; sisahari2 = (int)(sisahari1 - 7796); } else if (sisahari1 >= 8150 && sisahari1 <= 8505) { tambahan_tahun = 24; sisahari2 = (int)(sisahari1 - 8150); } else if (sisahari1 >= 8506 && sisahari1 <= 8859) { tambahan_tahun = 25; sisahari2 = (int)(sisahari1 - 8505); } else if (sisahari1 >= 8860 && sisahari1 <= 9214) { tambahan_tahun = 26; sisahari2 = (int)(sisahari1 - 8859); } else if (sisahari1 >= 9215 && sisahari1 <= 9568) { tambahan_tahun = 27; sisahari2 = (int)(sisahari1 - 9214); } else if (sisahari1 >= 9569 && sisahari1 <= 9922) { tambahan_tahun = 28; sisahari2 = (int)(sisahari1 - 9568); } else if (sisahari1 >= 9923 && sisahari1 <= 10277) { tambahan_tahun = 29; sisahari2 = (int)(sisahari1 - 9922); } else if (sisahari1 >= 10277 && sisahari1 <= 10631) { tambahan_tahun = 30; sisahari2 = (int)(sisahari1 - 10277); } int bulan_utuh_tamm;// proses menjadikan satuan hari ke satuan bulan if (sisahari2 == 355) { bulan_utuh_tamm = 11; } else { bulan_utuh_tamm = (int)((sisahari2 - 1) / 29.5); } double jumlah_hari_bulan_tamm;// jumlah hari yang terdapat pada bulan sebelumnya if ((bulan_utuh_tamm % 2) == 0) { jumlah_hari_bulan_tamm = 29.5 * bulan_utuh_tamm; } else { jumlah_hari_bulan_tamm = 29.5 * (bulan_utuh_tamm - 1) + 30; } int tanggal_hijri = (int)(sisahari2 - jumlah_hari_bulan_tamm); //tnggal diambil dari jumlah total hari yang tersisa diambil umur bulan sebelumnya int bulan_hijri = bulan_utuh_tamm + 1; // ditambah satu karna masih berupa bulan yang telah berlalu, bukan yang sedang dijalani int tahun_hijri = tahun_siklus + tambahan_tahun; return(new double [] { 0, tanggal_hijri, bulan_hijri, tahun_hijri, julian_day, tambahan_tahun, siklus }); }
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 [] 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 }); }