From 1ace122c9eeaba4052af436d11d4f4c10365e98f Mon Sep 17 00:00:00 2001 From: Don Cross Date: Fri, 7 Jan 2022 21:02:59 -0500 Subject: [PATCH] Consistent generated tables between Linux, macOS. The code generator was creating slightly different numeric values for the Pluto state tables and the Jupiter rotation matrix. I decreased the output precision by one decimal digit. This should allow the code generator to produce identical source code on both Linux and macOS. --- README.md | 2 +- demo/browser/astronomy.browser.js | 108 +++++++++++----------- demo/nodejs/astronomy.js | 108 +++++++++++----------- demo/nodejs/calendar/astronomy.ts | 108 +++++++++++----------- demo/python/astronomy.py | 108 +++++++++++----------- generate/codegen.c | 32 +++---- source/c/astronomy.c | 108 +++++++++++----------- source/csharp/astronomy.cs | 108 +++++++++++----------- source/js/astronomy.browser.js | 108 +++++++++++----------- source/js/astronomy.browser.min.js | 140 ++++++++++++++--------------- source/js/astronomy.js | 108 +++++++++++----------- source/js/astronomy.min.js | 31 ++++--- source/js/astronomy.ts | 108 +++++++++++----------- source/js/esm/astronomy.js | 108 +++++++++++----------- source/python/astronomy.py | 108 +++++++++++----------- 15 files changed, 696 insertions(+), 697 deletions(-) diff --git a/README.md b/README.md index 27718969..94489c9e 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ of complexity. So I decided to create Astronomy Engine with the following engine - Support JavaScript, C, C#, and Python with the same algorithms, and verify them to produce identical results. - No external dependencies! The code must not require anything outside the standard library for each language. -- Minified JavaScript code less than 120K. (The current size is 105256 bytes.) +- Minified JavaScript code less than 120K. (The current size is 105094 bytes.) - Accuracy always within 1 arcminute of results from NOVAS. - It would be well documented, relatively easy to use, and support a wide variety of common use cases. diff --git a/demo/browser/astronomy.browser.js b/demo/browser/astronomy.browser.js index 690c107f..95d09816 100644 --- a/demo/browser/astronomy.browser.js +++ b/demo/browser/astronomy.browser.js @@ -2861,57 +2861,57 @@ const PLUTO_TIME_STEP = 29200; const PLUTO_DT = 146; const PLUTO_NSTEPS = 201; const PlutoStateTable = [ - [-730000.0, [-26.1182072321076, -14.3761681778250, 3.3844025152995], [1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]], - [-700800.0, [41.9749052021271, -0.4485029529294, -12.7703515059887], [7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]], - [-671600.0, [14.7069307807442, 44.2691105400275, 9.3536984747716], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]], - [-642400.0, [-29.4410039299574, -6.4301615305696, 6.8584810113048], [8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]], - [-613200.0, [39.4443969462341, -6.5579897605705, -13.9137602964634], [1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]], - [-584000.0, [20.2303809506997, 43.2669666571891, 7.3829660919234], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]], - [-554800.0, [-30.6583253646200, 2.0938188745519, 9.8805311380706], [6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]], - [-525600.0, [35.7377032516732, -12.5877060247644, -14.6778472475634], [1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]], - [-496400.0, [25.4662951885462, 41.3674783384167, 5.2164768733816], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]], - [-467200.0, [-29.8471749040710, 10.6364263130814, 12.2979041801063], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]], - [-438000.0, [30.7746921076872, -18.2366370153037, -14.9455358798963], [2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]], - [-408800.0, [30.2431533240283, 38.6562678885026, 2.9385017502184], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]], - [-379600.0, [-27.2889847725327, 18.6431621478740, 14.0236336233295], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]], - [-350400.0, [24.5196051967735, -23.2457560647266, -14.6268623673677], [2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]], - [-321200.0, [34.5052748058754, 35.1253385869542, 0.5573614756374], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]], - [-292000.0, [-23.2753639151193, 25.8185142987694, 15.0553815885983], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]], - [-262800.0, [17.0503847980918, -27.1803762901257, -13.6089633216945], [2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]], - [-233600.0, [38.0936719102855, 30.8805883833368, -1.8436880674133], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]], - [-204400.0, [-18.1978529308782, 31.9328699343091, 15.4382948262792], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]], - [-175200.0, [8.5289240399968, -29.6184222000484, -11.8054009942579], [3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]], - [-146000.0, [40.9468572586403, 25.9049735920209, -4.2563362404988], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]], - [-116800.0, [-12.3269588953252, 36.8818834462925, 15.2171582587111], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]], - [-87600.0, [-0.6332583759085, -30.0187597947092, -9.1719328749499], [3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]], - [-58400.0, [42.9360484238833, 20.3446855844523, -6.5880270079125], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]], - [-29200.0, [-5.9759105529742, 40.6118099584602, 14.4701317236731], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]], - [0.0, [-9.8753695807739, -27.9789262247367, -5.7537118247043], [3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]], - [29200.0, [43.9588319861654, 14.2141479732919, -8.8083062271628], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]], - [58400.0, [0.6781367635199, 43.0944616393616, 13.2432387807209], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]], - [87600.0, [-18.2826020968342, -23.3050395866603, -1.7666205080281], [2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]], - [116800.0, [43.8733387445258, 7.7007056172154, -10.8142736664251], [2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]], - [146000.0, [7.3929490279056, 44.3826789515344, 11.6295002148543], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]], - [175200.0, [-24.9816902292606, -16.2040128514258, 2.4664575442976], [1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]], - [204400.0, [42.5301870395114, 0.8459355080215, -12.5549075276829], [6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]], - [233600.0, [13.9995264868224, 44.4623630448942, 9.6694184864653], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]], - [262800.0, [-29.1840248030306, -7.3712439957619, 6.4932759579280], [9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]], - [292000.0, [39.8319806717528, -6.0784057667647, -13.9098153586562], [1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]], - [321200.0, [20.2949551084758, 43.4171904202513, 7.4500919859316], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]], - [350400.0, [-30.6699923021597, 2.3187435589549, 9.9734809138580], [4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]], - [379600.0, [35.6261221559830, -12.8976475092243, -14.7775865084436], [1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]], - [408800.0, [26.1331861485607, 41.2321391875990, 5.0064013262205], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]], - [438000.0, [-29.5767402292299, 11.8635359435865, 12.6313230398719], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]], - [467200.0, [29.9108057873914, -19.1590192939999, -15.0133638651945], [2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]], - [496400.0, [31.3759574518189, 38.0503727207625, 2.4331383437537], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]], - [525600.0, [-26.3600713369277, 20.6625059049518, 14.4146962589584], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]], - [554800.0, [22.5994414886480, -24.5088798983064, -14.4840457314680], [2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]], - [584000.0, [35.8778640130144, 33.8942263660709, -0.2245246362769], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]], - [613200.0, [-21.5381497624167, 28.2040682697607, 15.3219737995345], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]], - [642400.0, [13.9715213744146, -28.3399417647887, -13.0837928718857], [2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]], - [671600.0, [39.5269420441426, 28.9398973601104, -2.8727995275393], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]], - [700800.0, [-15.5762007013935, 34.3994129612753, 15.4660337378540], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]], - [730000.0, [4.2432528370899, -30.1182016908248, -10.7074412313491], [3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] + [-730000.0, [-26.118207232108, -14.376168177825, 3.384402515299], [1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]], + [-700800.0, [41.974905202127, -0.448502952929, -12.770351505989], [7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]], + [-671600.0, [14.706930780744, 44.269110540027, 9.353698474772], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]], + [-642400.0, [-29.441003929957, -6.430161530570, 6.858481011305], [8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]], + [-613200.0, [39.444396946234, -6.557989760571, -13.913760296463], [1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]], + [-584000.0, [20.230380950700, 43.266966657189, 7.382966091923], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]], + [-554800.0, [-30.658325364620, 2.093818874552, 9.880531138071], [6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]], + [-525600.0, [35.737703251673, -12.587706024764, -14.677847247563], [1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]], + [-496400.0, [25.466295188546, 41.367478338417, 5.216476873382], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]], + [-467200.0, [-29.847174904071, 10.636426313081, 12.297904180106], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]], + [-438000.0, [30.774692107687, -18.236637015304, -14.945535879896], [2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]], + [-408800.0, [30.243153324028, 38.656267888503, 2.938501750218], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]], + [-379600.0, [-27.288984772533, 18.643162147874, 14.023633623329], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]], + [-350400.0, [24.519605196774, -23.245756064727, -14.626862367368], [2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]], + [-321200.0, [34.505274805875, 35.125338586954, 0.557361475637], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]], + [-292000.0, [-23.275363915119, 25.818514298769, 15.055381588598], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]], + [-262800.0, [17.050384798092, -27.180376290126, -13.608963321694], [2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]], + [-233600.0, [38.093671910285, 30.880588383337, -1.843688067413], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]], + [-204400.0, [-18.197852930878, 31.932869934309, 15.438294826279], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]], + [-175200.0, [8.528924039997, -29.618422200048, -11.805400994258], [3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]], + [-146000.0, [40.946857258640, 25.904973592021, -4.256336240499], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]], + [-116800.0, [-12.326958895325, 36.881883446292, 15.217158258711], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]], + [-87600.0, [-0.633258375909, -30.018759794709, -9.171932874950], [3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]], + [-58400.0, [42.936048423883, 20.344685584452, -6.588027007912], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]], + [-29200.0, [-5.975910552974, 40.611809958460, 14.470131723673], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]], + [0.0, [-9.875369580774, -27.978926224737, -5.753711824704], [3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]], + [29200.0, [43.958831986165, 14.214147973292, -8.808306227163], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]], + [58400.0, [0.678136763520, 43.094461639362, 13.243238780721], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]], + [87600.0, [-18.282602096834, -23.305039586660, -1.766620508028], [2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]], + [116800.0, [43.873338744526, 7.700705617215, -10.814273666425], [2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]], + [146000.0, [7.392949027906, 44.382678951534, 11.629500214854], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]], + [175200.0, [-24.981690229261, -16.204012851426, 2.466457544298], [1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]], + [204400.0, [42.530187039511, 0.845935508021, -12.554907527683], [6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]], + [233600.0, [13.999526486822, 44.462363044894, 9.669418486465], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]], + [262800.0, [-29.184024803031, -7.371243995762, 6.493275957928], [9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]], + [292000.0, [39.831980671753, -6.078405766765, -13.909815358656], [1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]], + [321200.0, [20.294955108476, 43.417190420251, 7.450091985932], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]], + [350400.0, [-30.669992302160, 2.318743558955, 9.973480913858], [4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]], + [379600.0, [35.626122155983, -12.897647509224, -14.777586508444], [1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]], + [408800.0, [26.133186148561, 41.232139187599, 5.006401326220], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]], + [438000.0, [-29.576740229230, 11.863535943587, 12.631323039872], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]], + [467200.0, [29.910805787391, -19.159019294000, -15.013363865194], [2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]], + [496400.0, [31.375957451819, 38.050372720763, 2.433138343754], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]], + [525600.0, [-26.360071336928, 20.662505904952, 14.414696258958], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]], + [554800.0, [22.599441488648, -24.508879898306, -14.484045731468], [2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]], + [584000.0, [35.877864013014, 33.894226366071, -0.224524636277], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]], + [613200.0, [-21.538149762417, 28.204068269761, 15.321973799534], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]], + [642400.0, [13.971521374415, -28.339941764789, -13.083792871886], [2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]], + [671600.0, [39.526942044143, 28.939897360110, -2.872799527539], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]], + [700800.0, [-15.576200701394, 34.399412961275, 15.466033737854], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]], + [730000.0, [4.243252837090, -30.118201690825, -10.707441231349], [3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] ]; class TerseVector { constructor(x, y, z) { @@ -3164,9 +3164,9 @@ function CalcPluto(time, helio) { } ; const Rotation_JUP_EQJ = new RotationMatrix([ - [9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00], - [3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01], - [-1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01] + [9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00], + [3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01], + [-1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01] ]); const JupiterMoonModel = [ // [0] Io diff --git a/demo/nodejs/astronomy.js b/demo/nodejs/astronomy.js index 66e1fdfb..82ba7069 100644 --- a/demo/nodejs/astronomy.js +++ b/demo/nodejs/astronomy.js @@ -2860,57 +2860,57 @@ const PLUTO_TIME_STEP = 29200; const PLUTO_DT = 146; const PLUTO_NSTEPS = 201; const PlutoStateTable = [ - [-730000.0, [-26.1182072321076, -14.3761681778250, 3.3844025152995], [1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]], - [-700800.0, [41.9749052021271, -0.4485029529294, -12.7703515059887], [7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]], - [-671600.0, [14.7069307807442, 44.2691105400275, 9.3536984747716], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]], - [-642400.0, [-29.4410039299574, -6.4301615305696, 6.8584810113048], [8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]], - [-613200.0, [39.4443969462341, -6.5579897605705, -13.9137602964634], [1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]], - [-584000.0, [20.2303809506997, 43.2669666571891, 7.3829660919234], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]], - [-554800.0, [-30.6583253646200, 2.0938188745519, 9.8805311380706], [6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]], - [-525600.0, [35.7377032516732, -12.5877060247644, -14.6778472475634], [1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]], - [-496400.0, [25.4662951885462, 41.3674783384167, 5.2164768733816], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]], - [-467200.0, [-29.8471749040710, 10.6364263130814, 12.2979041801063], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]], - [-438000.0, [30.7746921076872, -18.2366370153037, -14.9455358798963], [2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]], - [-408800.0, [30.2431533240283, 38.6562678885026, 2.9385017502184], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]], - [-379600.0, [-27.2889847725327, 18.6431621478740, 14.0236336233295], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]], - [-350400.0, [24.5196051967735, -23.2457560647266, -14.6268623673677], [2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]], - [-321200.0, [34.5052748058754, 35.1253385869542, 0.5573614756374], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]], - [-292000.0, [-23.2753639151193, 25.8185142987694, 15.0553815885983], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]], - [-262800.0, [17.0503847980918, -27.1803762901257, -13.6089633216945], [2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]], - [-233600.0, [38.0936719102855, 30.8805883833368, -1.8436880674133], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]], - [-204400.0, [-18.1978529308782, 31.9328699343091, 15.4382948262792], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]], - [-175200.0, [8.5289240399968, -29.6184222000484, -11.8054009942579], [3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]], - [-146000.0, [40.9468572586403, 25.9049735920209, -4.2563362404988], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]], - [-116800.0, [-12.3269588953252, 36.8818834462925, 15.2171582587111], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]], - [-87600.0, [-0.6332583759085, -30.0187597947092, -9.1719328749499], [3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]], - [-58400.0, [42.9360484238833, 20.3446855844523, -6.5880270079125], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]], - [-29200.0, [-5.9759105529742, 40.6118099584602, 14.4701317236731], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]], - [0.0, [-9.8753695807739, -27.9789262247367, -5.7537118247043], [3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]], - [29200.0, [43.9588319861654, 14.2141479732919, -8.8083062271628], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]], - [58400.0, [0.6781367635199, 43.0944616393616, 13.2432387807209], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]], - [87600.0, [-18.2826020968342, -23.3050395866603, -1.7666205080281], [2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]], - [116800.0, [43.8733387445258, 7.7007056172154, -10.8142736664251], [2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]], - [146000.0, [7.3929490279056, 44.3826789515344, 11.6295002148543], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]], - [175200.0, [-24.9816902292606, -16.2040128514258, 2.4664575442976], [1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]], - [204400.0, [42.5301870395114, 0.8459355080215, -12.5549075276829], [6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]], - [233600.0, [13.9995264868224, 44.4623630448942, 9.6694184864653], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]], - [262800.0, [-29.1840248030306, -7.3712439957619, 6.4932759579280], [9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]], - [292000.0, [39.8319806717528, -6.0784057667647, -13.9098153586562], [1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]], - [321200.0, [20.2949551084758, 43.4171904202513, 7.4500919859316], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]], - [350400.0, [-30.6699923021597, 2.3187435589549, 9.9734809138580], [4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]], - [379600.0, [35.6261221559830, -12.8976475092243, -14.7775865084436], [1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]], - [408800.0, [26.1331861485607, 41.2321391875990, 5.0064013262205], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]], - [438000.0, [-29.5767402292299, 11.8635359435865, 12.6313230398719], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]], - [467200.0, [29.9108057873914, -19.1590192939999, -15.0133638651945], [2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]], - [496400.0, [31.3759574518189, 38.0503727207625, 2.4331383437537], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]], - [525600.0, [-26.3600713369277, 20.6625059049518, 14.4146962589584], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]], - [554800.0, [22.5994414886480, -24.5088798983064, -14.4840457314680], [2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]], - [584000.0, [35.8778640130144, 33.8942263660709, -0.2245246362769], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]], - [613200.0, [-21.5381497624167, 28.2040682697607, 15.3219737995345], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]], - [642400.0, [13.9715213744146, -28.3399417647887, -13.0837928718857], [2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]], - [671600.0, [39.5269420441426, 28.9398973601104, -2.8727995275393], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]], - [700800.0, [-15.5762007013935, 34.3994129612753, 15.4660337378540], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]], - [730000.0, [4.2432528370899, -30.1182016908248, -10.7074412313491], [3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] + [-730000.0, [-26.118207232108, -14.376168177825, 3.384402515299], [1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]], + [-700800.0, [41.974905202127, -0.448502952929, -12.770351505989], [7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]], + [-671600.0, [14.706930780744, 44.269110540027, 9.353698474772], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]], + [-642400.0, [-29.441003929957, -6.430161530570, 6.858481011305], [8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]], + [-613200.0, [39.444396946234, -6.557989760571, -13.913760296463], [1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]], + [-584000.0, [20.230380950700, 43.266966657189, 7.382966091923], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]], + [-554800.0, [-30.658325364620, 2.093818874552, 9.880531138071], [6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]], + [-525600.0, [35.737703251673, -12.587706024764, -14.677847247563], [1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]], + [-496400.0, [25.466295188546, 41.367478338417, 5.216476873382], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]], + [-467200.0, [-29.847174904071, 10.636426313081, 12.297904180106], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]], + [-438000.0, [30.774692107687, -18.236637015304, -14.945535879896], [2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]], + [-408800.0, [30.243153324028, 38.656267888503, 2.938501750218], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]], + [-379600.0, [-27.288984772533, 18.643162147874, 14.023633623329], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]], + [-350400.0, [24.519605196774, -23.245756064727, -14.626862367368], [2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]], + [-321200.0, [34.505274805875, 35.125338586954, 0.557361475637], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]], + [-292000.0, [-23.275363915119, 25.818514298769, 15.055381588598], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]], + [-262800.0, [17.050384798092, -27.180376290126, -13.608963321694], [2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]], + [-233600.0, [38.093671910285, 30.880588383337, -1.843688067413], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]], + [-204400.0, [-18.197852930878, 31.932869934309, 15.438294826279], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]], + [-175200.0, [8.528924039997, -29.618422200048, -11.805400994258], [3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]], + [-146000.0, [40.946857258640, 25.904973592021, -4.256336240499], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]], + [-116800.0, [-12.326958895325, 36.881883446292, 15.217158258711], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]], + [-87600.0, [-0.633258375909, -30.018759794709, -9.171932874950], [3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]], + [-58400.0, [42.936048423883, 20.344685584452, -6.588027007912], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]], + [-29200.0, [-5.975910552974, 40.611809958460, 14.470131723673], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]], + [0.0, [-9.875369580774, -27.978926224737, -5.753711824704], [3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]], + [29200.0, [43.958831986165, 14.214147973292, -8.808306227163], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]], + [58400.0, [0.678136763520, 43.094461639362, 13.243238780721], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]], + [87600.0, [-18.282602096834, -23.305039586660, -1.766620508028], [2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]], + [116800.0, [43.873338744526, 7.700705617215, -10.814273666425], [2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]], + [146000.0, [7.392949027906, 44.382678951534, 11.629500214854], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]], + [175200.0, [-24.981690229261, -16.204012851426, 2.466457544298], [1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]], + [204400.0, [42.530187039511, 0.845935508021, -12.554907527683], [6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]], + [233600.0, [13.999526486822, 44.462363044894, 9.669418486465], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]], + [262800.0, [-29.184024803031, -7.371243995762, 6.493275957928], [9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]], + [292000.0, [39.831980671753, -6.078405766765, -13.909815358656], [1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]], + [321200.0, [20.294955108476, 43.417190420251, 7.450091985932], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]], + [350400.0, [-30.669992302160, 2.318743558955, 9.973480913858], [4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]], + [379600.0, [35.626122155983, -12.897647509224, -14.777586508444], [1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]], + [408800.0, [26.133186148561, 41.232139187599, 5.006401326220], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]], + [438000.0, [-29.576740229230, 11.863535943587, 12.631323039872], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]], + [467200.0, [29.910805787391, -19.159019294000, -15.013363865194], [2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]], + [496400.0, [31.375957451819, 38.050372720763, 2.433138343754], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]], + [525600.0, [-26.360071336928, 20.662505904952, 14.414696258958], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]], + [554800.0, [22.599441488648, -24.508879898306, -14.484045731468], [2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]], + [584000.0, [35.877864013014, 33.894226366071, -0.224524636277], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]], + [613200.0, [-21.538149762417, 28.204068269761, 15.321973799534], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]], + [642400.0, [13.971521374415, -28.339941764789, -13.083792871886], [2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]], + [671600.0, [39.526942044143, 28.939897360110, -2.872799527539], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]], + [700800.0, [-15.576200701394, 34.399412961275, 15.466033737854], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]], + [730000.0, [4.243252837090, -30.118201690825, -10.707441231349], [3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] ]; class TerseVector { constructor(x, y, z) { @@ -3163,9 +3163,9 @@ function CalcPluto(time, helio) { } ; const Rotation_JUP_EQJ = new RotationMatrix([ - [9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00], - [3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01], - [-1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01] + [9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00], + [3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01], + [-1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01] ]); const JupiterMoonModel = [ // [0] Io diff --git a/demo/nodejs/calendar/astronomy.ts b/demo/nodejs/calendar/astronomy.ts index 40b19357..62069912 100644 --- a/demo/nodejs/calendar/astronomy.ts +++ b/demo/nodejs/calendar/astronomy.ts @@ -3121,57 +3121,57 @@ const PLUTO_DT = 146; const PLUTO_NSTEPS = 201; const PlutoStateTable: BodyStateTableEntry[] = [ - [ -730000.0, [-26.1182072321076, -14.3761681778250, 3.3844025152995], [ 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]] -, [ -700800.0, [ 41.9749052021271, -0.4485029529294, -12.7703515059887], [ 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]] -, [ -671600.0, [ 14.7069307807442, 44.2691105400275, 9.3536984747716], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]] -, [ -642400.0, [-29.4410039299574, -6.4301615305696, 6.8584810113048], [ 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]] -, [ -613200.0, [ 39.4443969462341, -6.5579897605705, -13.9137602964634], [ 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]] -, [ -584000.0, [ 20.2303809506997, 43.2669666571891, 7.3829660919234], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]] -, [ -554800.0, [-30.6583253646200, 2.0938188745519, 9.8805311380706], [ 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]] -, [ -525600.0, [ 35.7377032516732, -12.5877060247644, -14.6778472475634], [ 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]] -, [ -496400.0, [ 25.4662951885462, 41.3674783384167, 5.2164768733816], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]] -, [ -467200.0, [-29.8471749040710, 10.6364263130814, 12.2979041801063], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]] -, [ -438000.0, [ 30.7746921076872, -18.2366370153037, -14.9455358798963], [ 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]] -, [ -408800.0, [ 30.2431533240283, 38.6562678885026, 2.9385017502184], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]] -, [ -379600.0, [-27.2889847725327, 18.6431621478740, 14.0236336233295], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]] -, [ -350400.0, [ 24.5196051967735, -23.2457560647266, -14.6268623673677], [ 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]] -, [ -321200.0, [ 34.5052748058754, 35.1253385869542, 0.5573614756374], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]] -, [ -292000.0, [-23.2753639151193, 25.8185142987694, 15.0553815885983], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]] -, [ -262800.0, [ 17.0503847980918, -27.1803762901257, -13.6089633216945], [ 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]] -, [ -233600.0, [ 38.0936719102855, 30.8805883833368, -1.8436880674133], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]] -, [ -204400.0, [-18.1978529308782, 31.9328699343091, 15.4382948262792], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]] -, [ -175200.0, [ 8.5289240399968, -29.6184222000484, -11.8054009942579], [ 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]] -, [ -146000.0, [ 40.9468572586403, 25.9049735920209, -4.2563362404988], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]] -, [ -116800.0, [-12.3269588953252, 36.8818834462925, 15.2171582587111], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]] -, [ -87600.0, [ -0.6332583759085, -30.0187597947092, -9.1719328749499], [ 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]] -, [ -58400.0, [ 42.9360484238833, 20.3446855844523, -6.5880270079125], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]] -, [ -29200.0, [ -5.9759105529742, 40.6118099584602, 14.4701317236731], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]] -, [ 0.0, [ -9.8753695807739, -27.9789262247367, -5.7537118247043], [ 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]] -, [ 29200.0, [ 43.9588319861654, 14.2141479732919, -8.8083062271628], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]] -, [ 58400.0, [ 0.6781367635199, 43.0944616393616, 13.2432387807209], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]] -, [ 87600.0, [-18.2826020968342, -23.3050395866603, -1.7666205080281], [ 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]] -, [ 116800.0, [ 43.8733387445258, 7.7007056172154, -10.8142736664251], [ 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]] -, [ 146000.0, [ 7.3929490279056, 44.3826789515344, 11.6295002148543], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]] -, [ 175200.0, [-24.9816902292606, -16.2040128514258, 2.4664575442976], [ 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]] -, [ 204400.0, [ 42.5301870395114, 0.8459355080215, -12.5549075276829], [ 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]] -, [ 233600.0, [ 13.9995264868224, 44.4623630448942, 9.6694184864653], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]] -, [ 262800.0, [-29.1840248030306, -7.3712439957619, 6.4932759579280], [ 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]] -, [ 292000.0, [ 39.8319806717528, -6.0784057667647, -13.9098153586562], [ 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]] -, [ 321200.0, [ 20.2949551084758, 43.4171904202513, 7.4500919859316], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]] -, [ 350400.0, [-30.6699923021597, 2.3187435589549, 9.9734809138580], [ 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]] -, [ 379600.0, [ 35.6261221559830, -12.8976475092243, -14.7775865084436], [ 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]] -, [ 408800.0, [ 26.1331861485607, 41.2321391875990, 5.0064013262205], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]] -, [ 438000.0, [-29.5767402292299, 11.8635359435865, 12.6313230398719], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]] -, [ 467200.0, [ 29.9108057873914, -19.1590192939999, -15.0133638651945], [ 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]] -, [ 496400.0, [ 31.3759574518189, 38.0503727207625, 2.4331383437537], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]] -, [ 525600.0, [-26.3600713369277, 20.6625059049518, 14.4146962589584], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]] -, [ 554800.0, [ 22.5994414886480, -24.5088798983064, -14.4840457314680], [ 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]] -, [ 584000.0, [ 35.8778640130144, 33.8942263660709, -0.2245246362769], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]] -, [ 613200.0, [-21.5381497624167, 28.2040682697607, 15.3219737995345], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]] -, [ 642400.0, [ 13.9715213744146, -28.3399417647887, -13.0837928718857], [ 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]] -, [ 671600.0, [ 39.5269420441426, 28.9398973601104, -2.8727995275393], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]] -, [ 700800.0, [-15.5762007013935, 34.3994129612753, 15.4660337378540], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]] -, [ 730000.0, [ 4.2432528370899, -30.1182016908248, -10.7074412313491], [ 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] + [ -730000.0, [-26.118207232108, -14.376168177825, 3.384402515299], [ 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]] +, [ -700800.0, [ 41.974905202127, -0.448502952929, -12.770351505989], [ 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]] +, [ -671600.0, [ 14.706930780744, 44.269110540027, 9.353698474772], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]] +, [ -642400.0, [-29.441003929957, -6.430161530570, 6.858481011305], [ 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]] +, [ -613200.0, [ 39.444396946234, -6.557989760571, -13.913760296463], [ 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]] +, [ -584000.0, [ 20.230380950700, 43.266966657189, 7.382966091923], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]] +, [ -554800.0, [-30.658325364620, 2.093818874552, 9.880531138071], [ 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]] +, [ -525600.0, [ 35.737703251673, -12.587706024764, -14.677847247563], [ 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]] +, [ -496400.0, [ 25.466295188546, 41.367478338417, 5.216476873382], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]] +, [ -467200.0, [-29.847174904071, 10.636426313081, 12.297904180106], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]] +, [ -438000.0, [ 30.774692107687, -18.236637015304, -14.945535879896], [ 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]] +, [ -408800.0, [ 30.243153324028, 38.656267888503, 2.938501750218], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]] +, [ -379600.0, [-27.288984772533, 18.643162147874, 14.023633623329], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]] +, [ -350400.0, [ 24.519605196774, -23.245756064727, -14.626862367368], [ 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]] +, [ -321200.0, [ 34.505274805875, 35.125338586954, 0.557361475637], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]] +, [ -292000.0, [-23.275363915119, 25.818514298769, 15.055381588598], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]] +, [ -262800.0, [ 17.050384798092, -27.180376290126, -13.608963321694], [ 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]] +, [ -233600.0, [ 38.093671910285, 30.880588383337, -1.843688067413], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]] +, [ -204400.0, [-18.197852930878, 31.932869934309, 15.438294826279], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]] +, [ -175200.0, [ 8.528924039997, -29.618422200048, -11.805400994258], [ 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]] +, [ -146000.0, [ 40.946857258640, 25.904973592021, -4.256336240499], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]] +, [ -116800.0, [-12.326958895325, 36.881883446292, 15.217158258711], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]] +, [ -87600.0, [ -0.633258375909, -30.018759794709, -9.171932874950], [ 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]] +, [ -58400.0, [ 42.936048423883, 20.344685584452, -6.588027007912], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]] +, [ -29200.0, [ -5.975910552974, 40.611809958460, 14.470131723673], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]] +, [ 0.0, [ -9.875369580774, -27.978926224737, -5.753711824704], [ 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]] +, [ 29200.0, [ 43.958831986165, 14.214147973292, -8.808306227163], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]] +, [ 58400.0, [ 0.678136763520, 43.094461639362, 13.243238780721], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]] +, [ 87600.0, [-18.282602096834, -23.305039586660, -1.766620508028], [ 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]] +, [ 116800.0, [ 43.873338744526, 7.700705617215, -10.814273666425], [ 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]] +, [ 146000.0, [ 7.392949027906, 44.382678951534, 11.629500214854], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]] +, [ 175200.0, [-24.981690229261, -16.204012851426, 2.466457544298], [ 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]] +, [ 204400.0, [ 42.530187039511, 0.845935508021, -12.554907527683], [ 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]] +, [ 233600.0, [ 13.999526486822, 44.462363044894, 9.669418486465], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]] +, [ 262800.0, [-29.184024803031, -7.371243995762, 6.493275957928], [ 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]] +, [ 292000.0, [ 39.831980671753, -6.078405766765, -13.909815358656], [ 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]] +, [ 321200.0, [ 20.294955108476, 43.417190420251, 7.450091985932], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]] +, [ 350400.0, [-30.669992302160, 2.318743558955, 9.973480913858], [ 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]] +, [ 379600.0, [ 35.626122155983, -12.897647509224, -14.777586508444], [ 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]] +, [ 408800.0, [ 26.133186148561, 41.232139187599, 5.006401326220], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]] +, [ 438000.0, [-29.576740229230, 11.863535943587, 12.631323039872], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]] +, [ 467200.0, [ 29.910805787391, -19.159019294000, -15.013363865194], [ 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]] +, [ 496400.0, [ 31.375957451819, 38.050372720763, 2.433138343754], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]] +, [ 525600.0, [-26.360071336928, 20.662505904952, 14.414696258958], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]] +, [ 554800.0, [ 22.599441488648, -24.508879898306, -14.484045731468], [ 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]] +, [ 584000.0, [ 35.877864013014, 33.894226366071, -0.224524636277], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]] +, [ 613200.0, [-21.538149762417, 28.204068269761, 15.321973799534], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]] +, [ 642400.0, [ 13.971521374415, -28.339941764789, -13.083792871886], [ 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]] +, [ 671600.0, [ 39.526942044143, 28.939897360110, -2.872799527539], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]] +, [ 700800.0, [-15.576200701394, 34.399412961275, 15.466033737854], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]] +, [ 730000.0, [ 4.243252837090, -30.118201690825, -10.707441231349], [ 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] ]; @@ -3512,9 +3512,9 @@ interface jupiter_moon_t { }; const Rotation_JUP_EQJ = new RotationMatrix([ - [ 9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00 ], - [ 3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01 ], - [ -1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01 ] + [ 9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00 ], + [ 3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01 ], + [ -1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01 ] ]); const JupiterMoonModel: jupiter_moon_t[] = [ diff --git a/demo/python/astronomy.py b/demo/python/astronomy.py index c9ec09a1..2b805136 100644 --- a/demo/python/astronomy.py +++ b/demo/python/astronomy.py @@ -3391,57 +3391,57 @@ _PLUTO_DT = 146 _PLUTO_NSTEPS = 201 _PlutoStateTable = [ - [ -730000.0, [-26.1182072321076, -14.3761681778250, 3.3844025152995], [ 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]] -, [ -700800.0, [ 41.9749052021271, -0.4485029529294, -12.7703515059887], [ 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]] -, [ -671600.0, [ 14.7069307807442, 44.2691105400275, 9.3536984747716], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]] -, [ -642400.0, [-29.4410039299574, -6.4301615305696, 6.8584810113048], [ 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]] -, [ -613200.0, [ 39.4443969462341, -6.5579897605705, -13.9137602964634], [ 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]] -, [ -584000.0, [ 20.2303809506997, 43.2669666571891, 7.3829660919234], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]] -, [ -554800.0, [-30.6583253646200, 2.0938188745519, 9.8805311380706], [ 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]] -, [ -525600.0, [ 35.7377032516732, -12.5877060247644, -14.6778472475634], [ 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]] -, [ -496400.0, [ 25.4662951885462, 41.3674783384167, 5.2164768733816], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]] -, [ -467200.0, [-29.8471749040710, 10.6364263130814, 12.2979041801063], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]] -, [ -438000.0, [ 30.7746921076872, -18.2366370153037, -14.9455358798963], [ 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]] -, [ -408800.0, [ 30.2431533240283, 38.6562678885026, 2.9385017502184], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]] -, [ -379600.0, [-27.2889847725327, 18.6431621478740, 14.0236336233295], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]] -, [ -350400.0, [ 24.5196051967735, -23.2457560647266, -14.6268623673677], [ 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]] -, [ -321200.0, [ 34.5052748058754, 35.1253385869542, 0.5573614756374], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]] -, [ -292000.0, [-23.2753639151193, 25.8185142987694, 15.0553815885983], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]] -, [ -262800.0, [ 17.0503847980918, -27.1803762901257, -13.6089633216945], [ 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]] -, [ -233600.0, [ 38.0936719102855, 30.8805883833368, -1.8436880674133], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]] -, [ -204400.0, [-18.1978529308782, 31.9328699343091, 15.4382948262792], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]] -, [ -175200.0, [ 8.5289240399968, -29.6184222000484, -11.8054009942579], [ 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]] -, [ -146000.0, [ 40.9468572586403, 25.9049735920209, -4.2563362404988], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]] -, [ -116800.0, [-12.3269588953252, 36.8818834462925, 15.2171582587111], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]] -, [ -87600.0, [ -0.6332583759085, -30.0187597947092, -9.1719328749499], [ 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]] -, [ -58400.0, [ 42.9360484238833, 20.3446855844523, -6.5880270079125], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]] -, [ -29200.0, [ -5.9759105529742, 40.6118099584602, 14.4701317236731], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]] -, [ 0.0, [ -9.8753695807739, -27.9789262247367, -5.7537118247043], [ 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]] -, [ 29200.0, [ 43.9588319861654, 14.2141479732919, -8.8083062271628], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]] -, [ 58400.0, [ 0.6781367635199, 43.0944616393616, 13.2432387807209], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]] -, [ 87600.0, [-18.2826020968342, -23.3050395866603, -1.7666205080281], [ 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]] -, [ 116800.0, [ 43.8733387445258, 7.7007056172154, -10.8142736664251], [ 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]] -, [ 146000.0, [ 7.3929490279056, 44.3826789515344, 11.6295002148543], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]] -, [ 175200.0, [-24.9816902292606, -16.2040128514258, 2.4664575442976], [ 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]] -, [ 204400.0, [ 42.5301870395114, 0.8459355080215, -12.5549075276829], [ 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]] -, [ 233600.0, [ 13.9995264868224, 44.4623630448942, 9.6694184864653], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]] -, [ 262800.0, [-29.1840248030306, -7.3712439957619, 6.4932759579280], [ 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]] -, [ 292000.0, [ 39.8319806717528, -6.0784057667647, -13.9098153586562], [ 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]] -, [ 321200.0, [ 20.2949551084758, 43.4171904202513, 7.4500919859316], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]] -, [ 350400.0, [-30.6699923021597, 2.3187435589549, 9.9734809138580], [ 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]] -, [ 379600.0, [ 35.6261221559830, -12.8976475092243, -14.7775865084436], [ 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]] -, [ 408800.0, [ 26.1331861485607, 41.2321391875990, 5.0064013262205], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]] -, [ 438000.0, [-29.5767402292299, 11.8635359435865, 12.6313230398719], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]] -, [ 467200.0, [ 29.9108057873914, -19.1590192939999, -15.0133638651945], [ 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]] -, [ 496400.0, [ 31.3759574518189, 38.0503727207625, 2.4331383437537], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]] -, [ 525600.0, [-26.3600713369277, 20.6625059049518, 14.4146962589584], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]] -, [ 554800.0, [ 22.5994414886480, -24.5088798983064, -14.4840457314680], [ 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]] -, [ 584000.0, [ 35.8778640130144, 33.8942263660709, -0.2245246362769], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]] -, [ 613200.0, [-21.5381497624167, 28.2040682697607, 15.3219737995345], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]] -, [ 642400.0, [ 13.9715213744146, -28.3399417647887, -13.0837928718857], [ 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]] -, [ 671600.0, [ 39.5269420441426, 28.9398973601104, -2.8727995275393], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]] -, [ 700800.0, [-15.5762007013935, 34.3994129612753, 15.4660337378540], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]] -, [ 730000.0, [ 4.2432528370899, -30.1182016908248, -10.7074412313491], [ 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] + [ -730000.0, [-26.118207232108, -14.376168177825, 3.384402515299], [ 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]] +, [ -700800.0, [ 41.974905202127, -0.448502952929, -12.770351505989], [ 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]] +, [ -671600.0, [ 14.706930780744, 44.269110540027, 9.353698474772], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]] +, [ -642400.0, [-29.441003929957, -6.430161530570, 6.858481011305], [ 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]] +, [ -613200.0, [ 39.444396946234, -6.557989760571, -13.913760296463], [ 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]] +, [ -584000.0, [ 20.230380950700, 43.266966657189, 7.382966091923], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]] +, [ -554800.0, [-30.658325364620, 2.093818874552, 9.880531138071], [ 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]] +, [ -525600.0, [ 35.737703251673, -12.587706024764, -14.677847247563], [ 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]] +, [ -496400.0, [ 25.466295188546, 41.367478338417, 5.216476873382], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]] +, [ -467200.0, [-29.847174904071, 10.636426313081, 12.297904180106], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]] +, [ -438000.0, [ 30.774692107687, -18.236637015304, -14.945535879896], [ 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]] +, [ -408800.0, [ 30.243153324028, 38.656267888503, 2.938501750218], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]] +, [ -379600.0, [-27.288984772533, 18.643162147874, 14.023633623329], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]] +, [ -350400.0, [ 24.519605196774, -23.245756064727, -14.626862367368], [ 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]] +, [ -321200.0, [ 34.505274805875, 35.125338586954, 0.557361475637], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]] +, [ -292000.0, [-23.275363915119, 25.818514298769, 15.055381588598], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]] +, [ -262800.0, [ 17.050384798092, -27.180376290126, -13.608963321694], [ 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]] +, [ -233600.0, [ 38.093671910285, 30.880588383337, -1.843688067413], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]] +, [ -204400.0, [-18.197852930878, 31.932869934309, 15.438294826279], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]] +, [ -175200.0, [ 8.528924039997, -29.618422200048, -11.805400994258], [ 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]] +, [ -146000.0, [ 40.946857258640, 25.904973592021, -4.256336240499], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]] +, [ -116800.0, [-12.326958895325, 36.881883446292, 15.217158258711], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]] +, [ -87600.0, [ -0.633258375909, -30.018759794709, -9.171932874950], [ 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]] +, [ -58400.0, [ 42.936048423883, 20.344685584452, -6.588027007912], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]] +, [ -29200.0, [ -5.975910552974, 40.611809958460, 14.470131723673], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]] +, [ 0.0, [ -9.875369580774, -27.978926224737, -5.753711824704], [ 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]] +, [ 29200.0, [ 43.958831986165, 14.214147973292, -8.808306227163], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]] +, [ 58400.0, [ 0.678136763520, 43.094461639362, 13.243238780721], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]] +, [ 87600.0, [-18.282602096834, -23.305039586660, -1.766620508028], [ 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]] +, [ 116800.0, [ 43.873338744526, 7.700705617215, -10.814273666425], [ 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]] +, [ 146000.0, [ 7.392949027906, 44.382678951534, 11.629500214854], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]] +, [ 175200.0, [-24.981690229261, -16.204012851426, 2.466457544298], [ 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]] +, [ 204400.0, [ 42.530187039511, 0.845935508021, -12.554907527683], [ 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]] +, [ 233600.0, [ 13.999526486822, 44.462363044894, 9.669418486465], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]] +, [ 262800.0, [-29.184024803031, -7.371243995762, 6.493275957928], [ 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]] +, [ 292000.0, [ 39.831980671753, -6.078405766765, -13.909815358656], [ 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]] +, [ 321200.0, [ 20.294955108476, 43.417190420251, 7.450091985932], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]] +, [ 350400.0, [-30.669992302160, 2.318743558955, 9.973480913858], [ 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]] +, [ 379600.0, [ 35.626122155983, -12.897647509224, -14.777586508444], [ 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]] +, [ 408800.0, [ 26.133186148561, 41.232139187599, 5.006401326220], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]] +, [ 438000.0, [-29.576740229230, 11.863535943587, 12.631323039872], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]] +, [ 467200.0, [ 29.910805787391, -19.159019294000, -15.013363865194], [ 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]] +, [ 496400.0, [ 31.375957451819, 38.050372720763, 2.433138343754], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]] +, [ 525600.0, [-26.360071336928, 20.662505904952, 14.414696258958], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]] +, [ 554800.0, [ 22.599441488648, -24.508879898306, -14.484045731468], [ 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]] +, [ 584000.0, [ 35.877864013014, 33.894226366071, -0.224524636277], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]] +, [ 613200.0, [-21.538149762417, 28.204068269761, 15.321973799534], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]] +, [ 642400.0, [ 13.971521374415, -28.339941764789, -13.083792871886], [ 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]] +, [ 671600.0, [ 39.526942044143, 28.939897360110, -2.872799527539], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]] +, [ 700800.0, [-15.576200701394, 34.399412961275, 15.466033737854], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]] +, [ 730000.0, [ 4.243252837090, -30.118201690825, -10.707441231349], [ 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] ] @@ -3702,9 +3702,9 @@ def _CalcPluto(time, helio): # BEGIN Jupiter Moons _Rotation_JUP_EQJ = RotationMatrix([ - [ 9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00 ], - [ 3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01 ], - [ -1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01 ] + [ 9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00 ], + [ 3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01 ], + [ -1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01 ] ]) _JupiterMoonModel = [ diff --git a/generate/codegen.c b/generate/codegen.c index 3778f6fe..da44ae9e 100644 --- a/generate/codegen.c +++ b/generate/codegen.c @@ -1236,7 +1236,7 @@ static int PlutoStateTable_C(cg_context_t *context, const top_model_t *model) CHECK(TopPosition(model, tt, &equ)); fprintf(context->outfile, - "%c { %10.1lf, {%17.13lf, %17.13lf, %17.13lf}, {%20.13le, %20.13le, %20.13le} }\n", + "%c { %10.1lf, {%16.12lf, %16.12lf, %16.12lf}, {%20.13le, %20.13le, %20.13le} }\n", (i==0 ? ' ' : ','), tt, equ.x, equ.y, equ.z, equ.vx, equ.vy, equ.vz); } @@ -1270,7 +1270,7 @@ static int PlutoStateTable_CSharp(cg_context_t *context, const top_model_t *mode CHECK(TopPosition(model, tt, &equ)); fprintf(context->outfile, - " %c new body_state_t(%10.1lf, new TerseVector(%17.13lf, %17.13lf, %17.13lf), new TerseVector(%20.13le, %20.13le, %20.13le))\n", + " %c new body_state_t(%10.1lf, new TerseVector(%16.12lf, %16.12lf, %16.12lf), new TerseVector(%20.13le, %20.13le, %20.13le))\n", (i==0 ? ' ' : ','), tt, equ.x, equ.y, equ.z, equ.vx, equ.vy, equ.vz); } @@ -1303,7 +1303,7 @@ static int PlutoStateTable_JS(cg_context_t *context, const top_model_t *model) CHECK(TopPosition(model, tt, &equ)); fprintf(context->outfile, - "%c [%10.1lf, [%17.13lf, %17.13lf, %17.13lf], [%20.13le, %20.13le, %20.13le]]\n", + "%c [%10.1lf, [%16.12lf, %16.12lf, %16.12lf], [%20.13le, %20.13le, %20.13le]]\n", (i==0 ? ' ' : ','), tt, equ.x, equ.y, equ.z, equ.vx, equ.vy, equ.vz); } @@ -1336,7 +1336,7 @@ static int PlutoStateTable_Python(cg_context_t *context, const top_model_t *mode CHECK(TopPosition(model, tt, &equ)); fprintf(context->outfile, - "%c [%10.1lf, [%17.13lf, %17.13lf, %17.13lf], [%20.13le, %20.13le, %20.13le]]\n", + "%c [%10.1lf, [%16.12lf, %16.12lf, %16.12lf], [%20.13le, %20.13le, %20.13le]]\n", (i==0 ? ' ' : ','), tt, equ.x, equ.y, equ.z, equ.vx, equ.vy, equ.vz); } @@ -1618,9 +1618,9 @@ static int JupiterMoons_C(cg_context_t *context, const jupiter_moon_model_t *mod fprintf(context->outfile, "{\n"); fprintf(context->outfile, " ASTRO_SUCCESS,\n"); fprintf(context->outfile, " {\n"); - fprintf(context->outfile, " { %23.16le, %23.16le, %23.16le },\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); - fprintf(context->outfile, " { %23.16le, %23.16le, %23.16le },\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); - fprintf(context->outfile, " { %23.16le, %23.16le, %23.16le }\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); + fprintf(context->outfile, " { %22.15le, %22.15le, %22.15le },\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); + fprintf(context->outfile, " { %22.15le, %22.15le, %22.15le },\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); + fprintf(context->outfile, " { %22.15le, %22.15le, %22.15le }\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); fprintf(context->outfile, " }\n"); fprintf(context->outfile, "};\n\n"); @@ -1676,9 +1676,9 @@ static int JupiterMoons_CSharp(cg_context_t *context, const jupiter_moon_model_t fprintf(context->outfile, " private static readonly RotationMatrix Rotation_JUP_EQJ = new RotationMatrix(\n"); fprintf(context->outfile, " new double[3,3]\n"); fprintf(context->outfile, " {\n"); - fprintf(context->outfile, " { %23.16le, %23.16le, %23.16le },\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); - fprintf(context->outfile, " { %23.16le, %23.16le, %23.16le },\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); - fprintf(context->outfile, " { %23.16le, %23.16le, %23.16le }\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); + fprintf(context->outfile, " { %22.15le, %22.15le, %22.15le },\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); + fprintf(context->outfile, " { %22.15le, %22.15le, %22.15le },\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); + fprintf(context->outfile, " { %22.15le, %22.15le, %22.15le }\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); fprintf(context->outfile, " }\n"); fprintf(context->outfile, " );\n\n"); @@ -1724,9 +1724,9 @@ static int JupiterMoons_JS(cg_context_t *context, const jupiter_moon_model_t *mo const char *var_name[] = { "a", "l", "z", "zeta" }; fprintf(context->outfile, "const Rotation_JUP_EQJ = new RotationMatrix([\n"); - fprintf(context->outfile, " [ %23.16le, %23.16le, %23.16le ],\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); - fprintf(context->outfile, " [ %23.16le, %23.16le, %23.16le ],\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); - fprintf(context->outfile, " [ %23.16le, %23.16le, %23.16le ]\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); + fprintf(context->outfile, " [ %22.15le, %22.15le, %22.15le ],\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); + fprintf(context->outfile, " [ %22.15le, %22.15le, %22.15le ],\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); + fprintf(context->outfile, " [ %22.15le, %22.15le, %22.15le ]\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); fprintf(context->outfile, "]);\n\n"); fprintf(context->outfile, "const JupiterMoonModel: jupiter_moon_t[] = [\n"); @@ -1770,9 +1770,9 @@ static int JupiterMoons_Python(cg_context_t *context, const jupiter_moon_model_t const char *var_name[] = { "a", "l", "z", "zeta" }; fprintf(context->outfile, "_Rotation_JUP_EQJ = RotationMatrix([\n"); - fprintf(context->outfile, " [ %23.16le, %23.16le, %23.16le ],\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); - fprintf(context->outfile, " [ %23.16le, %23.16le, %23.16le ],\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); - fprintf(context->outfile, " [ %23.16le, %23.16le, %23.16le ]\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); + fprintf(context->outfile, " [ %22.15le, %22.15le, %22.15le ],\n", model->rot[0][0], model->rot[0][1], model->rot[0][2]); + fprintf(context->outfile, " [ %22.15le, %22.15le, %22.15le ],\n", model->rot[1][0], model->rot[1][1], model->rot[1][2]); + fprintf(context->outfile, " [ %22.15le, %22.15le, %22.15le ]\n", model->rot[2][0], model->rot[2][1], model->rot[2][2]); fprintf(context->outfile, "])\n\n"); fprintf(context->outfile, "_JupiterMoonModel = [\n"); diff --git a/source/c/astronomy.c b/source/c/astronomy.c index c1cc3206..bf3b3b18 100644 --- a/source/c/astronomy.c +++ b/source/c/astronomy.c @@ -3441,57 +3441,57 @@ static astro_vector_t CalcSolarSystemBarycenter(astro_time_t time) static const body_state_t PlutoStateTable[] = { - { -730000.0, {-26.1182072321076, -14.3761681778250, 3.3844025152995}, { 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03} } -, { -700800.0, { 41.9749052021271, -0.4485029529294, -12.7703515059887}, { 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04} } -, { -671600.0, { 14.7069307807442, 44.2691105400275, 9.3536984747716}, {-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04} } -, { -642400.0, {-29.4410039299574, -6.4301615305696, 6.8584810113048}, { 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03} } -, { -613200.0, { 39.4443969462341, -6.5579897605705, -13.9137602964634}, { 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04} } -, { -584000.0, { 20.2303809506997, 43.2669666571891, 7.3829660919234}, {-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04} } -, { -554800.0, {-30.6583253646200, 2.0938188745519, 9.8805311380706}, { 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04} } -, { -525600.0, { 35.7377032516732, -12.5877060247644, -14.6778472475634}, { 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04} } -, { -496400.0, { 25.4662951885462, 41.3674783384167, 5.2164768733816}, {-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04} } -, { -467200.0, {-29.8471749040710, 10.6364263130814, 12.2979041801063}, {-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04} } -, { -438000.0, { 30.7746921076872, -18.2366370153037, -14.9455358798963}, { 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06} } -, { -408800.0, { 30.2431533240283, 38.6562678885026, 2.9385017502184}, {-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04} } -, { -379600.0, {-27.2889847725327, 18.6431621478740, 14.0236336233295}, {-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04} } -, { -350400.0, { 24.5196051967735, -23.2457560647266, -14.6268623673677}, { 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04} } -, { -321200.0, { 34.5052748058754, 35.1253385869542, 0.5573614756374}, {-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04} } -, { -292000.0, {-23.2753639151193, 25.8185142987694, 15.0553815885983}, {-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04} } -, { -262800.0, { 17.0503847980918, -27.1803762901257, -13.6089633216945}, { 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04} } -, { -233600.0, { 38.0936719102855, 30.8805883833368, -1.8436880674133}, {-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04} } -, { -204400.0, {-18.1978529308782, 31.9328699343091, 15.4382948262792}, {-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05} } -, { -175200.0, { 8.5289240399968, -29.6184222000484, -11.8054009942579}, { 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04} } -, { -146000.0, { 40.9468572586403, 25.9049735920209, -4.2563362404988}, {-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04} } -, { -116800.0, {-12.3269588953252, 36.8818834462925, 15.2171582587111}, {-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04} } -, { -87600.0, { -0.6332583759085, -30.0187597947092, -9.1719328749499}, { 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03} } -, { -58400.0, { 42.9360484238833, 20.3446855844523, -6.5880270079125}, {-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04} } -, { -29200.0, { -5.9759105529742, 40.6118099584602, 14.4701317236731}, {-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04} } -, { 0.0, { -9.8753695807739, -27.9789262247367, -5.7537118247043}, { 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03} } -, { 29200.0, { 43.9588319861654, 14.2141479732919, -8.8083062271628}, {-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04} } -, { 58400.0, { 0.6781367635199, 43.0944616393616, 13.2432387807209}, {-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04} } -, { 87600.0, {-18.2826020968342, -23.3050395866603, -1.7666205080281}, { 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03} } -, { 116800.0, { 43.8733387445258, 7.7007056172154, -10.8142736664251}, { 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04} } -, { 146000.0, { 7.3929490279056, 44.3826789515344, 11.6295002148543}, {-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04} } -, { 175200.0, {-24.9816902292606, -16.2040128514258, 2.4664575442976}, { 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03} } -, { 204400.0, { 42.5301870395114, 0.8459355080215, -12.5549075276829}, { 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04} } -, { 233600.0, { 13.9995264868224, 44.4623630448942, 9.6694184864653}, {-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04} } -, { 262800.0, {-29.1840248030306, -7.3712439957619, 6.4932759579280}, { 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03} } -, { 292000.0, { 39.8319806717528, -6.0784057667647, -13.9098153586562}, { 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04} } -, { 321200.0, { 20.2949551084758, 43.4171904202513, 7.4500919859316}, {-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04} } -, { 350400.0, {-30.6699923021597, 2.3187435589549, 9.9734809138580}, { 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04} } -, { 379600.0, { 35.6261221559830, -12.8976475092243, -14.7775865084436}, { 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04} } -, { 408800.0, { 26.1331861485607, 41.2321391875990, 5.0064013262205}, {-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04} } -, { 438000.0, {-29.5767402292299, 11.8635359435865, 12.6313230398719}, {-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04} } -, { 467200.0, { 29.9108057873914, -19.1590192939999, -15.0133638651945}, { 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05} } -, { 496400.0, { 31.3759574518189, 38.0503727207625, 2.4331383437537}, {-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04} } -, { 525600.0, {-26.3600713369277, 20.6625059049518, 14.4146962589584}, {-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04} } -, { 554800.0, { 22.5994414886480, -24.5088798983064, -14.4840457314680}, { 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04} } -, { 584000.0, { 35.8778640130144, 33.8942263660709, -0.2245246362769}, {-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04} } -, { 613200.0, {-21.5381497624167, 28.2040682697607, 15.3219737995345}, {-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04} } -, { 642400.0, { 13.9715213744146, -28.3399417647887, -13.0837928718857}, { 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04} } -, { 671600.0, { 39.5269420441426, 28.9398973601104, -2.8727995275393}, {-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04} } -, { 700800.0, {-15.5762007013935, 34.3994129612753, 15.4660337378540}, {-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05} } -, { 730000.0, { 4.2432528370899, -30.1182016908248, -10.7074412313491}, { 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04} } + { -730000.0, {-26.118207232108, -14.376168177825, 3.384402515299}, { 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03} } +, { -700800.0, { 41.974905202127, -0.448502952929, -12.770351505989}, { 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04} } +, { -671600.0, { 14.706930780744, 44.269110540027, 9.353698474772}, {-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04} } +, { -642400.0, {-29.441003929957, -6.430161530570, 6.858481011305}, { 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03} } +, { -613200.0, { 39.444396946234, -6.557989760571, -13.913760296463}, { 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04} } +, { -584000.0, { 20.230380950700, 43.266966657189, 7.382966091923}, {-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04} } +, { -554800.0, {-30.658325364620, 2.093818874552, 9.880531138071}, { 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04} } +, { -525600.0, { 35.737703251673, -12.587706024764, -14.677847247563}, { 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04} } +, { -496400.0, { 25.466295188546, 41.367478338417, 5.216476873382}, {-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04} } +, { -467200.0, {-29.847174904071, 10.636426313081, 12.297904180106}, {-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04} } +, { -438000.0, { 30.774692107687, -18.236637015304, -14.945535879896}, { 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06} } +, { -408800.0, { 30.243153324028, 38.656267888503, 2.938501750218}, {-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04} } +, { -379600.0, {-27.288984772533, 18.643162147874, 14.023633623329}, {-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04} } +, { -350400.0, { 24.519605196774, -23.245756064727, -14.626862367368}, { 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04} } +, { -321200.0, { 34.505274805875, 35.125338586954, 0.557361475637}, {-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04} } +, { -292000.0, {-23.275363915119, 25.818514298769, 15.055381588598}, {-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04} } +, { -262800.0, { 17.050384798092, -27.180376290126, -13.608963321694}, { 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04} } +, { -233600.0, { 38.093671910285, 30.880588383337, -1.843688067413}, {-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04} } +, { -204400.0, {-18.197852930878, 31.932869934309, 15.438294826279}, {-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05} } +, { -175200.0, { 8.528924039997, -29.618422200048, -11.805400994258}, { 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04} } +, { -146000.0, { 40.946857258640, 25.904973592021, -4.256336240499}, {-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04} } +, { -116800.0, {-12.326958895325, 36.881883446292, 15.217158258711}, {-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04} } +, { -87600.0, { -0.633258375909, -30.018759794709, -9.171932874950}, { 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03} } +, { -58400.0, { 42.936048423883, 20.344685584452, -6.588027007912}, {-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04} } +, { -29200.0, { -5.975910552974, 40.611809958460, 14.470131723673}, {-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04} } +, { 0.0, { -9.875369580774, -27.978926224737, -5.753711824704}, { 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03} } +, { 29200.0, { 43.958831986165, 14.214147973292, -8.808306227163}, {-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04} } +, { 58400.0, { 0.678136763520, 43.094461639362, 13.243238780721}, {-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04} } +, { 87600.0, {-18.282602096834, -23.305039586660, -1.766620508028}, { 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03} } +, { 116800.0, { 43.873338744526, 7.700705617215, -10.814273666425}, { 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04} } +, { 146000.0, { 7.392949027906, 44.382678951534, 11.629500214854}, {-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04} } +, { 175200.0, {-24.981690229261, -16.204012851426, 2.466457544298}, { 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03} } +, { 204400.0, { 42.530187039511, 0.845935508021, -12.554907527683}, { 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04} } +, { 233600.0, { 13.999526486822, 44.462363044894, 9.669418486465}, {-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04} } +, { 262800.0, {-29.184024803031, -7.371243995762, 6.493275957928}, { 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03} } +, { 292000.0, { 39.831980671753, -6.078405766765, -13.909815358656}, { 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04} } +, { 321200.0, { 20.294955108476, 43.417190420251, 7.450091985932}, {-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04} } +, { 350400.0, {-30.669992302160, 2.318743558955, 9.973480913858}, { 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04} } +, { 379600.0, { 35.626122155983, -12.897647509224, -14.777586508444}, { 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04} } +, { 408800.0, { 26.133186148561, 41.232139187599, 5.006401326220}, {-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04} } +, { 438000.0, {-29.576740229230, 11.863535943587, 12.631323039872}, {-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04} } +, { 467200.0, { 29.910805787391, -19.159019294000, -15.013363865194}, { 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05} } +, { 496400.0, { 31.375957451819, 38.050372720763, 2.433138343754}, {-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04} } +, { 525600.0, {-26.360071336928, 20.662505904952, 14.414696258958}, {-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04} } +, { 554800.0, { 22.599441488648, -24.508879898306, -14.484045731468}, { 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04} } +, { 584000.0, { 35.877864013014, 33.894226366071, -0.224524636277}, {-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04} } +, { 613200.0, {-21.538149762417, 28.204068269761, 15.321973799534}, {-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04} } +, { 642400.0, { 13.971521374415, -28.339941764789, -13.083792871886}, { 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04} } +, { 671600.0, { 39.526942044143, 28.939897360110, -2.872799527539}, {-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04} } +, { 700800.0, {-15.576200701394, 34.399412961275, 15.466033737854}, {-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05} } +, { 730000.0, { 4.243252837090, -30.118201690825, -10.707441231349}, { 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04} } }; @@ -3802,9 +3802,9 @@ static const astro_rotation_t Rotation_JUP_EQJ = { ASTRO_SUCCESS, { - { 9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00 }, - { 3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01 }, - { -1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01 } + { 9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00 }, + { 3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01 }, + { -1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01 } } }; diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs index 971bf009..d2901ae2 100644 --- a/source/csharp/astronomy.cs +++ b/source/csharp/astronomy.cs @@ -3548,57 +3548,57 @@ namespace CosineKitty private static readonly body_state_t[] PlutoStateTable = new body_state_t[] { - new body_state_t( -730000.0, new TerseVector(-26.1182072321076, -14.3761681778250, 3.3844025152995), new TerseVector( 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03)) - , new body_state_t( -700800.0, new TerseVector( 41.9749052021271, -0.4485029529294, -12.7703515059887), new TerseVector( 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04)) - , new body_state_t( -671600.0, new TerseVector( 14.7069307807442, 44.2691105400275, 9.3536984747716), new TerseVector(-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04)) - , new body_state_t( -642400.0, new TerseVector(-29.4410039299574, -6.4301615305696, 6.8584810113048), new TerseVector( 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03)) - , new body_state_t( -613200.0, new TerseVector( 39.4443969462341, -6.5579897605705, -13.9137602964634), new TerseVector( 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04)) - , new body_state_t( -584000.0, new TerseVector( 20.2303809506997, 43.2669666571891, 7.3829660919234), new TerseVector(-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04)) - , new body_state_t( -554800.0, new TerseVector(-30.6583253646200, 2.0938188745519, 9.8805311380706), new TerseVector( 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04)) - , new body_state_t( -525600.0, new TerseVector( 35.7377032516732, -12.5877060247644, -14.6778472475634), new TerseVector( 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04)) - , new body_state_t( -496400.0, new TerseVector( 25.4662951885462, 41.3674783384167, 5.2164768733816), new TerseVector(-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04)) - , new body_state_t( -467200.0, new TerseVector(-29.8471749040710, 10.6364263130814, 12.2979041801063), new TerseVector(-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04)) - , new body_state_t( -438000.0, new TerseVector( 30.7746921076872, -18.2366370153037, -14.9455358798963), new TerseVector( 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06)) - , new body_state_t( -408800.0, new TerseVector( 30.2431533240283, 38.6562678885026, 2.9385017502184), new TerseVector(-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04)) - , new body_state_t( -379600.0, new TerseVector(-27.2889847725327, 18.6431621478740, 14.0236336233295), new TerseVector(-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04)) - , new body_state_t( -350400.0, new TerseVector( 24.5196051967735, -23.2457560647266, -14.6268623673677), new TerseVector( 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04)) - , new body_state_t( -321200.0, new TerseVector( 34.5052748058754, 35.1253385869542, 0.5573614756374), new TerseVector(-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04)) - , new body_state_t( -292000.0, new TerseVector(-23.2753639151193, 25.8185142987694, 15.0553815885983), new TerseVector(-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04)) - , new body_state_t( -262800.0, new TerseVector( 17.0503847980918, -27.1803762901257, -13.6089633216945), new TerseVector( 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04)) - , new body_state_t( -233600.0, new TerseVector( 38.0936719102855, 30.8805883833368, -1.8436880674133), new TerseVector(-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04)) - , new body_state_t( -204400.0, new TerseVector(-18.1978529308782, 31.9328699343091, 15.4382948262792), new TerseVector(-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05)) - , new body_state_t( -175200.0, new TerseVector( 8.5289240399968, -29.6184222000484, -11.8054009942579), new TerseVector( 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04)) - , new body_state_t( -146000.0, new TerseVector( 40.9468572586403, 25.9049735920209, -4.2563362404988), new TerseVector(-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04)) - , new body_state_t( -116800.0, new TerseVector(-12.3269588953252, 36.8818834462925, 15.2171582587111), new TerseVector(-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04)) - , new body_state_t( -87600.0, new TerseVector( -0.6332583759085, -30.0187597947092, -9.1719328749499), new TerseVector( 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03)) - , new body_state_t( -58400.0, new TerseVector( 42.9360484238833, 20.3446855844523, -6.5880270079125), new TerseVector(-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04)) - , new body_state_t( -29200.0, new TerseVector( -5.9759105529742, 40.6118099584602, 14.4701317236731), new TerseVector(-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04)) - , new body_state_t( 0.0, new TerseVector( -9.8753695807739, -27.9789262247367, -5.7537118247043), new TerseVector( 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03)) - , new body_state_t( 29200.0, new TerseVector( 43.9588319861654, 14.2141479732919, -8.8083062271628), new TerseVector(-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04)) - , new body_state_t( 58400.0, new TerseVector( 0.6781367635199, 43.0944616393616, 13.2432387807209), new TerseVector(-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04)) - , new body_state_t( 87600.0, new TerseVector(-18.2826020968342, -23.3050395866603, -1.7666205080281), new TerseVector( 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03)) - , new body_state_t( 116800.0, new TerseVector( 43.8733387445258, 7.7007056172154, -10.8142736664251), new TerseVector( 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04)) - , new body_state_t( 146000.0, new TerseVector( 7.3929490279056, 44.3826789515344, 11.6295002148543), new TerseVector(-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04)) - , new body_state_t( 175200.0, new TerseVector(-24.9816902292606, -16.2040128514258, 2.4664575442976), new TerseVector( 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03)) - , new body_state_t( 204400.0, new TerseVector( 42.5301870395114, 0.8459355080215, -12.5549075276829), new TerseVector( 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04)) - , new body_state_t( 233600.0, new TerseVector( 13.9995264868224, 44.4623630448942, 9.6694184864653), new TerseVector(-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04)) - , new body_state_t( 262800.0, new TerseVector(-29.1840248030306, -7.3712439957619, 6.4932759579280), new TerseVector( 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03)) - , new body_state_t( 292000.0, new TerseVector( 39.8319806717528, -6.0784057667647, -13.9098153586562), new TerseVector( 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04)) - , new body_state_t( 321200.0, new TerseVector( 20.2949551084758, 43.4171904202513, 7.4500919859316), new TerseVector(-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04)) - , new body_state_t( 350400.0, new TerseVector(-30.6699923021597, 2.3187435589549, 9.9734809138580), new TerseVector( 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04)) - , new body_state_t( 379600.0, new TerseVector( 35.6261221559830, -12.8976475092243, -14.7775865084436), new TerseVector( 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04)) - , new body_state_t( 408800.0, new TerseVector( 26.1331861485607, 41.2321391875990, 5.0064013262205), new TerseVector(-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04)) - , new body_state_t( 438000.0, new TerseVector(-29.5767402292299, 11.8635359435865, 12.6313230398719), new TerseVector(-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04)) - , new body_state_t( 467200.0, new TerseVector( 29.9108057873914, -19.1590192939999, -15.0133638651945), new TerseVector( 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05)) - , new body_state_t( 496400.0, new TerseVector( 31.3759574518189, 38.0503727207625, 2.4331383437537), new TerseVector(-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04)) - , new body_state_t( 525600.0, new TerseVector(-26.3600713369277, 20.6625059049518, 14.4146962589584), new TerseVector(-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04)) - , new body_state_t( 554800.0, new TerseVector( 22.5994414886480, -24.5088798983064, -14.4840457314680), new TerseVector( 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04)) - , new body_state_t( 584000.0, new TerseVector( 35.8778640130144, 33.8942263660709, -0.2245246362769), new TerseVector(-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04)) - , new body_state_t( 613200.0, new TerseVector(-21.5381497624167, 28.2040682697607, 15.3219737995345), new TerseVector(-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04)) - , new body_state_t( 642400.0, new TerseVector( 13.9715213744146, -28.3399417647887, -13.0837928718857), new TerseVector( 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04)) - , new body_state_t( 671600.0, new TerseVector( 39.5269420441426, 28.9398973601104, -2.8727995275393), new TerseVector(-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04)) - , new body_state_t( 700800.0, new TerseVector(-15.5762007013935, 34.3994129612753, 15.4660337378540), new TerseVector(-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05)) - , new body_state_t( 730000.0, new TerseVector( 4.2432528370899, -30.1182016908248, -10.7074412313491), new TerseVector( 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04)) + new body_state_t( -730000.0, new TerseVector(-26.118207232108, -14.376168177825, 3.384402515299), new TerseVector( 1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03)) + , new body_state_t( -700800.0, new TerseVector( 41.974905202127, -0.448502952929, -12.770351505989), new TerseVector( 7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04)) + , new body_state_t( -671600.0, new TerseVector( 14.706930780744, 44.269110540027, 9.353698474772), new TerseVector(-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04)) + , new body_state_t( -642400.0, new TerseVector(-29.441003929957, -6.430161530570, 6.858481011305), new TerseVector( 8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03)) + , new body_state_t( -613200.0, new TerseVector( 39.444396946234, -6.557989760571, -13.913760296463), new TerseVector( 1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04)) + , new body_state_t( -584000.0, new TerseVector( 20.230380950700, 43.266966657189, 7.382966091923), new TerseVector(-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04)) + , new body_state_t( -554800.0, new TerseVector(-30.658325364620, 2.093818874552, 9.880531138071), new TerseVector( 6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04)) + , new body_state_t( -525600.0, new TerseVector( 35.737703251673, -12.587706024764, -14.677847247563), new TerseVector( 1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04)) + , new body_state_t( -496400.0, new TerseVector( 25.466295188546, 41.367478338417, 5.216476873382), new TerseVector(-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04)) + , new body_state_t( -467200.0, new TerseVector(-29.847174904071, 10.636426313081, 12.297904180106), new TerseVector(-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04)) + , new body_state_t( -438000.0, new TerseVector( 30.774692107687, -18.236637015304, -14.945535879896), new TerseVector( 2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06)) + , new body_state_t( -408800.0, new TerseVector( 30.243153324028, 38.656267888503, 2.938501750218), new TerseVector(-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04)) + , new body_state_t( -379600.0, new TerseVector(-27.288984772533, 18.643162147874, 14.023633623329), new TerseVector(-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04)) + , new body_state_t( -350400.0, new TerseVector( 24.519605196774, -23.245756064727, -14.626862367368), new TerseVector( 2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04)) + , new body_state_t( -321200.0, new TerseVector( 34.505274805875, 35.125338586954, 0.557361475637), new TerseVector(-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04)) + , new body_state_t( -292000.0, new TerseVector(-23.275363915119, 25.818514298769, 15.055381588598), new TerseVector(-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04)) + , new body_state_t( -262800.0, new TerseVector( 17.050384798092, -27.180376290126, -13.608963321694), new TerseVector( 2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04)) + , new body_state_t( -233600.0, new TerseVector( 38.093671910285, 30.880588383337, -1.843688067413), new TerseVector(-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04)) + , new body_state_t( -204400.0, new TerseVector(-18.197852930878, 31.932869934309, 15.438294826279), new TerseVector(-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05)) + , new body_state_t( -175200.0, new TerseVector( 8.528924039997, -29.618422200048, -11.805400994258), new TerseVector( 3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04)) + , new body_state_t( -146000.0, new TerseVector( 40.946857258640, 25.904973592021, -4.256336240499), new TerseVector(-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04)) + , new body_state_t( -116800.0, new TerseVector(-12.326958895325, 36.881883446292, 15.217158258711), new TerseVector(-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04)) + , new body_state_t( -87600.0, new TerseVector( -0.633258375909, -30.018759794709, -9.171932874950), new TerseVector( 3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03)) + , new body_state_t( -58400.0, new TerseVector( 42.936048423883, 20.344685584452, -6.588027007912), new TerseVector(-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04)) + , new body_state_t( -29200.0, new TerseVector( -5.975910552974, 40.611809958460, 14.470131723673), new TerseVector(-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04)) + , new body_state_t( 0.0, new TerseVector( -9.875369580774, -27.978926224737, -5.753711824704), new TerseVector( 3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03)) + , new body_state_t( 29200.0, new TerseVector( 43.958831986165, 14.214147973292, -8.808306227163), new TerseVector(-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04)) + , new body_state_t( 58400.0, new TerseVector( 0.678136763520, 43.094461639362, 13.243238780721), new TerseVector(-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04)) + , new body_state_t( 87600.0, new TerseVector(-18.282602096834, -23.305039586660, -1.766620508028), new TerseVector( 2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03)) + , new body_state_t( 116800.0, new TerseVector( 43.873338744526, 7.700705617215, -10.814273666425), new TerseVector( 2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04)) + , new body_state_t( 146000.0, new TerseVector( 7.392949027906, 44.382678951534, 11.629500214854), new TerseVector(-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04)) + , new body_state_t( 175200.0, new TerseVector(-24.981690229261, -16.204012851426, 2.466457544298), new TerseVector( 1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03)) + , new body_state_t( 204400.0, new TerseVector( 42.530187039511, 0.845935508021, -12.554907527683), new TerseVector( 6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04)) + , new body_state_t( 233600.0, new TerseVector( 13.999526486822, 44.462363044894, 9.669418486465), new TerseVector(-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04)) + , new body_state_t( 262800.0, new TerseVector(-29.184024803031, -7.371243995762, 6.493275957928), new TerseVector( 9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03)) + , new body_state_t( 292000.0, new TerseVector( 39.831980671753, -6.078405766765, -13.909815358656), new TerseVector( 1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04)) + , new body_state_t( 321200.0, new TerseVector( 20.294955108476, 43.417190420251, 7.450091985932), new TerseVector(-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04)) + , new body_state_t( 350400.0, new TerseVector(-30.669992302160, 2.318743558955, 9.973480913858), new TerseVector( 4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04)) + , new body_state_t( 379600.0, new TerseVector( 35.626122155983, -12.897647509224, -14.777586508444), new TerseVector( 1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04)) + , new body_state_t( 408800.0, new TerseVector( 26.133186148561, 41.232139187599, 5.006401326220), new TerseVector(-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04)) + , new body_state_t( 438000.0, new TerseVector(-29.576740229230, 11.863535943587, 12.631323039872), new TerseVector(-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04)) + , new body_state_t( 467200.0, new TerseVector( 29.910805787391, -19.159019294000, -15.013363865194), new TerseVector( 2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05)) + , new body_state_t( 496400.0, new TerseVector( 31.375957451819, 38.050372720763, 2.433138343754), new TerseVector(-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04)) + , new body_state_t( 525600.0, new TerseVector(-26.360071336928, 20.662505904952, 14.414696258958), new TerseVector(-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04)) + , new body_state_t( 554800.0, new TerseVector( 22.599441488648, -24.508879898306, -14.484045731468), new TerseVector( 2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04)) + , new body_state_t( 584000.0, new TerseVector( 35.877864013014, 33.894226366071, -0.224524636277), new TerseVector(-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04)) + , new body_state_t( 613200.0, new TerseVector(-21.538149762417, 28.204068269761, 15.321973799534), new TerseVector(-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04)) + , new body_state_t( 642400.0, new TerseVector( 13.971521374415, -28.339941764789, -13.083792871886), new TerseVector( 2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04)) + , new body_state_t( 671600.0, new TerseVector( 39.526942044143, 28.939897360110, -2.872799527539), new TerseVector(-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04)) + , new body_state_t( 700800.0, new TerseVector(-15.576200701394, 34.399412961275, 15.466033737854), new TerseVector(-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05)) + , new body_state_t( 730000.0, new TerseVector( 4.243252837090, -30.118201690825, -10.707441231349), new TerseVector( 3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04)) }; private static TerseVector UpdatePosition(double dt, TerseVector r, TerseVector v, TerseVector a) @@ -3832,9 +3832,9 @@ namespace CosineKitty private static readonly RotationMatrix Rotation_JUP_EQJ = new RotationMatrix( new double[3,3] { - { 9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00 }, - { 3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01 }, - { -1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01 } + { 9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00 }, + { 3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01 }, + { -1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01 } } ); diff --git a/source/js/astronomy.browser.js b/source/js/astronomy.browser.js index 690c107f..95d09816 100644 --- a/source/js/astronomy.browser.js +++ b/source/js/astronomy.browser.js @@ -2861,57 +2861,57 @@ const PLUTO_TIME_STEP = 29200; const PLUTO_DT = 146; const PLUTO_NSTEPS = 201; const PlutoStateTable = [ - [-730000.0, [-26.1182072321076, -14.3761681778250, 3.3844025152995], [1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]], - [-700800.0, [41.9749052021271, -0.4485029529294, -12.7703515059887], [7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]], - [-671600.0, [14.7069307807442, 44.2691105400275, 9.3536984747716], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]], - [-642400.0, [-29.4410039299574, -6.4301615305696, 6.8584810113048], [8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]], - [-613200.0, [39.4443969462341, -6.5579897605705, -13.9137602964634], [1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]], - [-584000.0, [20.2303809506997, 43.2669666571891, 7.3829660919234], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]], - [-554800.0, [-30.6583253646200, 2.0938188745519, 9.8805311380706], [6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]], - [-525600.0, [35.7377032516732, -12.5877060247644, -14.6778472475634], [1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]], - [-496400.0, [25.4662951885462, 41.3674783384167, 5.2164768733816], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]], - [-467200.0, [-29.8471749040710, 10.6364263130814, 12.2979041801063], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]], - [-438000.0, [30.7746921076872, -18.2366370153037, -14.9455358798963], [2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]], - [-408800.0, [30.2431533240283, 38.6562678885026, 2.9385017502184], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]], - [-379600.0, [-27.2889847725327, 18.6431621478740, 14.0236336233295], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]], - [-350400.0, [24.5196051967735, -23.2457560647266, -14.6268623673677], [2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]], - [-321200.0, [34.5052748058754, 35.1253385869542, 0.5573614756374], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]], - [-292000.0, [-23.2753639151193, 25.8185142987694, 15.0553815885983], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]], - [-262800.0, [17.0503847980918, -27.1803762901257, -13.6089633216945], [2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]], - [-233600.0, [38.0936719102855, 30.8805883833368, -1.8436880674133], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]], - [-204400.0, [-18.1978529308782, 31.9328699343091, 15.4382948262792], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]], - [-175200.0, [8.5289240399968, -29.6184222000484, -11.8054009942579], [3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]], - [-146000.0, [40.9468572586403, 25.9049735920209, -4.2563362404988], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]], - [-116800.0, [-12.3269588953252, 36.8818834462925, 15.2171582587111], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]], - [-87600.0, [-0.6332583759085, -30.0187597947092, -9.1719328749499], [3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]], - [-58400.0, [42.9360484238833, 20.3446855844523, -6.5880270079125], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]], - [-29200.0, [-5.9759105529742, 40.6118099584602, 14.4701317236731], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]], - [0.0, [-9.8753695807739, -27.9789262247367, -5.7537118247043], [3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]], - [29200.0, [43.9588319861654, 14.2141479732919, -8.8083062271628], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]], - [58400.0, [0.6781367635199, 43.0944616393616, 13.2432387807209], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]], - [87600.0, [-18.2826020968342, -23.3050395866603, -1.7666205080281], [2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]], - [116800.0, [43.8733387445258, 7.7007056172154, -10.8142736664251], [2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]], - [146000.0, [7.3929490279056, 44.3826789515344, 11.6295002148543], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]], - [175200.0, [-24.9816902292606, -16.2040128514258, 2.4664575442976], [1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]], - [204400.0, [42.5301870395114, 0.8459355080215, -12.5549075276829], [6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]], - [233600.0, [13.9995264868224, 44.4623630448942, 9.6694184864653], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]], - [262800.0, [-29.1840248030306, -7.3712439957619, 6.4932759579280], [9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]], - [292000.0, [39.8319806717528, -6.0784057667647, -13.9098153586562], [1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]], - [321200.0, [20.2949551084758, 43.4171904202513, 7.4500919859316], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]], - [350400.0, [-30.6699923021597, 2.3187435589549, 9.9734809138580], [4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]], - [379600.0, [35.6261221559830, -12.8976475092243, -14.7775865084436], [1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]], - [408800.0, [26.1331861485607, 41.2321391875990, 5.0064013262205], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]], - [438000.0, [-29.5767402292299, 11.8635359435865, 12.6313230398719], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]], - [467200.0, [29.9108057873914, -19.1590192939999, -15.0133638651945], [2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]], - [496400.0, [31.3759574518189, 38.0503727207625, 2.4331383437537], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]], - [525600.0, [-26.3600713369277, 20.6625059049518, 14.4146962589584], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]], - [554800.0, [22.5994414886480, -24.5088798983064, -14.4840457314680], [2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]], - [584000.0, [35.8778640130144, 33.8942263660709, -0.2245246362769], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]], - [613200.0, [-21.5381497624167, 28.2040682697607, 15.3219737995345], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]], - [642400.0, [13.9715213744146, -28.3399417647887, -13.0837928718857], [2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]], - [671600.0, [39.5269420441426, 28.9398973601104, -2.8727995275393], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]], - [700800.0, [-15.5762007013935, 34.3994129612753, 15.4660337378540], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]], - [730000.0, [4.2432528370899, -30.1182016908248, -10.7074412313491], [3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] + [-730000.0, [-26.118207232108, -14.376168177825, 3.384402515299], [1.6339372163656e-03, -2.7861699588508e-03, -1.3585880229445e-03]], + [-700800.0, [41.974905202127, -0.448502952929, -12.770351505989], [7.3458569351457e-04, 2.2785014891658e-03, 4.8619778602049e-04]], + [-671600.0, [14.706930780744, 44.269110540027, 9.353698474772], [-2.1000147999800e-03, 2.2295915939915e-04, 7.0143443551414e-04]], + [-642400.0, [-29.441003929957, -6.430161530570, 6.858481011305], [8.4495803960544e-04, -3.0783914758711e-03, -1.2106305981192e-03]], + [-613200.0, [39.444396946234, -6.557989760571, -13.913760296463], [1.1480029005873e-03, 2.2400006880665e-03, 3.5168075922288e-04]], + [-584000.0, [20.230380950700, 43.266966657189, 7.382966091923], [-1.9754081700585e-03, 5.3457141292226e-04, 7.5929169129793e-04]], + [-554800.0, [-30.658325364620, 2.093818874552, 9.880531138071], [6.1010603013347e-05, -3.1326500935382e-03, -9.9346125151067e-04]], + [-525600.0, [35.737703251673, -12.587706024764, -14.677847247563], [1.5802939375649e-03, 2.1347678412429e-03, 1.9074436384343e-04]], + [-496400.0, [25.466295188546, 41.367478338417, 5.216476873382], [-1.8054401046468e-03, 8.3283083599510e-04, 8.0260156912107e-04]], + [-467200.0, [-29.847174904071, 10.636426313081, 12.297904180106], [-6.3257063052907e-04, -2.9969577578221e-03, -7.4476074151596e-04]], + [-438000.0, [30.774692107687, -18.236637015304, -14.945535879896], [2.0113162005465e-03, 1.9353827024189e-03, -2.0937793168297e-06]], + [-408800.0, [30.243153324028, 38.656267888503, 2.938501750218], [-1.6052508674468e-03, 1.1183495337525e-03, 8.3333973416824e-04]], + [-379600.0, [-27.288984772533, 18.643162147874, 14.023633623329], [-1.1856388898191e-03, -2.7170609282181e-03, -4.9015526126399e-04]], + [-350400.0, [24.519605196774, -23.245756064727, -14.626862367368], [2.4322321483154e-03, 1.6062008146048e-03, -2.3369181613312e-04]], + [-321200.0, [34.505274805875, 35.125338586954, 0.557361475637], [-1.3824391637782e-03, 1.3833397561817e-03, 8.4823598806262e-04]], + [-292000.0, [-23.275363915119, 25.818514298769, 15.055381588598], [-1.6062295460975e-03, -2.3395961498533e-03, -2.4377362639479e-04]], + [-262800.0, [17.050384798092, -27.180376290126, -13.608963321694], [2.8175521080578e-03, 1.1358749093955e-03, -4.9548725258825e-04]], + [-233600.0, [38.093671910285, 30.880588383337, -1.843688067413], [-1.1317697153459e-03, 1.6128814698472e-03, 8.4177586176055e-04]], + [-204400.0, [-18.197852930878, 31.932869934309, 15.438294826279], [-1.9117272501813e-03, -1.9146495909842e-03, -1.9657304369835e-05]], + [-175200.0, [8.528924039997, -29.618422200048, -11.805400994258], [3.1034370787005e-03, 5.1393633292430e-04, -7.7293066202546e-04]], + [-146000.0, [40.946857258640, 25.904973592021, -4.256336240499], [-8.3652705194051e-04, 1.8129497136404e-03, 8.1564228273060e-04]], + [-116800.0, [-12.326958895325, 36.881883446292, 15.217158258711], [-2.1166103705038e-03, -1.4814420035990e-03, 1.7401209844705e-04]], + [-87600.0, [-0.633258375909, -30.018759794709, -9.171932874950], [3.2016994581737e-03, -2.5279858672148e-04, -1.0411088271861e-03]], + [-58400.0, [42.936048423883, 20.344685584452, -6.588027007912], [-5.0525450073192e-04, 1.9910074335507e-03, 7.7440196540269e-04]], + [-29200.0, [-5.975910552974, 40.611809958460, 14.470131723673], [-2.2184202156107e-03, -1.0562361130164e-03, 3.3652250216211e-04]], + [0.0, [-9.875369580774, -27.978926224737, -5.753711824704], [3.0287533248818e-03, -1.1276087003636e-03, -1.2651326732361e-03]], + [29200.0, [43.958831986165, 14.214147973292, -8.808306227163], [-1.4717608981871e-04, 2.1404187242141e-03, 7.1486567806614e-04]], + [58400.0, [0.678136763520, 43.094461639362, 13.243238780721], [-2.2358226110718e-03, -6.3233636090933e-04, 4.7664798895648e-04]], + [87600.0, [-18.282602096834, -23.305039586660, -1.766620508028], [2.5567245263557e-03, -1.9902940754171e-03, -1.3943491701082e-03]], + [116800.0, [43.873338744526, 7.700705617215, -10.814273666425], [2.3174803055677e-04, 2.2402163127924e-03, 6.2988756452032e-04]], + [146000.0, [7.392949027906, 44.382678951534, 11.629500214854], [-2.1932815453830e-03, -2.1751799585364e-04, 5.9556516201114e-04]], + [175200.0, [-24.981690229261, -16.204012851426, 2.466457544298], [1.8193989149580e-03, -2.6765419531201e-03, -1.3848283502247e-03]], + [204400.0, [42.530187039511, 0.845935508021, -12.554907527683], [6.5059779150669e-04, 2.2725657282262e-03, 5.1133743202822e-04]], + [233600.0, [13.999526486822, 44.462363044894, 9.669418486465], [-2.1079296569252e-03, 1.7533423831993e-04, 6.9128485798076e-04]], + [262800.0, [-29.184024803031, -7.371243995762, 6.493275957928], [9.3581363109681e-04, -3.0610357109184e-03, -1.2364201089345e-03]], + [292000.0, [39.831980671753, -6.078405766765, -13.909815358656], [1.1117769689167e-03, 2.2362097830152e-03, 3.6230548231153e-04]], + [321200.0, [20.294955108476, 43.417190420251, 7.450091985932], [-1.9742157451535e-03, 5.3102050468554e-04, 7.5938408813008e-04]], + [350400.0, [-30.669992302160, 2.318743558955, 9.973480913858], [4.5605107450676e-05, -3.1308219926928e-03, -9.9066533301924e-04]], + [379600.0, [35.626122155983, -12.897647509224, -14.777586508444], [1.6015684949743e-03, 2.1171931182284e-03, 1.8002516202204e-04]], + [408800.0, [26.133186148561, 41.232139187599, 5.006401326220], [-1.7857704419579e-03, 8.6046232702817e-04, 8.0614690298954e-04]], + [438000.0, [-29.576740229230, 11.863535943587, 12.631323039872], [-7.2292830060955e-04, -2.9587820140709e-03, -7.0824296450300e-04]], + [467200.0, [29.910805787391, -19.159019294000, -15.013363865194], [2.0871080437997e-03, 1.8848372554514e-03, -3.8528655083926e-05]], + [496400.0, [31.375957451819, 38.050372720763, 2.433138343754], [-1.5546055556611e-03, 1.1699815465629e-03, 8.3565439266001e-04]], + [525600.0, [-26.360071336928, 20.662505904952, 14.414696258958], [-1.3142373118349e-03, -2.6236647854842e-03, -4.2542017598193e-04]], + [554800.0, [22.599441488648, -24.508879898306, -14.484045731468], [2.5454108304806e-03, 1.4917058755191e-03, -3.0243665086079e-04]], + [584000.0, [35.877864013014, 33.894226366071, -0.224524636277], [-1.2941245730845e-03, 1.4560427668319e-03, 8.4762160640137e-04]], + [613200.0, [-21.538149762417, 28.204068269761, 15.321973799534], [-1.7312117409010e-03, -2.1939631314577e-03, -1.6316913275180e-04]], + [642400.0, [13.971521374415, -28.339941764789, -13.083792871886], [2.9334630526035e-03, 9.1860931752944e-04, -5.9939422488627e-04]], + [671600.0, [39.526942044143, 28.939897360110, -2.872799527539], [-1.0068481658095e-03, 1.7021132888090e-03, 8.3578230511981e-04]], + [700800.0, [-15.576200701394, 34.399412961275, 15.466033737854], [-2.0098814612884e-03, -1.7191109825989e-03, 7.0414782780416e-05]], + [730000.0, [4.243252837090, -30.118201690825, -10.707441231349], [3.1725847067411e-03, 1.6098461202270e-04, -9.0672150593868e-04]] ]; class TerseVector { constructor(x, y, z) { @@ -3164,9 +3164,9 @@ function CalcPluto(time, helio) { } ; const Rotation_JUP_EQJ = new RotationMatrix([ - [9.9943276533865444e-01, -3.3677107469764142e-02, 0.0000000000000000e+00], - [3.0395942890628476e-02, 9.0205791235280897e-01, 4.3054338854229507e-01], - [-1.4499455966335291e-02, -4.3029916940910073e-01, 9.0256988127375404e-01] + [9.994327653386544e-01, -3.367710746976414e-02, 0.000000000000000e+00], + [3.039594289062848e-02, 9.020579123528090e-01, 4.305433885422951e-01], + [-1.449945596633529e-02, -4.302991694091007e-01, 9.025698812737540e-01] ]); const JupiterMoonModel = [ // [0] Io diff --git a/source/js/astronomy.browser.min.js b/source/js/astronomy.browser.min.js index 6421d702..5aefcb76 100644 --- a/source/js/astronomy.browser.min.js +++ b/source/js/astronomy.browser.min.js @@ -163,73 +163,73 @@ Math.cos(p-3*g);return new Ic(e.RAD2DEG*k+(A*Math.cos(f)-t*Math.sin(f)),x+(-(.02 v(c)};e.Spherical=eb;var Xa=function(a,b,c,d){this.ra=v(a);this.dec=v(b);this.dist=v(c);this.vec=d};e.EquatorialCoordinates=Xa;var J=function(a){this.rot=a};e.RotationMatrix=J;e.MakeRotation=function(a){if(!Qc(a))throw"Argument must be a [3][3] array of numbers";return new J(a)};var Qb=function(a,b,c,d){this.azimuth=v(a);this.altitude=v(b);this.ra=v(c);this.dec=v(d)};e.HorizontalCoordinates=Qb;var Tb=function(a,b,c){this.vec=a;this.elat=v(b);this.elon=v(c)};e.EclipticCoordinates=Tb;e.Horizon=Da;var mb= function(a,b,c){this.latitude=a;this.longitude=b;this.height=c;oa(this)};e.Observer=mb;e.SunPosition=Rb;e.Equator=Fa;e.ObserverVector=function(a,b,c){a=w(a);var d=aa(a);b=lb(b,d).pos;c||(b=Wa(b,a,E.Into2000));return new C(b[0],b[1],b[2],a)};e.ObserverState=function(a,b,c){a=w(a);var d=aa(a);b=lb(b,d);b=new L(b.pos[0],b.pos[1],b.pos[2],b.vel[0],b.vel[1],b.vel[2],a);return c?b:(c=E.Into2000,c===E.Into2000?(d=Ca(a,c),b=xa(d,b),a=Ba(a,c),a=xa(a,b)):(d=Ba(a,c),b=xa(d,b),a=Ca(a,c),a=xa(a,b)),a)};e.VectorObserver= function(a,b){var c=aa(a.t),d=[a.x,a.y,a.z];b||(d=Aa(d,a.t,E.From2000),d=Va(d,a.t,E.From2000));b=d[0]*e.KM_PER_AU;var f=d[1]*e.KM_PER_AU;d=d[2]*e.KM_PER_AU;a=Math.sqrt(b*b+f*f);if(1E-6>a){c=0;var h=0=c;)c+=360;for(;180Math.abs(n))break;h-= -n/(-42.69778487239616*((k-g)/l-g*k*-.006694397995865464/(-42.69778487239616*m))+d*f+a*b)}h*=e.RAD2DEG;l=6378.1366/l;d=Math.abs(f)>Math.abs(b)?d/f-.9933056020041345*l:a/b-l}return new mb(h,c,1E3*d)};e.ObserverGravity=function(a,b){a=Math.sin(a*e.DEG2RAD);a*=a;return 9.7803253359*(1+.00193185265241*a)/Math.sqrt(1-.00669437999013*a)*(1-(3.15704E-7-2.10269E-9*a)*b+7.37452E-14*b*b)};e.Ecliptic=Ga;e.GeoMoon=V;e.GeoMoonState=Za;e.GeoEmbState=ob;var ia=[[-73E4,[-26.1182072321076,-14.376168177825,3.3844025152995], -[.0016339372163656,-.0027861699588508,-.0013585880229445]],[-700800,[41.9749052021271,-.4485029529294,-12.7703515059887],[7.3458569351457E-4,.0022785014891658,4.8619778602049E-4]],[-671600,[14.7069307807442,44.2691105400275,9.3536984747716],[-.00210001479998,2.2295915939915E-4,7.0143443551414E-4]],[-642400,[-29.4410039299574,-6.4301615305696,6.8584810113048],[8.4495803960544E-4,-.0030783914758711,-.0012106305981192]],[-613200,[39.4443969462341,-6.5579897605705,-13.9137602964634],[.0011480029005873, -.0022400006880665,3.5168075922288E-4]],[-584E3,[20.2303809506997,43.2669666571891,7.3829660919234],[-.0019754081700585,5.3457141292226E-4,7.5929169129793E-4]],[-554800,[-30.65832536462,2.0938188745519,9.8805311380706],[6.1010603013347E-5,-.0031326500935382,-9.9346125151067E-4]],[-525600,[35.7377032516732,-12.5877060247644,-14.6778472475634],[.0015802939375649,.0021347678412429,1.9074436384343E-4]],[-496400,[25.4662951885462,41.3674783384167,5.2164768733816],[-.0018054401046468,8.328308359951E-4,8.0260156912107E-4]], -[-467200,[-29.847174904071,10.6364263130814,12.2979041801063],[-6.3257063052907E-4,-.0029969577578221,-7.4476074151596E-4]],[-438E3,[30.7746921076872,-18.2366370153037,-14.9455358798963],[.0020113162005465,.0019353827024189,-2.0937793168297E-6]],[-408800,[30.2431533240283,38.6562678885026,2.9385017502184],[-.0016052508674468,.0011183495337525,8.3333973416824E-4]],[-379600,[-27.2889847725327,18.643162147874,14.0236336233295],[-.0011856388898191,-.0027170609282181,-4.9015526126399E-4]],[-350400,[24.5196051967735, --23.2457560647266,-14.6268623673677],[.0024322321483154,.0016062008146048,-2.3369181613312E-4]],[-321200,[34.5052748058754,35.1253385869542,.5573614756374],[-.0013824391637782,.0013833397561817,8.4823598806262E-4]],[-292E3,[-23.2753639151193,25.8185142987694,15.0553815885983],[-.0016062295460975,-.0023395961498533,-2.4377362639479E-4]],[-262800,[17.0503847980918,-27.1803762901257,-13.6089633216945],[.0028175521080578,.0011358749093955,-4.9548725258825E-4]],[-233600,[38.0936719102855,30.8805883833368, --1.8436880674133],[-.0011317697153459,.0016128814698472,8.4177586176055E-4]],[-204400,[-18.1978529308782,31.9328699343091,15.4382948262792],[-.0019117272501813,-.0019146495909842,-1.9657304369835E-5]],[-175200,[8.5289240399968,-29.6184222000484,-11.8054009942579],[.0031034370787005,5.139363329243E-4,-7.7293066202546E-4]],[-146E3,[40.9468572586403,25.9049735920209,-4.2563362404988],[-8.3652705194051E-4,.0018129497136404,8.156422827306E-4]],[-116800,[-12.3269588953252,36.8818834462925,15.2171582587111], -[-.0021166103705038,-.001481442003599,1.7401209844705E-4]],[-87600,[-.6332583759085,-30.0187597947092,-9.1719328749499],[.0032016994581737,-2.5279858672148E-4,-.0010411088271861]],[-58400,[42.9360484238833,20.3446855844523,-6.5880270079125],[-5.0525450073192E-4,.0019910074335507,7.7440196540269E-4]],[-29200,[-5.9759105529742,40.6118099584602,14.4701317236731],[-.0022184202156107,-.0010562361130164,3.3652250216211E-4]],[0,[-9.8753695807739,-27.9789262247367,-5.7537118247043],[.0030287533248818,-.0011276087003636, --.0012651326732361]],[29200,[43.9588319861654,14.2141479732919,-8.8083062271628],[-1.4717608981871E-4,.0021404187242141,7.1486567806614E-4]],[58400,[.6781367635199,43.0944616393616,13.2432387807209],[-.0022358226110718,-6.3233636090933E-4,4.7664798895648E-4]],[87600,[-18.2826020968342,-23.3050395866603,-1.7666205080281],[.0025567245263557,-.0019902940754171,-.0013943491701082]],[116800,[43.8733387445258,7.7007056172154,-10.8142736664251],[2.3174803055677E-4,.0022402163127924,6.2988756452032E-4]], -[146E3,[7.3929490279056,44.3826789515344,11.6295002148543],[-.002193281545383,-2.1751799585364E-4,5.9556516201114E-4]],[175200,[-24.9816902292606,-16.2040128514258,2.4664575442976],[.001819398914958,-.0026765419531201,-.0013848283502247]],[204400,[42.5301870395114,.8459355080215,-12.5549075276829],[6.5059779150669E-4,.0022725657282262,5.1133743202822E-4]],[233600,[13.9995264868224,44.4623630448942,9.6694184864653],[-.0021079296569252,1.7533423831993E-4,6.9128485798076E-4]],[262800,[-29.1840248030306, --7.3712439957619,6.493275957928],[9.3581363109681E-4,-.0030610357109184,-.0012364201089345]],[292E3,[39.8319806717528,-6.0784057667647,-13.9098153586562],[.0011117769689167,.0022362097830152,3.6230548231153E-4]],[321200,[20.2949551084758,43.4171904202513,7.4500919859316],[-.0019742157451535,5.3102050468554E-4,7.5938408813008E-4]],[350400,[-30.6699923021597,2.3187435589549,9.973480913858],[4.5605107450676E-5,-.0031308219926928,-9.9066533301924E-4]],[379600,[35.626122155983,-12.8976475092243,-14.7775865084436], -[.0016015684949743,.0021171931182284,1.8002516202204E-4]],[408800,[26.1331861485607,41.232139187599,5.0064013262205],[-.0017857704419579,8.6046232702817E-4,8.0614690298954E-4]],[438E3,[-29.5767402292299,11.8635359435865,12.6313230398719],[-7.2292830060955E-4,-.0029587820140709,-7.08242964503E-4]],[467200,[29.9108057873914,-19.1590192939999,-15.0133638651945],[.0020871080437997,.0018848372554514,-3.8528655083926E-5]],[496400,[31.3759574518189,38.0503727207625,2.4331383437537],[-.0015546055556611,.0011699815465629, -8.3565439266001E-4]],[525600,[-26.3600713369277,20.6625059049518,14.4146962589584],[-.0013142373118349,-.0026236647854842,-4.2542017598193E-4]],[554800,[22.599441488648,-24.5088798983064,-14.484045731468],[.0025454108304806,.0014917058755191,-3.0243665086079E-4]],[584E3,[35.8778640130144,33.8942263660709,-.2245246362769],[-.0012941245730845,.0014560427668319,8.4762160640137E-4]],[613200,[-21.5381497624167,28.2040682697607,15.3219737995345],[-.001731211740901,-.0021939631314577,-1.631691327518E-4]], -[642400,[13.9715213744146,-28.3399417647887,-13.0837928718857],[.0029334630526035,9.1860931752944E-4,-5.9939422488627E-4]],[671600,[39.5269420441426,28.9398973601104,-2.8727995275393],[-.0010068481658095,.001702113288809,8.3578230511981E-4]],[700800,[-15.5762007013935,34.3994129612753,15.466033737854],[-.0020098814612884,-.0017191109825989,7.0414782780416E-5]],[73E4,[4.2432528370899,-30.1182016908248,-10.7074412313491],[.0031725847067411,1.609846120227E-4,-9.0672150593868E-4]]],F=function(a,b,c){this.x= -a;this.y=b;this.z=c};F.prototype.ToAstroVector=function(a){return new C(this.x,this.y,this.z,a)};F.prototype.quadrature=function(){return this.x*this.x+this.y*this.y+this.z*this.z};F.prototype.add=function(a){return new F(this.x+a.x,this.y+a.y,this.z+a.z)};F.prototype.sub=function(a){return new F(this.x-a.x,this.y-a.y,this.z-a.z)};F.prototype.incr=function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z};F.prototype.decr=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z};F.prototype.mul=function(a){return new F(a* -this.x,a*this.y,a*this.z)};F.prototype.div=function(a){return new F(this.x/a,this.y/a,this.z/a)};F.prototype.mean=function(a){return new F((this.x+a.x)/2,(this.y+a.y)/2,(this.z+a.z)/2)};var $a=function(a,b,c){this.tt=a;this.r=b;this.v=c},pa=function(a){var b=new $a(a,new F(0,0,0),new F(0,0,0));this.Jupiter=bb(b,a,q.Jupiter,2.825345909524226E-7);this.Saturn=bb(b,a,q.Saturn,8.459715185680659E-8);this.Uranus=bb(b,a,q.Uranus,1.292024916781969E-8);this.Neptune=bb(b,a,q.Neptune,1.524358900784276E-8);this.Jupiter.r.decr(b.r); -this.Jupiter.v.decr(b.v);this.Saturn.r.decr(b.r);this.Saturn.v.decr(b.v);this.Uranus.r.decr(b.r);this.Uranus.v.decr(b.v);this.Neptune.r.decr(b.r);this.Neptune.v.decr(b.v);this.Sun=new $a(a,b.r.mul(-1),b.v.mul(-1))};pa.prototype.Acceleration=function(a){var b=Ia(a,2.959122082855911E-4,this.Sun.r);b.incr(Ia(a,2.825345909524226E-7,this.Jupiter.r));b.incr(Ia(a,8.459715185680659E-8,this.Saturn.r));b.incr(Ia(a,1.292024916781969E-8,this.Uranus.r));b.incr(Ia(a,1.524358900784276E-8,this.Neptune.r));return b}; -var Yb=function(a,b,c,d){this.tt=a;this.r=b;this.v=c;this.a=d},Zb=function(a,b){this.bary=a;this.grav=b},ub=[],bd=new J([[.9994327653386544,-.03367710746976414,0],[.030395942890628476,.902057912352809,.43054338854229507],[-.014499455966335291,-.43029916940910073,.902569881273754]]),cd=[{mu:2.82489428433814E-7,al:[1.446213296021224,3.5515522861824],a:[[.0028210960212903,0,0]],l:[[-1.925258348666E-4,4.9369589722645,.01358483658305],[-9.70803596076E-5,4.3188796477322,.01303413843243],[-8.988174165E-5, -1.9080016428617,.00305064867158],[-5.53101050262E-5,1.4936156681569,.01293892891155]],z:[[.0041510849668155,4.089939635545,-.01290686414666],[6.260521444113E-4,1.446188898627,3.5515522949802],[3.52747346169E-5,2.1256287034578,1.2727416567E-4]],zeta:[[3.142172466014E-4,2.7964219722923,-.002315096098],[9.04169207946E-5,1.0477061879627,-5.6920638196E-4]]},{mu:2.82483274392893E-7,al:[-.3735263437471362,1.76932271112347],a:[[.0044871037804314,0,0],[4.324367498E-7,1.819645606291,1.7822295777568]],l:[[8.576433172936E-4, -4.3188693178264,.01303413830805],[4.549582875086E-4,1.4936531751079,.01293892881962],[3.248939825174E-4,1.8196494533458,1.7822295777568],[-3.074250079334E-4,4.9377037005911,.01358483286724],[1.982386144784E-4,1.907986905476,.00305101212869],[1.834063551804E-4,2.1402853388529,.00145009789338],[-1.434383188452E-4,5.622214036663,.89111478887838],[-7.71939140944E-5,4.300272437235,2.6733443704266]],z:[[-.0093589104136341,4.0899396509039,-.01290686414666],[2.988994545555E-4,5.9097265185595,1.7693227079462], -[2.13903639035E-4,2.1256289300016,1.2727418407E-4],[1.980963564781E-4,2.743516829265,6.7797343009E-4],[1.210388158965E-4,5.5839943711203,3.20566149E-5],[8.37042048393E-5,1.6094538368039,-.90402165808846],[8.23525166369E-5,1.4461887708689,3.5515522949802]],zeta:[[.0040404917832303,1.0477063169425,-5.692064054E-4],[2.200421034564E-4,3.3368857864364,-1.2491307307E-4],[1.662544744719E-4,2.4134862374711,0],[5.90282470983E-5,5.9719930968366,-3.056160225E-5]]},{mu:2.82498184184723E-7,al:[.2874089391143348, -.878207923589328],a:[[.0071566594572575,0,0],[1.393029911E-6,1.1586745884981,2.6733443704266]],l:[[2.310797886226E-4,2.1402987195942,.00145009784384],[-1.828635964118E-4,4.3188672736968,.01303413828263],[1.512378778204E-4,4.9373102372298,.01358483481252],[-1.163720969778E-4,4.300265986149,2.6733443704266],[-9.55478069846E-5,1.4936612842567,.01293892879857],[8.15246854464E-5,5.6222137132535,.89111478887838],[-8.01219679602E-5,1.2995922951532,1.0034433456729],[-6.07017260182E-5,.64978769669238,.50172167043264]], -z:[[.0014289811307319,2.1256295942739,1.2727413029E-4],[7.71093122676E-4,5.5836330003496,3.20643411E-5],[5.925911780766E-4,4.0899396636448,-.01290686414666],[2.045597496146E-4,5.2713683670372,-.12523544076106],[1.785118648258E-4,.28743156721063,.8782079244252],[1.131999784893E-4,1.4462127277818,3.5515522949802],[-6.5877816921E-5,2.2702423990985,-1.7951364394537],[4.97058888328E-5,5.9096792204858,1.7693227129285]],zeta:[[.0015932721570848,3.3368862796665,-1.2491307058E-4],[8.533093128905E-4,2.4133881688166, -0],[3.513347911037E-4,5.9720789850127,-3.056101771E-5],[-1.441929255483E-4,1.0477061764435,-5.6920632124E-4]]},{mu:2.82492144889909E-7,al:[-.3620341291375704,.376486233433828],a:[[.0125879701715314,0,0],[3.595204947E-6,.64965776007116,.50172168165034],[2.7580210652E-6,1.808423578151,3.1750660413359]],l:[[5.586040123824E-4,2.1404207189815,.00145009793231],[-3.805813868176E-4,2.7358844897853,2.972965062E-5],[2.205152863262E-4,.649796525964,.5017216724358],[1.877895151158E-4,1.8084787604005,3.1750660413359], -[7.66916975242E-5,6.2720114319755,1.3928364636651],[7.47056855106E-5,1.2995916202344,1.0034433456729]],z:[[.0073755808467977,5.5836071576084,3.206509914E-5],[2.065924169942E-4,5.9209831565786,.37648624194703],[1.589869764021E-4,.28744006242623,.8782079244252],[-1.561131605348E-4,2.1257397865089,1.2727441285E-4],[1.486043380971E-4,1.4462134301023,3.5515522949802],[6.35073108731E-5,5.9096803285954,1.7693227129285],[5.99351698525E-5,4.1125517584798,-2.7985797954589],[5.40660842731E-5,5.5390350845569, -.00286834082283],[-4.89596900866E-5,4.6218149483338,-.62695712529519]],zeta:[[.0038422977898495,2.4133922085557,0],[.0022453891791894,5.9721736773277,-3.056125525E-5],[-2.604479450559E-4,3.3368746306409,-1.2491309972E-4],[3.3211214323E-5,5.5604137742337,.00290037688507]]}],Jc=function(a){this.moon=a};e.JupiterMoonsInfo=Jc;e.JupiterMoons=function(a){a=new O(a);for(var b=[],c=$jscomp.makeIterator(cd),d=c.next();!d.done;d=c.next()){var f=b,h=f.push;d=d.value;for(var l=a.tt+18262.5,k=[0,d.al[0]+l*d.al[1], -0,0,0,0],g=$jscomp.makeIterator(d.a),m=g.next();!m.done;m=g.next()){var n=$jscomp.makeIterator(m.value);m=n.next().value;var p=n.next().value;n=n.next().value;k[0]+=m*Math.cos(p+l*n)}g=$jscomp.makeIterator(d.l);for(m=g.next();!m.done;m=g.next())n=$jscomp.makeIterator(m.value),m=n.next().value,p=n.next().value,n=n.next().value,k[1]+=m*Math.sin(p+l*n);k[1]%=P;0>k[1]&&(k[1]+=P);g=$jscomp.makeIterator(d.z);for(m=g.next();!m.done;m=g.next())n=$jscomp.makeIterator(m.value),m=n.next().value,p=n.next().value, -n=n.next().value,p+=l*n,k[2]+=m*Math.cos(p),k[3]+=m*Math.sin(p);g=$jscomp.makeIterator(d.zeta);for(m=g.next();!m.done;m=g.next())n=$jscomp.makeIterator(m.value),m=n.next().value,p=n.next().value,n=n.next().value,p+=l*n,k[4]+=m*Math.cos(p),k[5]+=m*Math.sin(p);g=k[0];n=k[1];m=k[2];p=k[3];l=k[4];k=k[5];var t=Math.sqrt(d.mu/(g*g*g));d=n+m*Math.sin(n)-p*Math.cos(n);do{var x=Math.cos(d);var A=Math.sin(d);x=(n-d+m*A-p*x)/(1-m*x-p*A);d+=x}while(1E-12<=Math.abs(x));x=Math.cos(d);A=Math.sin(d);n=p*x-m*A;var z= --m*x-p*A,ea=1/(1+z),R=1/(1+Math.sqrt(1-m*m-p*p));d=g*(x-m-R*p*n);n=g*(A-p+R*m*n);p=t*ea*g*(-A-R*p*z);g=t*ea*g*(+x+R*m*z);m=2*Math.sqrt(1-l*l-k*k);t=1-2*k*k;x=1-2*l*l;A=2*k*l;d=new L(d*t+n*A,d*A+n*x,(l*n-d*k)*m,p*t+g*A,p*A+g*x,(l*g-p*k)*m,a);d=xa(bd,d);h.call(f,d)}return new Jc(b)};e.HelioVector=Ja;e.HelioDistance=ja;e.GeoVector=ba;e.BaryState=function(a,b){b=w(b);if(a===q.SSB)return new L(0,0,0,0,0,0,b);if(a===q.Pluto)return tb(b,!1);var c=new pa(b.tt);switch(a){case q.Sun:return qa(c.Sun,b);case q.Jupiter:return qa(c.Jupiter, -b);case q.Saturn:return qa(c.Saturn,b);case q.Uranus:return qa(c.Uranus,b);case q.Neptune:return qa(c.Neptune,b);case q.Moon:case q.EMB:var d=Ha(G[q.Earth],b.tt);a=a===q.Moon?Za(b):ob(b);return new L(a.x+c.Sun.r.x+d.r.x,a.y+c.Sun.r.y+d.r.y,a.z+c.Sun.r.z+d.r.z,a.vx+c.Sun.v.x+d.v.x,a.vy+c.Sun.v.y+d.v.y,a.vz+c.Sun.v.z+d.v.z,b)}if(a in G)return a=Ha(G[a],b.tt),new L(c.Sun.r.x+a.r.x,c.Sun.r.y+a.r.y,c.Sun.r.z+a.r.z,c.Sun.v.x+a.v.x,c.Sun.v.y+a.v.y,c.Sun.v.z+a.v.z,b);throw'BaryState: Unsupported body "'+ -a+'"';};e.HelioState=function(a,b){b=w(b);switch(a){case q.Sun:return new L(0,0,0,0,0,0,b);case q.SSB:return a=new pa(b.tt),new L(-a.Sun.r.x,-a.Sun.r.y,-a.Sun.r.z,-a.Sun.v.x,-a.Sun.v.y,-a.Sun.v.z,b);case q.Mercury:case q.Venus:case q.Earth:case q.Mars:case q.Jupiter:case q.Saturn:case q.Uranus:case q.Neptune:return a=Ha(G[a],b.tt),qa(a,b);case q.Pluto:return tb(b,!0);case q.Moon:case q.EMB:var c=Ha(G.Earth,b.tt);a=a==q.Moon?Za(b):ob(b);return new L(a.x+c.r.x,a.y+c.r.y,a.z+c.r.z,a.vx+c.v.x,a.vy+c.v.y, -a.vz+c.v.z,b);default:throw'HelioState: Unsupported body "'+a+'"';}};e.Search=I;e.SearchSunLongitude=bc;e.PairLongitude=vb;e.AngleFromSun=ta;e.EclipticLongitude=ka;var cc=function(a,b,c,d,f,h,l,k){this.time=a;this.mag=b;this.phase_angle=c;this.helio_dist=d;this.geo_dist=f;this.gc=h;this.hc=l;this.ring_tilt=k;this.phase_fraction=(1+Math.cos(e.DEG2RAD*c))/2};e.IlluminationInfo=cc;e.Illumination=db;e.SearchRelativeLongitude=ua;e.MoonPhase=wb;e.SearchMoonPhase=La;var ec=function(a,b){this.quarter=a;this.time= -b};e.MoonQuarter=ec;e.SearchMoonQuarter=dc;e.NextMoonQuarter=function(a){a=new Date(a.time.date.getTime()+5184E5);return dc(a)};e.SearchRiseSet=function(a,b,c,d,f){a:switch(a){case q.Sun:var h=Zc;break a;case q.Moon:h=$c;break a;default:h=0}return fc(a,b,c,d,f,function(l){var k=Fa(a,l,b,!0,!0);l=Da(l,b,k.ra,k.dec).altitude+h/k.dist*e.RAD2DEG+ad;return c*l})};e.SearchAltitude=function(a,b,c,d,f,h){if(!Number.isFinite(h)||-90>h||90=++f;){var h=ka(a,b),l=ka(q.Earth,b),k=ra(h-l),g=h=l=void 0;k>=-d.s1&&k<+d.s1?(g=0,l=+d.s1,h=+d.s2):k>=+d.s2||k<-d.s2?(g=0,l=-d.s2,h=-d.s1):0<=k?(g=-Ka(a)/4,l=+d.s1,h=+d.s2):(g=-Ka(a)/4,l=-d.s2,h=-d.s1);k=b.AddDays(g);l=ua(a,l,k);h=ua(a,h,l);k=c(l);if(0<=k)throw"SearchMaxElongation: internal error: m1 = "+k;g=c(h);if(0>=g)throw"SearchMaxElongation: internal error: m2 = "+g;k=I(c,l,h,{init_f1:k,init_f2:g,dt_tolerance_seconds:10});if(!k)throw"SearchMaxElongation: failed search iter "+ -f+" (t1="+l.toString()+", t2="+h.toString()+")";if(k.tt>=b.tt)return hc(a,k);b=h.AddDays(1)}throw"SearchMaxElongation: failed to find event after 2 tries.";};e.SearchPeakMagnitude=function(a,b){function c(g){var m=g.AddDays(-.005);g=g.AddDays(.005);m=db(a,m).mag;return(db(a,g).mag-m)/.01}if(a!==q.Venus)throw"SearchPeakMagnitude currently works for Venus only.";b=w(b);for(var d=0;2>=++d;){var f=ka(a,b),h=ka(q.Earth,b),l=ra(f-h),k=f=h=void 0;-10<=l&&10>l?(k=0,h=10,f=30):30<=l||-30>l?(k=0,h=-30,f=-10): -0<=l?(k=-Ka(a)/4,h=10,f=30):(k=-Ka(a)/4,h=-30,f=-10);l=b.AddDays(k);h=ua(a,h,l);f=ua(a,f,h);l=c(h);if(0<=l)throw"SearchPeakMagnitude: internal error: m1 = "+l;k=c(f);if(0>=k)throw"SearchPeakMagnitude: internal error: m2 = "+k;l=I(c,h,f,{init_f1:l,init_f2:k,dt_tolerance_seconds:10});if(!l)throw"SearchPeakMagnitude: failed search iter "+d+" (t1="+h.toString()+", t2="+f.toString()+")";if(l.tt>=b.tt)return db(a,l);b=f.AddDays(1)}throw"SearchPeakMagnitude: failed to find event after 2 tries.";};var Na= -function(a,b,c){this.time=a;this.kind=b;this.dist_au=c;this.dist_km=c*e.KM_PER_AU};e.Apsis=Na;e.SearchLunarApsis=jc;e.NextLunarApsis=function(a){var b=jc(a.time.AddDays(11));if(1!==b.kind+a.kind)throw"NextLunarApsis INTERNAL ERROR: did not find alternating apogee/perigee: prev="+a.kind+" @ "+a.time.toString()+", next="+b.kind+" @ "+b.time.toString();return b};e.SearchPlanetApsis=lc;e.NextPlanetApsis=function(a,b){if(0!==b.kind&&1!==b.kind)throw"Invalid apsis kind: "+b.kind;var c=b.time.AddDays(.25* -ca[a].OrbitalPeriod);a=lc(a,c);if(1!==a.kind+b.kind)throw"Internal error: previous apsis was "+b.kind+", but found "+a.kind+" for next apsis.";return a};e.InverseRotation=va;e.CombineRotation=wa;e.IdentityMatrix=function(){return new J([[1,0,0],[0,1,0],[0,0,1]])};e.Pivot=function(a,b,c){if(0!==b&&1!==b&&2!==b)throw"Invalid axis "+b+". Must be [0, 1, 2].";var d=v(c)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);var f=(b+1)%3,h=(b+2)%3,l=[[0,0,0],[0,0,0],[0,0,0]];l[f][f]=c*a.rot[f][f]-d*a.rot[f][h];l[f][h]= -d*a.rot[f][f]+c*a.rot[f][h];l[f][b]=a.rot[f][b];l[h][f]=c*a.rot[h][f]-d*a.rot[h][h];l[h][h]=d*a.rot[h][f]+c*a.rot[h][h];l[h][b]=a.rot[h][b];l[b][f]=c*a.rot[b][f]-d*a.rot[b][h];l[b][h]=d*a.rot[b][f]+c*a.rot[b][h];l[b][b]=a.rot[b][b];return new J(l)};e.VectorFromSphere=xb;e.EquatorFromVector=yb;e.SphereFromVector=zb;e.HorizonFromVector=function(a,b){a=zb(a);a.lon=mc(a.lon);a.lat+=Ea(b,a.lat);return a};e.VectorFromHorizon=function(a,b,c){b=w(b);var d=mc(a.lon);c=a.lat+nc(c,a.lat);a=new eb(c,d,a.dist); -return xb(a,b)};e.Refraction=Ea;e.InverseRefraction=nc;e.RotateVector=Oa;e.RotateState=xa;e.Rotation_EQJ_ECL=oc;e.Rotation_ECL_EQJ=function(){return new J([[1,0,0],[0,.9174821430670688,.3977769691083922],[0,-.3977769691083922,.9174821430670688]])};e.Rotation_EQJ_EQD=Ab;e.Rotation_EQD_EQJ=Bb;e.Rotation_EQD_HOR=Cb;e.Rotation_HOR_EQD=pc;e.Rotation_HOR_EQJ=qc;e.Rotation_EQJ_HOR=function(a,b){a=qc(a,b);return va(a)};e.Rotation_EQD_ECL=rc;e.Rotation_ECL_EQD=sc;e.Rotation_ECL_HOR=tc;e.Rotation_HOR_ECL=function(a, -b){a=tc(a,b);return va(a)};e.Rotation_EQJ_GAL=function(){return new J([[-.0548624779711344,.4941095946388765,-.8676668813529025],[-.8734572784246782,-.4447938112296831,-.1980677870294097],[-.483800052994852,.7470034631630423,.4559861124470794]])};e.Rotation_GAL_EQJ=function(){return new J([[-.0548624779711344,-.8734572784246782,-.483800052994852],[.4941095946388765,-.4447938112296831,.7470034631630423],[-.8676668813529025,-.1980677870294097,.4559861124470794]])};var dd=[["And","Andromeda"],["Ant", -"Antila"],["Aps","Apus"],["Aql","Aquila"],["Aqr","Aquarius"],["Ara","Ara"],["Ari","Aries"],["Aur","Auriga"],["Boo","Bootes"],["Cae","Caelum"],["Cam","Camelopardis"],["Cap","Capricornus"],["Car","Carina"],["Cas","Cassiopeia"],["Cen","Centaurus"],["Cep","Cepheus"],["Cet","Cetus"],["Cha","Chamaeleon"],["Cir","Circinus"],["CMa","Canis Major"],["CMi","Canis Minor"],["Cnc","Cancer"],["Col","Columba"],["Com","Coma Berenices"],["CrA","Corona Australis"],["CrB","Corona Borealis"],["Crt","Crater"],["Cru","Crux"], -["Crv","Corvus"],["CVn","Canes Venatici"],["Cyg","Cygnus"],["Del","Delphinus"],["Dor","Dorado"],["Dra","Draco"],["Equ","Equuleus"],["Eri","Eridanus"],["For","Fornax"],["Gem","Gemini"],["Gru","Grus"],["Her","Hercules"],["Hor","Horologium"],["Hya","Hydra"],["Hyi","Hydrus"],["Ind","Indus"],["Lac","Lacerta"],["Leo","Leo"],["Lep","Lepus"],["Lib","Libra"],["LMi","Leo Minor"],["Lup","Lupus"],["Lyn","Lynx"],["Lyr","Lyra"],["Men","Mensa"],["Mic","Microscopium"],["Mon","Monoceros"],["Mus","Musca"],["Nor","Norma"], -["Oct","Octans"],["Oph","Ophiuchus"],["Ori","Orion"],["Pav","Pavo"],["Peg","Pegasus"],["Per","Perseus"],["Phe","Phoenix"],["Pic","Pictor"],["PsA","Pisces Austrinus"],["Psc","Pisces"],["Pup","Puppis"],["Pyx","Pyxis"],["Ret","Reticulum"],["Scl","Sculptor"],["Sco","Scorpius"],["Sct","Scutum"],["Ser","Serpens"],["Sex","Sextans"],["Sge","Sagitta"],["Sgr","Sagittarius"],["Tau","Taurus"],["Tel","Telescopium"],["TrA","Triangulum Australe"],["Tri","Triangulum"],["Tuc","Tucana"],["UMa","Ursa Major"],["UMi", -"Ursa Minor"],["Vel","Vela"],["Vir","Virgo"],["Vol","Volans"],["Vul","Vulpecula"]],ed=[[83,0,8640,2112],[83,2880,5220,2076],[83,7560,8280,2068],[83,6480,7560,2064],[15,0,2880,2040],[10,3300,3840,1968],[15,0,1800,1920],[10,3840,5220,1920],[83,6300,6480,1920],[33,7260,7560,1920],[15,0,1263,1848],[10,4140,4890,1848],[83,5952,6300,1800],[15,7260,7440,1800],[10,2868,3300,1764],[33,3300,4080,1764],[83,4680,5952,1680],[13,1116,1230,1632],[33,7350,7440,1608],[33,4080,4320,1596],[15,0,120,1584],[83,5040,5640, -1584],[15,8490,8640,1584],[33,4320,4860,1536],[33,4860,5190,1512],[15,8340,8490,1512],[10,2196,2520,1488],[33,7200,7350,1476],[15,7393.2,7416,1462],[10,2520,2868,1440],[82,2868,3030,1440],[33,7116,7200,1428],[15,7200,7393.2,1428],[15,8232,8340,1418],[13,0,876,1404],[33,6990,7116,1392],[13,612,687,1380],[13,876,1116,1368],[10,1116,1140,1368],[15,8034,8232,1350],[10,1800,2196,1344],[82,5052,5190,1332],[33,5190,6990,1332],[10,1140,1200,1320],[15,7968,8034,1320],[15,7416,7908,1316],[13,0,612,1296],[50, -2196,2340,1296],[82,4350,4860,1272],[33,5490,5670,1272],[15,7908,7968,1266],[10,1200,1800,1260],[13,8232,8400,1260],[33,5670,6120,1236],[62,735,906,1212],[33,6120,6564,1212],[13,0,492,1200],[62,492,600,1200],[50,2340,2448,1200],[13,8400,8640,1200],[82,4860,5052,1164],[13,0,402,1152],[13,8490,8640,1152],[39,6543,6564,1140],[33,6564,6870,1140],[30,6870,6900,1140],[62,600,735,1128],[82,3030,3300,1128],[13,60,312,1104],[82,4320,4350,1080],[50,2448,2652,1068],[30,7887,7908,1056],[30,7875,7887,1050],[30, -6900,6984,1044],[82,3300,3660,1008],[82,3660,3882,960],[8,5556,5670,960],[39,5670,5880,960],[50,3330,3450,954],[0,0,906,882],[62,906,924,882],[51,6969,6984,876],[62,1620,1689,864],[30,7824,7875,864],[44,7875,7920,864],[7,2352,2652,852],[50,2652,2790,852],[0,0,720,840],[44,7920,8214,840],[44,8214,8232,828],[0,8232,8460,828],[62,924,978,816],[82,3882,3960,816],[29,4320,4440,816],[50,2790,3330,804],[48,3330,3558,804],[0,258,507,792],[8,5466,5556,792],[0,8460,8550,770],[29,4440,4770,768],[0,8550,8640, -752],[29,5025,5052,738],[80,870,978,736],[62,978,1620,736],[7,1620,1710,720],[51,6543,6969,720],[82,3960,4320,696],[30,7080,7530,696],[7,1710,2118,684],[48,3558,3780,684],[29,4770,5025,684],[0,0,24,672],[80,507,600,672],[7,2118,2352,672],[37,2838,2880,672],[30,7530,7824,672],[30,6933,7080,660],[80,690,870,654],[25,5820,5880,648],[8,5430,5466,624],[25,5466,5820,624],[51,6612,6792,624],[48,3870,3960,612],[51,6792,6933,612],[80,600,690,600],[66,258,306,570],[48,3780,3870,564],[87,7650,7710,564],[77, -2052,2118,548],[0,24,51,528],[73,5730,5772,528],[37,2118,2238,516],[87,7140,7290,510],[87,6792,6930,506],[0,51,306,504],[87,7290,7404,492],[37,2811,2838,480],[87,7404,7650,468],[87,6930,7140,460],[6,1182,1212,456],[75,6792,6840,444],[59,2052,2076,432],[37,2238,2271,420],[75,6840,7140,388],[77,1788,1920,384],[39,5730,5790,384],[75,7140,7290,378],[77,1662,1788,372],[77,1920,2016,372],[23,4620,4860,360],[39,6210,6570,344],[23,4272,4620,336],[37,2700,2811,324],[39,6030,6210,308],[61,0,51,300],[77,2016, -2076,300],[37,2520,2700,300],[61,7602,7680,300],[37,2271,2496,288],[39,6570,6792,288],[31,7515,7578,284],[61,7578,7602,284],[45,4146,4272,264],[59,2247,2271,240],[37,2496,2520,240],[21,2811,2853,240],[61,8580,8640,240],[6,600,1182,238],[31,7251,7308,204],[8,4860,5430,192],[61,8190,8580,180],[21,2853,3330,168],[45,3330,3870,168],[58,6570,6718.4,150],[3,6718.4,6792,150],[31,7500,7515,144],[20,2520,2526,132],[73,6570,6633,108],[39,5790,6030,96],[58,6570,6633,72],[61,7728,7800,66],[66,0,720,48],[73,6690, -6792,48],[31,7308,7500,48],[34,7500,7680,48],[61,7680,7728,48],[61,7920,8190,48],[61,7800,7920,42],[20,2526,2592,36],[77,1290,1662,0],[59,1662,1680,0],[20,2592,2910,0],[85,5280,5430,0],[58,6420,6570,0],[16,954,1182,-42],[77,1182,1290,-42],[73,5430,5856,-78],[59,1680,1830,-96],[59,2100,2247,-96],[73,6420,6468,-96],[73,6570,6690,-96],[3,6690,6792,-96],[66,8190,8580,-96],[45,3870,4146,-144],[85,4146,4260,-144],[66,0,120,-168],[66,8580,8640,-168],[85,5130,5280,-192],[58,5730,5856,-192],[3,7200,7392,-216], -[4,7680,7872,-216],[58,6180,6468,-240],[54,2100,2910,-264],[35,1770,1830,-264],[59,1830,2100,-264],[41,2910,3012,-264],[74,3450,3870,-264],[85,4260,4620,-264],[58,6330,6360,-280],[3,6792,7200,-288.8],[35,1740,1770,-348],[4,7392,7680,-360],[73,6180,6570,-384],[72,6570,6792,-384],[41,3012,3090,-408],[58,5856,5895,-438],[41,3090,3270,-456],[26,3870,3900,-456],[71,5856,5895,-462],[47,5640,5730,-480],[28,4530,4620,-528],[85,4620,5130,-528],[41,3270,3510,-576],[16,600,954,-585.2],[35,954,1350,-585.2],[26, -3900,4260,-588],[28,4260,4530,-588],[47,5130,5370,-588],[58,5856,6030,-590],[16,0,600,-612],[11,7680,7872,-612],[4,7872,8580,-612],[16,8580,8640,-612],[41,3510,3690,-636],[35,1692,1740,-654],[46,1740,2202,-654],[11,7200,7680,-672],[41,3690,3810,-700],[41,4530,5370,-708],[47,5370,5640,-708],[71,5640,5760,-708],[35,1650,1692,-720],[58,6030,6336,-720],[76,6336,6420,-720],[41,3810,3900,-748],[19,2202,2652,-792],[41,4410,4530,-792],[41,3900,4410,-840],[36,1260,1350,-864],[68,3012,3372,-882],[35,1536,1650, --888],[76,6420,6900,-888],[65,7680,8280,-888],[70,8280,8400,-888],[36,1080,1260,-950],[1,3372,3960,-954],[70,0,600,-960],[36,600,1080,-960],[35,1392,1536,-960],[70,8400,8640,-960],[14,5100,5370,-1008],[49,5640,5760,-1008],[71,5760,5911.5,-1008],[9,1740,1800,-1032],[22,1800,2370,-1032],[67,2880,3012,-1032],[35,1230,1392,-1056],[71,5911.5,6420,-1092],[24,6420,6900,-1092],[76,6900,7320,-1092],[53,7320,7680,-1092],[35,1080,1230,-1104],[9,1620,1740,-1116],[49,5520,5640,-1152],[63,0,840,-1156],[35,960, -1080,-1176],[40,1470,1536,-1176],[9,1536,1620,-1176],[38,7680,7920,-1200],[67,2160,2880,-1218],[84,2880,2940,-1218],[35,870,960,-1224],[40,1380,1470,-1224],[63,0,660,-1236],[12,2160,2220,-1260],[84,2940,3042,-1272],[40,1260,1380,-1276],[32,1380,1440,-1276],[63,0,570,-1284],[35,780,870,-1296],[64,1620,1800,-1296],[49,5418,5520,-1296],[84,3042,3180,-1308],[12,2220,2340,-1320],[14,4260,4620,-1320],[49,5100,5418,-1320],[56,5418,5520,-1320],[32,1440,1560,-1356],[84,3180,3960,-1356],[14,3960,4050,-1356], -[5,6300,6480,-1368],[78,6480,7320,-1368],[38,7920,8400,-1368],[40,1152,1260,-1380],[64,1800,1980,-1380],[12,2340,2460,-1392],[63,0,480,-1404],[35,480,780,-1404],[63,8400,8640,-1404],[32,1560,1650,-1416],[56,5520,5911.5,-1440],[43,7320,7680,-1440],[64,1980,2160,-1464],[18,5460,5520,-1464],[5,5911.5,5970,-1464],[18,5370,5460,-1526],[5,5970,6030,-1526],[64,2160,2460,-1536],[12,2460,3252,-1536],[14,4050,4260,-1536],[27,4260,4620,-1536],[14,4620,5232,-1536],[18,4860,4920,-1560],[5,6030,6060,-1560],[40, -780,1152,-1620],[69,1152,1650,-1620],[18,5310,5370,-1620],[5,6060,6300,-1620],[60,6300,6480,-1620],[81,7920,8400,-1620],[32,1650,2370,-1680],[18,4920,5310,-1680],[79,5310,6120,-1680],[81,0,480,-1800],[42,1260,1650,-1800],[86,2370,3252,-1800],[12,3252,4050,-1800],[55,4050,4920,-1800],[60,6480,7680,-1800],[43,7680,8400,-1800],[81,8400,8640,-1800],[81,270,480,-1824],[42,0,1260,-1980],[17,2760,4920,-1980],[2,4920,6480,-1980],[52,1260,2760,-2040],[57,0,8640,-2160]],Hb,Lc,Mc=function(a,b,c,d){this.symbol= -a;this.name=b;this.ra1875=c;this.dec1875=d};e.ConstellationInfo=Mc;e.Constellation=function(a,b){v(a);v(b);if(-90>b||90a&&(a+=24);Hb||(Hb=Ab(new O(-45655.74141261017)),Lc=new O(0));a=new eb(b,15*a,1);a=xb(a,Lc);a=Oa(Hb,a);a=yb(a);b=10/240;for(var c=b/15,d=$jscomp.makeIterator(ed),f=d.next();!f.done;f=d.next()){f=f.value;var h=f[1]*c,l=f[2]*c;if(f[3]*b<=a.dec&&h<=a.ra&&a.raMath.abs(b)?d/f-.9933056020041345*l:a/b-l}return new mb(h,c,1E3*d)};e.ObserverGravity=function(a,b){a=Math.sin(a*e.DEG2RAD);a*=a;return 9.7803253359*(1+.00193185265241*a)/Math.sqrt(1-.00669437999013*a)*(1-(3.15704E-7-2.10269E-9*a)*b+7.37452E-14*b*b)};e.Ecliptic=Ga;e.GeoMoon=V;e.GeoMoonState=Za;e.GeoEmbState=ob;var ia=[[-73E4,[-26.118207232108,-14.376168177825,3.384402515299], +[.0016339372163656,-.0027861699588508,-.0013585880229445]],[-700800,[41.974905202127,-.448502952929,-12.770351505989],[7.3458569351457E-4,.0022785014891658,4.8619778602049E-4]],[-671600,[14.706930780744,44.269110540027,9.353698474772],[-.00210001479998,2.2295915939915E-4,7.0143443551414E-4]],[-642400,[-29.441003929957,-6.43016153057,6.858481011305],[8.4495803960544E-4,-.0030783914758711,-.0012106305981192]],[-613200,[39.444396946234,-6.557989760571,-13.913760296463],[.0011480029005873,.0022400006880665, +3.5168075922288E-4]],[-584E3,[20.2303809507,43.266966657189,7.382966091923],[-.0019754081700585,5.3457141292226E-4,7.5929169129793E-4]],[-554800,[-30.65832536462,2.093818874552,9.880531138071],[6.1010603013347E-5,-.0031326500935382,-9.9346125151067E-4]],[-525600,[35.737703251673,-12.587706024764,-14.677847247563],[.0015802939375649,.0021347678412429,1.9074436384343E-4]],[-496400,[25.466295188546,41.367478338417,5.216476873382],[-.0018054401046468,8.328308359951E-4,8.0260156912107E-4]],[-467200,[-29.847174904071, +10.636426313081,12.297904180106],[-6.3257063052907E-4,-.0029969577578221,-7.4476074151596E-4]],[-438E3,[30.774692107687,-18.236637015304,-14.945535879896],[.0020113162005465,.0019353827024189,-2.0937793168297E-6]],[-408800,[30.243153324028,38.656267888503,2.938501750218],[-.0016052508674468,.0011183495337525,8.3333973416824E-4]],[-379600,[-27.288984772533,18.643162147874,14.023633623329],[-.0011856388898191,-.0027170609282181,-4.9015526126399E-4]],[-350400,[24.519605196774,-23.245756064727,-14.626862367368], +[.0024322321483154,.0016062008146048,-2.3369181613312E-4]],[-321200,[34.505274805875,35.125338586954,.557361475637],[-.0013824391637782,.0013833397561817,8.4823598806262E-4]],[-292E3,[-23.275363915119,25.818514298769,15.055381588598],[-.0016062295460975,-.0023395961498533,-2.4377362639479E-4]],[-262800,[17.050384798092,-27.180376290126,-13.608963321694],[.0028175521080578,.0011358749093955,-4.9548725258825E-4]],[-233600,[38.093671910285,30.880588383337,-1.843688067413],[-.0011317697153459,.0016128814698472, +8.4177586176055E-4]],[-204400,[-18.197852930878,31.932869934309,15.438294826279],[-.0019117272501813,-.0019146495909842,-1.9657304369835E-5]],[-175200,[8.528924039997,-29.618422200048,-11.805400994258],[.0031034370787005,5.139363329243E-4,-7.7293066202546E-4]],[-146E3,[40.94685725864,25.904973592021,-4.256336240499],[-8.3652705194051E-4,.0018129497136404,8.156422827306E-4]],[-116800,[-12.326958895325,36.881883446292,15.217158258711],[-.0021166103705038,-.001481442003599,1.7401209844705E-4]],[-87600, +[-.633258375909,-30.018759794709,-9.17193287495],[.0032016994581737,-2.5279858672148E-4,-.0010411088271861]],[-58400,[42.936048423883,20.344685584452,-6.588027007912],[-5.0525450073192E-4,.0019910074335507,7.7440196540269E-4]],[-29200,[-5.975910552974,40.61180995846,14.470131723673],[-.0022184202156107,-.0010562361130164,3.3652250216211E-4]],[0,[-9.875369580774,-27.978926224737,-5.753711824704],[.0030287533248818,-.0011276087003636,-.0012651326732361]],[29200,[43.958831986165,14.214147973292,-8.808306227163], +[-1.4717608981871E-4,.0021404187242141,7.1486567806614E-4]],[58400,[.67813676352,43.094461639362,13.243238780721],[-.0022358226110718,-6.3233636090933E-4,4.7664798895648E-4]],[87600,[-18.282602096834,-23.30503958666,-1.766620508028],[.0025567245263557,-.0019902940754171,-.0013943491701082]],[116800,[43.873338744526,7.700705617215,-10.814273666425],[2.3174803055677E-4,.0022402163127924,6.2988756452032E-4]],[146E3,[7.392949027906,44.382678951534,11.629500214854],[-.002193281545383,-2.1751799585364E-4, +5.9556516201114E-4]],[175200,[-24.981690229261,-16.204012851426,2.466457544298],[.001819398914958,-.0026765419531201,-.0013848283502247]],[204400,[42.530187039511,.845935508021,-12.554907527683],[6.5059779150669E-4,.0022725657282262,5.1133743202822E-4]],[233600,[13.999526486822,44.462363044894,9.669418486465],[-.0021079296569252,1.7533423831993E-4,6.9128485798076E-4]],[262800,[-29.184024803031,-7.371243995762,6.493275957928],[9.3581363109681E-4,-.0030610357109184,-.0012364201089345]],[292E3,[39.831980671753, +-6.078405766765,-13.909815358656],[.0011117769689167,.0022362097830152,3.6230548231153E-4]],[321200,[20.294955108476,43.417190420251,7.450091985932],[-.0019742157451535,5.3102050468554E-4,7.5938408813008E-4]],[350400,[-30.66999230216,2.318743558955,9.973480913858],[4.5605107450676E-5,-.0031308219926928,-9.9066533301924E-4]],[379600,[35.626122155983,-12.897647509224,-14.777586508444],[.0016015684949743,.0021171931182284,1.8002516202204E-4]],[408800,[26.133186148561,41.232139187599,5.00640132622],[-.0017857704419579, +8.6046232702817E-4,8.0614690298954E-4]],[438E3,[-29.57674022923,11.863535943587,12.631323039872],[-7.2292830060955E-4,-.0029587820140709,-7.08242964503E-4]],[467200,[29.910805787391,-19.159019294,-15.013363865194],[.0020871080437997,.0018848372554514,-3.8528655083926E-5]],[496400,[31.375957451819,38.050372720763,2.433138343754],[-.0015546055556611,.0011699815465629,8.3565439266001E-4]],[525600,[-26.360071336928,20.662505904952,14.414696258958],[-.0013142373118349,-.0026236647854842,-4.2542017598193E-4]], +[554800,[22.599441488648,-24.508879898306,-14.484045731468],[.0025454108304806,.0014917058755191,-3.0243665086079E-4]],[584E3,[35.877864013014,33.894226366071,-.224524636277],[-.0012941245730845,.0014560427668319,8.4762160640137E-4]],[613200,[-21.538149762417,28.204068269761,15.321973799534],[-.001731211740901,-.0021939631314577,-1.631691327518E-4]],[642400,[13.971521374415,-28.339941764789,-13.083792871886],[.0029334630526035,9.1860931752944E-4,-5.9939422488627E-4]],[671600,[39.526942044143,28.93989736011, +-2.872799527539],[-.0010068481658095,.001702113288809,8.3578230511981E-4]],[700800,[-15.576200701394,34.399412961275,15.466033737854],[-.0020098814612884,-.0017191109825989,7.0414782780416E-5]],[73E4,[4.24325283709,-30.118201690825,-10.707441231349],[.0031725847067411,1.609846120227E-4,-9.0672150593868E-4]]],F=function(a,b,c){this.x=a;this.y=b;this.z=c};F.prototype.ToAstroVector=function(a){return new C(this.x,this.y,this.z,a)};F.prototype.quadrature=function(){return this.x*this.x+this.y*this.y+ +this.z*this.z};F.prototype.add=function(a){return new F(this.x+a.x,this.y+a.y,this.z+a.z)};F.prototype.sub=function(a){return new F(this.x-a.x,this.y-a.y,this.z-a.z)};F.prototype.incr=function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z};F.prototype.decr=function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z};F.prototype.mul=function(a){return new F(a*this.x,a*this.y,a*this.z)};F.prototype.div=function(a){return new F(this.x/a,this.y/a,this.z/a)};F.prototype.mean=function(a){return new F((this.x+a.x)/2,(this.y+ +a.y)/2,(this.z+a.z)/2)};var $a=function(a,b,c){this.tt=a;this.r=b;this.v=c},pa=function(a){var b=new $a(a,new F(0,0,0),new F(0,0,0));this.Jupiter=bb(b,a,q.Jupiter,2.825345909524226E-7);this.Saturn=bb(b,a,q.Saturn,8.459715185680659E-8);this.Uranus=bb(b,a,q.Uranus,1.292024916781969E-8);this.Neptune=bb(b,a,q.Neptune,1.524358900784276E-8);this.Jupiter.r.decr(b.r);this.Jupiter.v.decr(b.v);this.Saturn.r.decr(b.r);this.Saturn.v.decr(b.v);this.Uranus.r.decr(b.r);this.Uranus.v.decr(b.v);this.Neptune.r.decr(b.r); +this.Neptune.v.decr(b.v);this.Sun=new $a(a,b.r.mul(-1),b.v.mul(-1))};pa.prototype.Acceleration=function(a){var b=Ia(a,2.959122082855911E-4,this.Sun.r);b.incr(Ia(a,2.825345909524226E-7,this.Jupiter.r));b.incr(Ia(a,8.459715185680659E-8,this.Saturn.r));b.incr(Ia(a,1.292024916781969E-8,this.Uranus.r));b.incr(Ia(a,1.524358900784276E-8,this.Neptune.r));return b};var Yb=function(a,b,c,d){this.tt=a;this.r=b;this.v=c;this.a=d},Zb=function(a,b){this.bary=a;this.grav=b},ub=[],bd=new J([[.9994327653386544,-.03367710746976414, +0],[.03039594289062848,.902057912352809,.4305433885422951],[-.01449945596633529,-.4302991694091007,.902569881273754]]),cd=[{mu:2.82489428433814E-7,al:[1.446213296021224,3.5515522861824],a:[[.0028210960212903,0,0]],l:[[-1.925258348666E-4,4.9369589722645,.01358483658305],[-9.70803596076E-5,4.3188796477322,.01303413843243],[-8.988174165E-5,1.9080016428617,.00305064867158],[-5.53101050262E-5,1.4936156681569,.01293892891155]],z:[[.0041510849668155,4.089939635545,-.01290686414666],[6.260521444113E-4,1.446188898627, +3.5515522949802],[3.52747346169E-5,2.1256287034578,1.2727416567E-4]],zeta:[[3.142172466014E-4,2.7964219722923,-.002315096098],[9.04169207946E-5,1.0477061879627,-5.6920638196E-4]]},{mu:2.82483274392893E-7,al:[-.3735263437471362,1.76932271112347],a:[[.0044871037804314,0,0],[4.324367498E-7,1.819645606291,1.7822295777568]],l:[[8.576433172936E-4,4.3188693178264,.01303413830805],[4.549582875086E-4,1.4936531751079,.01293892881962],[3.248939825174E-4,1.8196494533458,1.7822295777568],[-3.074250079334E-4,4.9377037005911, +.01358483286724],[1.982386144784E-4,1.907986905476,.00305101212869],[1.834063551804E-4,2.1402853388529,.00145009789338],[-1.434383188452E-4,5.622214036663,.89111478887838],[-7.71939140944E-5,4.300272437235,2.6733443704266]],z:[[-.0093589104136341,4.0899396509039,-.01290686414666],[2.988994545555E-4,5.9097265185595,1.7693227079462],[2.13903639035E-4,2.1256289300016,1.2727418407E-4],[1.980963564781E-4,2.743516829265,6.7797343009E-4],[1.210388158965E-4,5.5839943711203,3.20566149E-5],[8.37042048393E-5, +1.6094538368039,-.90402165808846],[8.23525166369E-5,1.4461887708689,3.5515522949802]],zeta:[[.0040404917832303,1.0477063169425,-5.692064054E-4],[2.200421034564E-4,3.3368857864364,-1.2491307307E-4],[1.662544744719E-4,2.4134862374711,0],[5.90282470983E-5,5.9719930968366,-3.056160225E-5]]},{mu:2.82498184184723E-7,al:[.2874089391143348,.878207923589328],a:[[.0071566594572575,0,0],[1.393029911E-6,1.1586745884981,2.6733443704266]],l:[[2.310797886226E-4,2.1402987195942,.00145009784384],[-1.828635964118E-4, +4.3188672736968,.01303413828263],[1.512378778204E-4,4.9373102372298,.01358483481252],[-1.163720969778E-4,4.300265986149,2.6733443704266],[-9.55478069846E-5,1.4936612842567,.01293892879857],[8.15246854464E-5,5.6222137132535,.89111478887838],[-8.01219679602E-5,1.2995922951532,1.0034433456729],[-6.07017260182E-5,.64978769669238,.50172167043264]],z:[[.0014289811307319,2.1256295942739,1.2727413029E-4],[7.71093122676E-4,5.5836330003496,3.20643411E-5],[5.925911780766E-4,4.0899396636448,-.01290686414666], +[2.045597496146E-4,5.2713683670372,-.12523544076106],[1.785118648258E-4,.28743156721063,.8782079244252],[1.131999784893E-4,1.4462127277818,3.5515522949802],[-6.5877816921E-5,2.2702423990985,-1.7951364394537],[4.97058888328E-5,5.9096792204858,1.7693227129285]],zeta:[[.0015932721570848,3.3368862796665,-1.2491307058E-4],[8.533093128905E-4,2.4133881688166,0],[3.513347911037E-4,5.9720789850127,-3.056101771E-5],[-1.441929255483E-4,1.0477061764435,-5.6920632124E-4]]},{mu:2.82492144889909E-7,al:[-.3620341291375704, +.376486233433828],a:[[.0125879701715314,0,0],[3.595204947E-6,.64965776007116,.50172168165034],[2.7580210652E-6,1.808423578151,3.1750660413359]],l:[[5.586040123824E-4,2.1404207189815,.00145009793231],[-3.805813868176E-4,2.7358844897853,2.972965062E-5],[2.205152863262E-4,.649796525964,.5017216724358],[1.877895151158E-4,1.8084787604005,3.1750660413359],[7.66916975242E-5,6.2720114319755,1.3928364636651],[7.47056855106E-5,1.2995916202344,1.0034433456729]],z:[[.0073755808467977,5.5836071576084,3.206509914E-5], +[2.065924169942E-4,5.9209831565786,.37648624194703],[1.589869764021E-4,.28744006242623,.8782079244252],[-1.561131605348E-4,2.1257397865089,1.2727441285E-4],[1.486043380971E-4,1.4462134301023,3.5515522949802],[6.35073108731E-5,5.9096803285954,1.7693227129285],[5.99351698525E-5,4.1125517584798,-2.7985797954589],[5.40660842731E-5,5.5390350845569,.00286834082283],[-4.89596900866E-5,4.6218149483338,-.62695712529519]],zeta:[[.0038422977898495,2.4133922085557,0],[.0022453891791894,5.9721736773277,-3.056125525E-5], +[-2.604479450559E-4,3.3368746306409,-1.2491309972E-4],[3.3211214323E-5,5.5604137742337,.00290037688507]]}],Jc=function(a){this.moon=a};e.JupiterMoonsInfo=Jc;e.JupiterMoons=function(a){a=new O(a);for(var b=[],c=$jscomp.makeIterator(cd),d=c.next();!d.done;d=c.next()){var f=b,h=f.push;d=d.value;for(var l=a.tt+18262.5,k=[0,d.al[0]+l*d.al[1],0,0,0,0],g=$jscomp.makeIterator(d.a),m=g.next();!m.done;m=g.next()){var n=$jscomp.makeIterator(m.value);m=n.next().value;var p=n.next().value;n=n.next().value;k[0]+= +m*Math.cos(p+l*n)}g=$jscomp.makeIterator(d.l);for(m=g.next();!m.done;m=g.next())n=$jscomp.makeIterator(m.value),m=n.next().value,p=n.next().value,n=n.next().value,k[1]+=m*Math.sin(p+l*n);k[1]%=P;0>k[1]&&(k[1]+=P);g=$jscomp.makeIterator(d.z);for(m=g.next();!m.done;m=g.next())n=$jscomp.makeIterator(m.value),m=n.next().value,p=n.next().value,n=n.next().value,p+=l*n,k[2]+=m*Math.cos(p),k[3]+=m*Math.sin(p);g=$jscomp.makeIterator(d.zeta);for(m=g.next();!m.done;m=g.next())n=$jscomp.makeIterator(m.value), +m=n.next().value,p=n.next().value,n=n.next().value,p+=l*n,k[4]+=m*Math.cos(p),k[5]+=m*Math.sin(p);g=k[0];n=k[1];m=k[2];p=k[3];l=k[4];k=k[5];var t=Math.sqrt(d.mu/(g*g*g));d=n+m*Math.sin(n)-p*Math.cos(n);do{var x=Math.cos(d);var A=Math.sin(d);x=(n-d+m*A-p*x)/(1-m*x-p*A);d+=x}while(1E-12<=Math.abs(x));x=Math.cos(d);A=Math.sin(d);n=p*x-m*A;var z=-m*x-p*A,ea=1/(1+z),R=1/(1+Math.sqrt(1-m*m-p*p));d=g*(x-m-R*p*n);n=g*(A-p+R*m*n);p=t*ea*g*(-A-R*p*z);g=t*ea*g*(+x+R*m*z);m=2*Math.sqrt(1-l*l-k*k);t=1-2*k*k;x= +1-2*l*l;A=2*k*l;d=new L(d*t+n*A,d*A+n*x,(l*n-d*k)*m,p*t+g*A,p*A+g*x,(l*g-p*k)*m,a);d=xa(bd,d);h.call(f,d)}return new Jc(b)};e.HelioVector=Ja;e.HelioDistance=ja;e.GeoVector=ba;e.BaryState=function(a,b){b=w(b);if(a===q.SSB)return new L(0,0,0,0,0,0,b);if(a===q.Pluto)return tb(b,!1);var c=new pa(b.tt);switch(a){case q.Sun:return qa(c.Sun,b);case q.Jupiter:return qa(c.Jupiter,b);case q.Saturn:return qa(c.Saturn,b);case q.Uranus:return qa(c.Uranus,b);case q.Neptune:return qa(c.Neptune,b);case q.Moon:case q.EMB:var d= +Ha(G[q.Earth],b.tt);a=a===q.Moon?Za(b):ob(b);return new L(a.x+c.Sun.r.x+d.r.x,a.y+c.Sun.r.y+d.r.y,a.z+c.Sun.r.z+d.r.z,a.vx+c.Sun.v.x+d.v.x,a.vy+c.Sun.v.y+d.v.y,a.vz+c.Sun.v.z+d.v.z,b)}if(a in G)return a=Ha(G[a],b.tt),new L(c.Sun.r.x+a.r.x,c.Sun.r.y+a.r.y,c.Sun.r.z+a.r.z,c.Sun.v.x+a.v.x,c.Sun.v.y+a.v.y,c.Sun.v.z+a.v.z,b);throw'BaryState: Unsupported body "'+a+'"';};e.HelioState=function(a,b){b=w(b);switch(a){case q.Sun:return new L(0,0,0,0,0,0,b);case q.SSB:return a=new pa(b.tt),new L(-a.Sun.r.x,-a.Sun.r.y, +-a.Sun.r.z,-a.Sun.v.x,-a.Sun.v.y,-a.Sun.v.z,b);case q.Mercury:case q.Venus:case q.Earth:case q.Mars:case q.Jupiter:case q.Saturn:case q.Uranus:case q.Neptune:return a=Ha(G[a],b.tt),qa(a,b);case q.Pluto:return tb(b,!0);case q.Moon:case q.EMB:var c=Ha(G.Earth,b.tt);a=a==q.Moon?Za(b):ob(b);return new L(a.x+c.r.x,a.y+c.r.y,a.z+c.r.z,a.vx+c.v.x,a.vy+c.v.y,a.vz+c.v.z,b);default:throw'HelioState: Unsupported body "'+a+'"';}};e.Search=I;e.SearchSunLongitude=bc;e.PairLongitude=vb;e.AngleFromSun=ta;e.EclipticLongitude= +ka;var cc=function(a,b,c,d,f,h,l,k){this.time=a;this.mag=b;this.phase_angle=c;this.helio_dist=d;this.geo_dist=f;this.gc=h;this.hc=l;this.ring_tilt=k;this.phase_fraction=(1+Math.cos(e.DEG2RAD*c))/2};e.IlluminationInfo=cc;e.Illumination=db;e.SearchRelativeLongitude=ua;e.MoonPhase=wb;e.SearchMoonPhase=La;var ec=function(a,b){this.quarter=a;this.time=b};e.MoonQuarter=ec;e.SearchMoonQuarter=dc;e.NextMoonQuarter=function(a){a=new Date(a.time.date.getTime()+5184E5);return dc(a)};e.SearchRiseSet=function(a, +b,c,d,f){a:switch(a){case q.Sun:var h=Zc;break a;case q.Moon:h=$c;break a;default:h=0}return fc(a,b,c,d,f,function(l){var k=Fa(a,l,b,!0,!0);l=Da(l,b,k.ra,k.dec).altitude+h/k.dist*e.RAD2DEG+ad;return c*l})};e.SearchAltitude=function(a,b,c,d,f,h){if(!Number.isFinite(h)||-90>h||90=++f;){var h=ka(a,b),l=ka(q.Earth,b),k=ra(h- +l),g=h=l=void 0;k>=-d.s1&&k<+d.s1?(g=0,l=+d.s1,h=+d.s2):k>=+d.s2||k<-d.s2?(g=0,l=-d.s2,h=-d.s1):0<=k?(g=-Ka(a)/4,l=+d.s1,h=+d.s2):(g=-Ka(a)/4,l=-d.s2,h=-d.s1);k=b.AddDays(g);l=ua(a,l,k);h=ua(a,h,l);k=c(l);if(0<=k)throw"SearchMaxElongation: internal error: m1 = "+k;g=c(h);if(0>=g)throw"SearchMaxElongation: internal error: m2 = "+g;k=I(c,l,h,{init_f1:k,init_f2:g,dt_tolerance_seconds:10});if(!k)throw"SearchMaxElongation: failed search iter "+f+" (t1="+l.toString()+", t2="+h.toString()+")";if(k.tt>=b.tt)return hc(a, +k);b=h.AddDays(1)}throw"SearchMaxElongation: failed to find event after 2 tries.";};e.SearchPeakMagnitude=function(a,b){function c(g){var m=g.AddDays(-.005);g=g.AddDays(.005);m=db(a,m).mag;return(db(a,g).mag-m)/.01}if(a!==q.Venus)throw"SearchPeakMagnitude currently works for Venus only.";b=w(b);for(var d=0;2>=++d;){var f=ka(a,b),h=ka(q.Earth,b),l=ra(f-h),k=f=h=void 0;-10<=l&&10>l?(k=0,h=10,f=30):30<=l||-30>l?(k=0,h=-30,f=-10):0<=l?(k=-Ka(a)/4,h=10,f=30):(k=-Ka(a)/4,h=-30,f=-10);l=b.AddDays(k);h=ua(a, +h,l);f=ua(a,f,h);l=c(h);if(0<=l)throw"SearchPeakMagnitude: internal error: m1 = "+l;k=c(f);if(0>=k)throw"SearchPeakMagnitude: internal error: m2 = "+k;l=I(c,h,f,{init_f1:l,init_f2:k,dt_tolerance_seconds:10});if(!l)throw"SearchPeakMagnitude: failed search iter "+d+" (t1="+h.toString()+", t2="+f.toString()+")";if(l.tt>=b.tt)return db(a,l);b=f.AddDays(1)}throw"SearchPeakMagnitude: failed to find event after 2 tries.";};var Na=function(a,b,c){this.time=a;this.kind=b;this.dist_au=c;this.dist_km=c*e.KM_PER_AU}; +e.Apsis=Na;e.SearchLunarApsis=jc;e.NextLunarApsis=function(a){var b=jc(a.time.AddDays(11));if(1!==b.kind+a.kind)throw"NextLunarApsis INTERNAL ERROR: did not find alternating apogee/perigee: prev="+a.kind+" @ "+a.time.toString()+", next="+b.kind+" @ "+b.time.toString();return b};e.SearchPlanetApsis=lc;e.NextPlanetApsis=function(a,b){if(0!==b.kind&&1!==b.kind)throw"Invalid apsis kind: "+b.kind;var c=b.time.AddDays(.25*ca[a].OrbitalPeriod);a=lc(a,c);if(1!==a.kind+b.kind)throw"Internal error: previous apsis was "+ +b.kind+", but found "+a.kind+" for next apsis.";return a};e.InverseRotation=va;e.CombineRotation=wa;e.IdentityMatrix=function(){return new J([[1,0,0],[0,1,0],[0,0,1]])};e.Pivot=function(a,b,c){if(0!==b&&1!==b&&2!==b)throw"Invalid axis "+b+". Must be [0, 1, 2].";var d=v(c)*e.DEG2RAD;c=Math.cos(d);d=Math.sin(d);var f=(b+1)%3,h=(b+2)%3,l=[[0,0,0],[0,0,0],[0,0,0]];l[f][f]=c*a.rot[f][f]-d*a.rot[f][h];l[f][h]=d*a.rot[f][f]+c*a.rot[f][h];l[f][b]=a.rot[f][b];l[h][f]=c*a.rot[h][f]-d*a.rot[h][h];l[h][h]=d* +a.rot[h][f]+c*a.rot[h][h];l[h][b]=a.rot[h][b];l[b][f]=c*a.rot[b][f]-d*a.rot[b][h];l[b][h]=d*a.rot[b][f]+c*a.rot[b][h];l[b][b]=a.rot[b][b];return new J(l)};e.VectorFromSphere=xb;e.EquatorFromVector=yb;e.SphereFromVector=zb;e.HorizonFromVector=function(a,b){a=zb(a);a.lon=mc(a.lon);a.lat+=Ea(b,a.lat);return a};e.VectorFromHorizon=function(a,b,c){b=w(b);var d=mc(a.lon);c=a.lat+nc(c,a.lat);a=new eb(c,d,a.dist);return xb(a,b)};e.Refraction=Ea;e.InverseRefraction=nc;e.RotateVector=Oa;e.RotateState=xa;e.Rotation_EQJ_ECL= +oc;e.Rotation_ECL_EQJ=function(){return new J([[1,0,0],[0,.9174821430670688,.3977769691083922],[0,-.3977769691083922,.9174821430670688]])};e.Rotation_EQJ_EQD=Ab;e.Rotation_EQD_EQJ=Bb;e.Rotation_EQD_HOR=Cb;e.Rotation_HOR_EQD=pc;e.Rotation_HOR_EQJ=qc;e.Rotation_EQJ_HOR=function(a,b){a=qc(a,b);return va(a)};e.Rotation_EQD_ECL=rc;e.Rotation_ECL_EQD=sc;e.Rotation_ECL_HOR=tc;e.Rotation_HOR_ECL=function(a,b){a=tc(a,b);return va(a)};e.Rotation_EQJ_GAL=function(){return new J([[-.0548624779711344,.4941095946388765, +-.8676668813529025],[-.8734572784246782,-.4447938112296831,-.1980677870294097],[-.483800052994852,.7470034631630423,.4559861124470794]])};e.Rotation_GAL_EQJ=function(){return new J([[-.0548624779711344,-.8734572784246782,-.483800052994852],[.4941095946388765,-.4447938112296831,.7470034631630423],[-.8676668813529025,-.1980677870294097,.4559861124470794]])};var dd=[["And","Andromeda"],["Ant","Antila"],["Aps","Apus"],["Aql","Aquila"],["Aqr","Aquarius"],["Ara","Ara"],["Ari","Aries"],["Aur","Auriga"], +["Boo","Bootes"],["Cae","Caelum"],["Cam","Camelopardis"],["Cap","Capricornus"],["Car","Carina"],["Cas","Cassiopeia"],["Cen","Centaurus"],["Cep","Cepheus"],["Cet","Cetus"],["Cha","Chamaeleon"],["Cir","Circinus"],["CMa","Canis Major"],["CMi","Canis Minor"],["Cnc","Cancer"],["Col","Columba"],["Com","Coma Berenices"],["CrA","Corona Australis"],["CrB","Corona Borealis"],["Crt","Crater"],["Cru","Crux"],["Crv","Corvus"],["CVn","Canes Venatici"],["Cyg","Cygnus"],["Del","Delphinus"],["Dor","Dorado"],["Dra", +"Draco"],["Equ","Equuleus"],["Eri","Eridanus"],["For","Fornax"],["Gem","Gemini"],["Gru","Grus"],["Her","Hercules"],["Hor","Horologium"],["Hya","Hydra"],["Hyi","Hydrus"],["Ind","Indus"],["Lac","Lacerta"],["Leo","Leo"],["Lep","Lepus"],["Lib","Libra"],["LMi","Leo Minor"],["Lup","Lupus"],["Lyn","Lynx"],["Lyr","Lyra"],["Men","Mensa"],["Mic","Microscopium"],["Mon","Monoceros"],["Mus","Musca"],["Nor","Norma"],["Oct","Octans"],["Oph","Ophiuchus"],["Ori","Orion"],["Pav","Pavo"],["Peg","Pegasus"],["Per","Perseus"], +["Phe","Phoenix"],["Pic","Pictor"],["PsA","Pisces Austrinus"],["Psc","Pisces"],["Pup","Puppis"],["Pyx","Pyxis"],["Ret","Reticulum"],["Scl","Sculptor"],["Sco","Scorpius"],["Sct","Scutum"],["Ser","Serpens"],["Sex","Sextans"],["Sge","Sagitta"],["Sgr","Sagittarius"],["Tau","Taurus"],["Tel","Telescopium"],["TrA","Triangulum Australe"],["Tri","Triangulum"],["Tuc","Tucana"],["UMa","Ursa Major"],["UMi","Ursa Minor"],["Vel","Vela"],["Vir","Virgo"],["Vol","Volans"],["Vul","Vulpecula"]],ed=[[83,0,8640,2112], +[83,2880,5220,2076],[83,7560,8280,2068],[83,6480,7560,2064],[15,0,2880,2040],[10,3300,3840,1968],[15,0,1800,1920],[10,3840,5220,1920],[83,6300,6480,1920],[33,7260,7560,1920],[15,0,1263,1848],[10,4140,4890,1848],[83,5952,6300,1800],[15,7260,7440,1800],[10,2868,3300,1764],[33,3300,4080,1764],[83,4680,5952,1680],[13,1116,1230,1632],[33,7350,7440,1608],[33,4080,4320,1596],[15,0,120,1584],[83,5040,5640,1584],[15,8490,8640,1584],[33,4320,4860,1536],[33,4860,5190,1512],[15,8340,8490,1512],[10,2196,2520, +1488],[33,7200,7350,1476],[15,7393.2,7416,1462],[10,2520,2868,1440],[82,2868,3030,1440],[33,7116,7200,1428],[15,7200,7393.2,1428],[15,8232,8340,1418],[13,0,876,1404],[33,6990,7116,1392],[13,612,687,1380],[13,876,1116,1368],[10,1116,1140,1368],[15,8034,8232,1350],[10,1800,2196,1344],[82,5052,5190,1332],[33,5190,6990,1332],[10,1140,1200,1320],[15,7968,8034,1320],[15,7416,7908,1316],[13,0,612,1296],[50,2196,2340,1296],[82,4350,4860,1272],[33,5490,5670,1272],[15,7908,7968,1266],[10,1200,1800,1260],[13, +8232,8400,1260],[33,5670,6120,1236],[62,735,906,1212],[33,6120,6564,1212],[13,0,492,1200],[62,492,600,1200],[50,2340,2448,1200],[13,8400,8640,1200],[82,4860,5052,1164],[13,0,402,1152],[13,8490,8640,1152],[39,6543,6564,1140],[33,6564,6870,1140],[30,6870,6900,1140],[62,600,735,1128],[82,3030,3300,1128],[13,60,312,1104],[82,4320,4350,1080],[50,2448,2652,1068],[30,7887,7908,1056],[30,7875,7887,1050],[30,6900,6984,1044],[82,3300,3660,1008],[82,3660,3882,960],[8,5556,5670,960],[39,5670,5880,960],[50,3330, +3450,954],[0,0,906,882],[62,906,924,882],[51,6969,6984,876],[62,1620,1689,864],[30,7824,7875,864],[44,7875,7920,864],[7,2352,2652,852],[50,2652,2790,852],[0,0,720,840],[44,7920,8214,840],[44,8214,8232,828],[0,8232,8460,828],[62,924,978,816],[82,3882,3960,816],[29,4320,4440,816],[50,2790,3330,804],[48,3330,3558,804],[0,258,507,792],[8,5466,5556,792],[0,8460,8550,770],[29,4440,4770,768],[0,8550,8640,752],[29,5025,5052,738],[80,870,978,736],[62,978,1620,736],[7,1620,1710,720],[51,6543,6969,720],[82, +3960,4320,696],[30,7080,7530,696],[7,1710,2118,684],[48,3558,3780,684],[29,4770,5025,684],[0,0,24,672],[80,507,600,672],[7,2118,2352,672],[37,2838,2880,672],[30,7530,7824,672],[30,6933,7080,660],[80,690,870,654],[25,5820,5880,648],[8,5430,5466,624],[25,5466,5820,624],[51,6612,6792,624],[48,3870,3960,612],[51,6792,6933,612],[80,600,690,600],[66,258,306,570],[48,3780,3870,564],[87,7650,7710,564],[77,2052,2118,548],[0,24,51,528],[73,5730,5772,528],[37,2118,2238,516],[87,7140,7290,510],[87,6792,6930, +506],[0,51,306,504],[87,7290,7404,492],[37,2811,2838,480],[87,7404,7650,468],[87,6930,7140,460],[6,1182,1212,456],[75,6792,6840,444],[59,2052,2076,432],[37,2238,2271,420],[75,6840,7140,388],[77,1788,1920,384],[39,5730,5790,384],[75,7140,7290,378],[77,1662,1788,372],[77,1920,2016,372],[23,4620,4860,360],[39,6210,6570,344],[23,4272,4620,336],[37,2700,2811,324],[39,6030,6210,308],[61,0,51,300],[77,2016,2076,300],[37,2520,2700,300],[61,7602,7680,300],[37,2271,2496,288],[39,6570,6792,288],[31,7515,7578, +284],[61,7578,7602,284],[45,4146,4272,264],[59,2247,2271,240],[37,2496,2520,240],[21,2811,2853,240],[61,8580,8640,240],[6,600,1182,238],[31,7251,7308,204],[8,4860,5430,192],[61,8190,8580,180],[21,2853,3330,168],[45,3330,3870,168],[58,6570,6718.4,150],[3,6718.4,6792,150],[31,7500,7515,144],[20,2520,2526,132],[73,6570,6633,108],[39,5790,6030,96],[58,6570,6633,72],[61,7728,7800,66],[66,0,720,48],[73,6690,6792,48],[31,7308,7500,48],[34,7500,7680,48],[61,7680,7728,48],[61,7920,8190,48],[61,7800,7920,42], +[20,2526,2592,36],[77,1290,1662,0],[59,1662,1680,0],[20,2592,2910,0],[85,5280,5430,0],[58,6420,6570,0],[16,954,1182,-42],[77,1182,1290,-42],[73,5430,5856,-78],[59,1680,1830,-96],[59,2100,2247,-96],[73,6420,6468,-96],[73,6570,6690,-96],[3,6690,6792,-96],[66,8190,8580,-96],[45,3870,4146,-144],[85,4146,4260,-144],[66,0,120,-168],[66,8580,8640,-168],[85,5130,5280,-192],[58,5730,5856,-192],[3,7200,7392,-216],[4,7680,7872,-216],[58,6180,6468,-240],[54,2100,2910,-264],[35,1770,1830,-264],[59,1830,2100,-264], +[41,2910,3012,-264],[74,3450,3870,-264],[85,4260,4620,-264],[58,6330,6360,-280],[3,6792,7200,-288.8],[35,1740,1770,-348],[4,7392,7680,-360],[73,6180,6570,-384],[72,6570,6792,-384],[41,3012,3090,-408],[58,5856,5895,-438],[41,3090,3270,-456],[26,3870,3900,-456],[71,5856,5895,-462],[47,5640,5730,-480],[28,4530,4620,-528],[85,4620,5130,-528],[41,3270,3510,-576],[16,600,954,-585.2],[35,954,1350,-585.2],[26,3900,4260,-588],[28,4260,4530,-588],[47,5130,5370,-588],[58,5856,6030,-590],[16,0,600,-612],[11, +7680,7872,-612],[4,7872,8580,-612],[16,8580,8640,-612],[41,3510,3690,-636],[35,1692,1740,-654],[46,1740,2202,-654],[11,7200,7680,-672],[41,3690,3810,-700],[41,4530,5370,-708],[47,5370,5640,-708],[71,5640,5760,-708],[35,1650,1692,-720],[58,6030,6336,-720],[76,6336,6420,-720],[41,3810,3900,-748],[19,2202,2652,-792],[41,4410,4530,-792],[41,3900,4410,-840],[36,1260,1350,-864],[68,3012,3372,-882],[35,1536,1650,-888],[76,6420,6900,-888],[65,7680,8280,-888],[70,8280,8400,-888],[36,1080,1260,-950],[1,3372, +3960,-954],[70,0,600,-960],[36,600,1080,-960],[35,1392,1536,-960],[70,8400,8640,-960],[14,5100,5370,-1008],[49,5640,5760,-1008],[71,5760,5911.5,-1008],[9,1740,1800,-1032],[22,1800,2370,-1032],[67,2880,3012,-1032],[35,1230,1392,-1056],[71,5911.5,6420,-1092],[24,6420,6900,-1092],[76,6900,7320,-1092],[53,7320,7680,-1092],[35,1080,1230,-1104],[9,1620,1740,-1116],[49,5520,5640,-1152],[63,0,840,-1156],[35,960,1080,-1176],[40,1470,1536,-1176],[9,1536,1620,-1176],[38,7680,7920,-1200],[67,2160,2880,-1218], +[84,2880,2940,-1218],[35,870,960,-1224],[40,1380,1470,-1224],[63,0,660,-1236],[12,2160,2220,-1260],[84,2940,3042,-1272],[40,1260,1380,-1276],[32,1380,1440,-1276],[63,0,570,-1284],[35,780,870,-1296],[64,1620,1800,-1296],[49,5418,5520,-1296],[84,3042,3180,-1308],[12,2220,2340,-1320],[14,4260,4620,-1320],[49,5100,5418,-1320],[56,5418,5520,-1320],[32,1440,1560,-1356],[84,3180,3960,-1356],[14,3960,4050,-1356],[5,6300,6480,-1368],[78,6480,7320,-1368],[38,7920,8400,-1368],[40,1152,1260,-1380],[64,1800,1980, +-1380],[12,2340,2460,-1392],[63,0,480,-1404],[35,480,780,-1404],[63,8400,8640,-1404],[32,1560,1650,-1416],[56,5520,5911.5,-1440],[43,7320,7680,-1440],[64,1980,2160,-1464],[18,5460,5520,-1464],[5,5911.5,5970,-1464],[18,5370,5460,-1526],[5,5970,6030,-1526],[64,2160,2460,-1536],[12,2460,3252,-1536],[14,4050,4260,-1536],[27,4260,4620,-1536],[14,4620,5232,-1536],[18,4860,4920,-1560],[5,6030,6060,-1560],[40,780,1152,-1620],[69,1152,1650,-1620],[18,5310,5370,-1620],[5,6060,6300,-1620],[60,6300,6480,-1620], +[81,7920,8400,-1620],[32,1650,2370,-1680],[18,4920,5310,-1680],[79,5310,6120,-1680],[81,0,480,-1800],[42,1260,1650,-1800],[86,2370,3252,-1800],[12,3252,4050,-1800],[55,4050,4920,-1800],[60,6480,7680,-1800],[43,7680,8400,-1800],[81,8400,8640,-1800],[81,270,480,-1824],[42,0,1260,-1980],[17,2760,4920,-1980],[2,4920,6480,-1980],[52,1260,2760,-2040],[57,0,8640,-2160]],Hb,Lc,Mc=function(a,b,c,d){this.symbol=a;this.name=b;this.ra1875=c;this.dec1875=d};e.ConstellationInfo=Mc;e.Constellation=function(a,b){v(a); +v(b);if(-90>b||90a&&(a+=24);Hb||(Hb=Ab(new O(-45655.74141261017)),Lc=new O(0));a=new eb(b,15*a,1);a=xb(a,Lc);a=Oa(Hb,a);a=yb(a);b=10/240;for(var c=b/15,d=$jscomp.makeIterator(ed),f=d.next();!f.done;f=d.next()){f=f.value;var h=f[1]*c,l=f[2]*c;if(f[3]*b<=a.dec&&h<=a.ra&&a.raPlutoStateTable[P 1]).grav;for(d=PLUTO_NSTEPS-2;0