UNPKG

24.3 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.iapetus = exports.hyperion = exports.titan = exports.rhea = exports.dione = exports.tethys = exports.enceladus = exports.mimas = undefined;
7
8var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); /**
9 * @copyright 2013 Sonia Keys
10 * @copyright 2016 commenthol
11 * @license MIT
12 * @module saturnmoons
13 */
14/**
15 * Saturnmoons: Chapter 46, Positions of the Satellites of Saturn
16 */
17
18exports.positions = positions;
19exports.Qs = Qs;
20
21var _base = require('./base');
22
23var _base2 = _interopRequireDefault(_base);
24
25var _coord = require('./coord');
26
27var _coord2 = _interopRequireDefault(_coord);
28
29var _planetposition = require('./planetposition');
30
31var _planetposition2 = _interopRequireDefault(_planetposition);
32
33var _precess = require('./precess');
34
35var _precess2 = _interopRequireDefault(_precess);
36
37var _solar = require('./solar');
38
39var _solar2 = _interopRequireDefault(_solar);
40
41function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
43// array positions of Saturnmoons returned from positions().
44var mimas = exports.mimas = 0;
45var enceladus = exports.enceladus = 1;
46var tethys = exports.tethys = 2;
47var dione = exports.dione = 3;
48var rhea = exports.rhea = 4;
49var titan = exports.titan = 5;
50var hyperion = exports.hyperion = 6;
51var iapetus = exports.iapetus = 7;
52
53/**
54 * XY holds coordinates returned from positions().
55 */
56function XY(x, y) {
57 this.x = x;
58 this.y = y;
59}
60
61var d = Math.PI / 180;
62
63/**
64 * Positions returns positions of the eight major moons of Saturn.
65 *
66 * Results returned in argument pos, which must not be undefined.
67 *
68 * Result units are Saturn radii.
69 *
70 * @param {number} jde - Julian ephemeris day
71 * @param {planetposition.Planet} earth - VSOP87 planet Earth
72 * @param {planetposition.Planet} saturn - VSOP87 planet Saturn
73 * @return {XY[]} Array of Moon Positions in `XY`
74 * Use `M.mimas ... M.iapetus` to resolve to Moon and its position at `jde`
75 */
76function positions(jde, earth, saturn) {
77 var sol = _solar2.default.trueVSOP87(earth, jde);
78 var _ref = [sol.lon, sol.lat, sol.range],
79 s = _ref[0],
80 β = _ref[1],
81 R = _ref[2];
82
83 var _base$sincos = _base2.default.sincos(s),
84 _base$sincos2 = _slicedToArray(_base$sincos, 2),
85 ss = _base$sincos2[0],
86 cs = _base$sincos2[1];
87
88 var sβ = Math.sin(β);
89 var Δ = 9.0;
90 var x = void 0,
91 y = void 0,
92 z = void 0,
93 _jde = void 0;
94 var f = function f() {
95 var τ = _base2.default.lightTime(Δ);
96 _jde = jde - τ;
97
98 var _saturn$position = saturn.position(_jde),
99 lon = _saturn$position.lon,
100 lat = _saturn$position.lat,
101 range = _saturn$position.range;
102
103 var fk5 = _planetposition2.default.toFK5(lon, lat, _jde);
104 var _ref2 = [fk5.lon, fk5.lat],
105 l = _ref2[0],
106 b = _ref2[1];
107
108 var _base$sincos3 = _base2.default.sincos(l),
109 _base$sincos4 = _slicedToArray(_base$sincos3, 2),
110 sl = _base$sincos4[0],
111 cl = _base$sincos4[1];
112
113 var _base$sincos5 = _base2.default.sincos(b),
114 _base$sincos6 = _slicedToArray(_base$sincos5, 2),
115 sb = _base$sincos6[0],
116 cb = _base$sincos6[1];
117
118 x = range * cb * cl + R * cs;
119 y = range * cb * sl + R * ss;
120 z = range * sb + R * sβ;
121 Δ = Math.sqrt(x * x + y * y + z * z);
122 };
123 f();
124 f();
125 var λ0 = Math.atan2(y, x);
126 var β0 = Math.atan(z / Math.hypot(x, y));
127 var ecl = new _coord2.default.Ecliptic(λ0, β0);
128 ecl = _precess2.default.eclipticPosition(ecl, _base2.default.JDEToJulianYear(jde), _base2.default.JDEToJulianYear(_base2.default.B1950), 0, 0);
129 λ0 = ecl.lon;
130 β0 = ecl.lat;
131 var q = new Qs(_jde);
132 var s4 = [new R4(), // 0 unused
133 q.mimas(), q.enceladus(), q.tethys(), q.dione(), q.rhea(), q.titan(), q.hyperion(), q.iapetus()];
134
135 var X = new Array(9).fill(0);
136 var Y = new Array(9).fill(0);
137 var Z = new Array(9).fill(0);
138 for (var j = 1; j <= 8; j++) {
139 var u = s4[j].λ - s4[j].Ω;
140 var w = s4[j].Ω - 168.8112 * d;
141
142 var _base$sincos7 = _base2.default.sincos(u),
143 _base$sincos8 = _slicedToArray(_base$sincos7, 2),
144 su = _base$sincos8[0],
145 cu = _base$sincos8[1];
146
147 var _base$sincos9 = _base2.default.sincos(w),
148 _base$sincos10 = _slicedToArray(_base$sincos9, 2),
149 sw = _base$sincos10[0],
150 cw = _base$sincos10[1];
151
152 var _base$sincos11 = _base2.default.sincos(s4[j].γ),
153 _base$sincos12 = _slicedToArray(_base$sincos11, 2),
154 sγ = _base$sincos12[0],
155 cγ = _base$sincos12[1];
156
157 var r = s4[j].r;
158 X[j] = r * (cu * cw - su * cγ * sw);
159 Y[j] = r * (su * cw * cγ + cu * sw);
160 Z[j] = r * su * sγ;
161 }
162 Z[0] = 1;
163
164 var _base$sincos13 = _base2.default.sincos(λ0),
165 _base$sincos14 = _slicedToArray(_base$sincos13, 2),
1660 = _base$sincos14[0],
1670 = _base$sincos14[1];
168
169 var _base$sincos15 = _base2.default.sincos(β0),
170 _base$sincos16 = _slicedToArray(_base$sincos15, 2),
1710 = _base$sincos16[0],
1720 = _base$sincos16[1];
173
174 var A = new Array(9).fill(0);
175 var B = new Array(9).fill(0);
176 var C = new Array(9).fill(0);
177 for (var _j in X) {
178 var a0 = void 0;
179 var a = X[_j];
180 var b = q.c1 * Y[_j] - q.s1 * Z[_j];
181 var c = q.s1 * Y[_j] + q.c1 * Z[_j];
182 a0 = q.c2 * a - q.s2 * b;
183 b = q.s2 * a + q.c2 * b;
184 a = a0;
185
186 A[_j] = a * sλ0 - b * cλ0;
187 b = a * cλ0 + b * sλ0;
188
189 B[_j] = b * cβ0 + c * sβ0;
190 C[_j] = c * cβ0 - b * sβ0;
191 }
192
193 var pos = new Array(9);
194 var D = Math.atan2(A[0], C[0]);
195
196 var _base$sincos17 = _base2.default.sincos(D),
197 _base$sincos18 = _slicedToArray(_base$sincos17, 2),
198 sD = _base$sincos18[0],
199 cD = _base$sincos18[1];
200
201 for (var _j2 = 1; _j2 <= 8; _j2++) {
202 X[_j2] = A[_j2] * cD - C[_j2] * sD;
203 Y[_j2] = A[_j2] * sD + C[_j2] * cD;
204 Z[_j2] = B[_j2];
205 var _d = X[_j2] / s4[_j2].r;
206 X[_j2] += Math.abs(Z[_j2]) / k[_j2] * Math.sqrt(1 - _d * _d);
207 var W = Δ / (Δ + Z[_j2] / 2475);
208 pos[_j2 - 1] = new XY(X[_j2] * W, Y[_j2] * W);
209 }
210 return pos;
211}
212
213var k = [0, 20947, 23715, 26382, 29876, 35313, 53800, 59222, 91820];
214
215function R4(λ, r, γ, Ω) {
216 this.λ = λ || 0;
217 this.r = r || 0;
218 this.γ = γ || 0;
219 this.Ω = Ω || 0;
220}
221
222function Qs(jde) {
223 this.t1 = jde - 2411093;
224 this.t2 = this.t1 / 365.25;
225 this.t3 = (jde - 2433282.423) / 365.25 + 1950;
226 this.t4 = jde - 2411368;
227 this.t5 = this.t4 / 365.25;
228 this.t6 = jde - 2415020;
229 this.t7 = this.t6 / 36525;
230 this.t8 = this.t6 / 365.25;
231 this.t9 = (jde - 2442000.5) / 365.25;
232 this.t10 = jde - 2409786;
233 this.t11 = this.t10 / 36525;
234 this.W0 = 5.095 * d * (this.t3 - 1866.39);
235 this.W1 = 74.4 * d + 32.39 * d * this.t2;
236 this.W2 = 134.3 * d + 92.62 * d * this.t2;
237 this.W3 = 42 * d - 0.5118 * d * this.t5;
238 this.W4 = 276.59 * d + 0.5118 * d * this.t5;
239 this.W5 = 267.2635 * d + 1222.1136 * d * this.t7;
240 this.W6 = 175.4762 * d + 1221.5515 * d * this.t7;
241 this.W7 = 2.4891 * d + 0.002435 * d * this.t7;
242 this.W8 = 113.35 * d - 0.2597 * d * this.t7;
243 this.s1 = Math.sin(28.0817 * d);
244 this.c1 = Math.cos(28.0817 * d);
245 this.s2 = Math.sin(168.8112 * d);
246 this.c2 = Math.cos(168.8112 * d);
247 this.e1 = 0.05589 - 0.000346 * this.t7;
248 this.sW0 = Math.sin(this.W0);
249 this.s3W0 = Math.sin(3 * this.W0);
250 this.s5W0 = Math.sin(5 * this.W0);
251 this.sW1 = Math.sin(this.W1);
252 this.sW2 = Math.sin(this.W2);
253 this.sW3 = Math.sin(this.W3);
254 this.cW3 = Math.cos(this.W3);
255 this.sW4 = Math.sin(this.W4);
256 this.cW4 = Math.cos(this.W4);
257 this.sW7 = Math.sin(this.W7);
258 this.cW7 = Math.cos(this.W7);
259 return this;
260}
261
262Qs.prototype.mimas = function () {
263 var r = new R4();
264 var L = 127.64 * d + 381.994497 * d * this.t1 - 43.57 * d * this.sW0 - 0.72 * d * this.s3W0 - 0.02144 * d * this.s5W0;
265 var p = 106.1 * d + 365.549 * d * this.t2;
266 var M = L - p;
267 var C = 2.18287 * d * Math.sin(M) + 0.025988 * d * Math.sin(2 * M) + 0.00043 * d * Math.sin(3 * M);
268 r.λ = L + C;
269 r.r = 3.06879 / (1 + 0.01905 * Math.cos(M + C));
270 r.γ = 1.563 * d;
271 r.Ω = 54.5 * d - 365.072 * d * this.t2;
272 return r;
273};
274
275Qs.prototype.enceladus = function () {
276 var r = new R4();
277 var L = 200.317 * d + 262.7319002 * d * this.t1 + 0.25667 * d * this.sW1 + 0.20883 * d * this.sW2;
278 var p = 309.107 * d + 123.44121 * d * this.t2;
279 var M = L - p;
280 var C = 0.55577 * d * Math.sin(M) + 0.00168 * d * Math.sin(2 * M);
281 r.λ = L + C;
282 r.r = 3.94118 / (1 + 0.00485 * Math.cos(M + C));
283 r.γ = 0.0262 * d;
284 r.Ω = 348 * d - 151.95 * d * this.t2;
285 return r;
286};
287
288Qs.prototype.tethys = function () {
289 var r = new R4();
290 r.λ = 285.306 * d + 190.69791226 * d * this.t1 + 2.063 * d * this.sW0 + 0.03409 * d * this.s3W0 + 0.001015 * d * this.s5W0;
291 r.r = 4.880998;
292 r.γ = 1.0976 * d;
293 r.Ω = 111.33 * d - 72.2441 * d * this.t2;
294 return r;
295};
296
297Qs.prototype.dione = function () {
298 var r = new R4();
299 var L = 254.712 * d + 131.53493193 * d * this.t1 - 0.0215 * d * this.sW1 - 0.01733 * d * this.sW2;
300 var p = 174.8 * d + 30.82 * d * this.t2;
301 var M = L - p;
302 var C = 0.24717 * d * Math.sin(M) + 0.00033 * d * Math.sin(2 * M);
303 r.λ = L + C;
304 r.r = 6.24871 / (1 + 0.002157 * Math.cos(M + C));
305 r.γ = 0.0139 * d;
306 r.Ω = 232 * d - 30.27 * d * this.t2;
307 return r;
308};
309
310Qs.prototype.rhea = function () {
311 var pʹ = 342.7 * d + 10.057 * d * this.t2;
312
313 var _base$sincos19 = _base2.default.sincos(pʹ),
314 _base$sincos20 = _slicedToArray(_base$sincos19, 2),
315 spʹ = _base$sincos20[0],
316 cpʹ = _base$sincos20[1];
317
318 var a1 = 0.000265 * spʹ + 0.001 * this.sW4;
319 var a2 = 0.000265 * cpʹ + 0.001 * this.cW4;
320 var e = Math.hypot(a1, a2);
321 var p = Math.atan2(a1, a2);
322 var N = 345 * d - 10.057 * d * this.t2;
323
324 var _base$sincos21 = _base2.default.sincos(N),
325 _base$sincos22 = _slicedToArray(_base$sincos21, 2),
326 sN = _base$sincos22[0],
327 cN = _base$sincos22[1];
328
329 var λʹ = 359.244 * d + 79.6900472 * d * this.t1 + 0.086754 * d * sN;
330 var i = 28.0362 * d + 0.346898 * d * cN + 0.0193 * d * this.cW3;
331 var Ω = 168.8034 * d + 0.736936 * d * sN + 0.041 * d * this.sW3;
332 var a = 8.725924;
333 return this.subr(λʹ, p, e, a, Ω, i);
334};
335
336Qs.prototype.subr = function (λʹ, p, e, a, Ω, i) {
337 var r = new R4();
338 var M = λʹ - p;
339 var e2 = e * e;
340 var e3 = e2 * e;
341 var e4 = e2 * e2;
342 var e5 = e3 * e2;
343 var C = (2 * e - 0.25 * e3 + 0.0520833333 * e5) * Math.sin(M) + (1.25 * e2 - 0.458333333 * e4) * Math.sin(2 * M) + (1.083333333 * e3 - 0.671875 * e5) * Math.sin(3 * M) + 1.072917 * e4 * Math.sin(4 * M) + 1.142708 * e5 * Math.sin(5 * M);
344 r.r = a * (1 - e2) / (1 + e * Math.cos(M + C)); // return value
345 var g = Ω - 168.8112 * d;
346
347 var _base$sincos23 = _base2.default.sincos(i),
348 _base$sincos24 = _slicedToArray(_base$sincos23, 2),
349 si = _base$sincos24[0],
350 ci = _base$sincos24[1];
351
352 var _base$sincos25 = _base2.default.sincos(g),
353 _base$sincos26 = _slicedToArray(_base$sincos25, 2),
354 sg = _base$sincos26[0],
355 cg = _base$sincos26[1];
356
357 var a1 = si * sg;
358 var a2 = this.c1 * si * cg - this.s1 * ci;
359 r.γ = Math.asin(Math.hypot(a1, a2)); // return value
360 var u = Math.atan2(a1, a2);
361 r.Ω = 168.8112 * d + u; // return value (w)
362 var h = this.c1 * si - this.s1 * ci * cg;
363 var ψ = Math.atan2(this.s1 * sg, h);
364 r.λ = λʹ + C + u - g - ψ; // return value
365 return r;
366};
367
368Qs.prototype.titan = function () {
369 var _this = this;
370
371 var L = 261.1582 * d + 22.57697855 * d * this.t4 + 0.074025 * d * this.sW3;
372 var iʹ = 27.45141 * d + 0.295999 * d * this.cW3;
373 var Ωʹ = 168.66925 * d + 0.628808 * d * this.sW3;
374
375 var _base$sincos27 = _base2.default.sincos(iʹ),
376 _base$sincos28 = _slicedToArray(_base$sincos27, 2),
377 siʹ = _base$sincos28[0],
378 ciʹ = _base$sincos28[1];
379
380 var _base$sincos29 = _base2.default.sincos(Ωʹ - this.W8),
381 _base$sincos30 = _slicedToArray(_base$sincos29, 2),
382 sΩʹW8 = _base$sincos30[0],
383 cΩʹW8 = _base$sincos30[1];
384
385 var a1 = this.sW7 * sΩʹW8;
386 var a2 = this.cW7 * siʹ - this.sW7 * ciʹ * cΩʹW8;
387 var g0 = 102.8623 * d;
388 var ψ = Math.atan2(a1, a2);
389 var s = Math.hypot(a1, a2);
390 var g = this.W4 - Ωʹ - ψ;
391 var ϖ = 0;
392
393 var _base$sincos31 = _base2.default.sincos(2 * g0),
394 _base$sincos32 = _slicedToArray(_base$sincos31, 2),
395 s2g0 = _base$sincos32[0],
396 c2g0 = _base$sincos32[1];
397
398 var f = function f() {
399 ϖ = _this.W4 + 0.37515 * d * (Math.sin(2 * g) - s2g0);
400 g = ϖ - Ωʹ - ψ;
401 };
402 f();
403 f();
404 f();
405 var eʹ = 0.029092 + 0.00019048 * (Math.cos(2 * g) - c2g0);
406 var qq = 2 * (this.W5 - ϖ);
407 var b1 = siʹ * sΩʹW8;
408 var b2 = this.cW7 * siʹ * cΩʹW8 - this.sW7 * ciʹ;
409 var θ = Math.atan2(b1, b2) + this.W8;
410
411 var _base$sincos33 = _base2.default.sincos(qq),
412 _base$sincos34 = _slicedToArray(_base$sincos33, 2),
413 sq = _base$sincos34[0],
414 cq = _base$sincos34[1];
415
416 var e = eʹ + 0.002778797 * eʹ * cq;
417 var p = ϖ + 0.159215 * d * sq;
418 var u = 2 * this.W5 - 2 * θ + ψ;
419
420 var _base$sincos35 = _base2.default.sincos(u),
421 _base$sincos36 = _slicedToArray(_base$sincos35, 2),
422 su = _base$sincos36[0],
423 cu = _base$sincos36[1];
424
425 var h = 0.9375 * eʹ * eʹ * sq + 0.1875 * s * s * Math.sin(2 * (this.W5 - θ));
426 var λʹ = L - 0.254744 * d * (this.e1 * Math.sin(this.W6) + 0.75 * this.e1 * this.e1 * Math.sin(2 * this.W6) + h);
427 var i = iʹ + 0.031843 * d * s * cu;
428 var Ω = Ωʹ + 0.031843 * d * s * su / siʹ;
429 var a = 20.216193;
430 return this.subr(λʹ, p, e, a, Ω, i);
431};
432
433Qs.prototype.hyperion = function () {
434 var η = 92.39 * d + 0.5621071 * d * this.t6;
435 var ζ = 148.19 * d - 19.18 * d * this.t8;
436 var θ = 184.8 * d - 35.41 * d * this.t9;
437 var θʹ = θ - 7.5 * d;
438 var as = 176 * d + 12.22 * d * this.t8;
439 var bs = 8 * d + 24.44 * d * this.t8;
440 var cs = bs + 5 * d;
441 var ϖ = 69.898 * d - 18.67088 * d * this.t8;
442 var φ = 2 * (ϖ - this.W5);
443 var χ = 94.9 * d - 2.292 * d * this.t8;
444
445 var _base$sincos37 = _base2.default.sincos(η),
446 _base$sincos38 = _slicedToArray(_base$sincos37, 2),
447 sη = _base$sincos38[0],
448 cη = _base$sincos38[1];
449
450 var _base$sincos39 = _base2.default.sincos(ζ),
451 _base$sincos40 = _slicedToArray(_base$sincos39, 2),
452 sζ = _base$sincos40[0],
453 cζ = _base$sincos40[1];
454
455 var _base$sincos41 = _base2.default.sincos(2 * ζ),
456 _base$sincos42 = _slicedToArray(_base$sincos41, 2),
457 s2ζ = _base$sincos42[0],
458 c2ζ = _base$sincos42[1];
459
460 var _base$sincos43 = _base2.default.sincos(3 * ζ),
461 _base$sincos44 = _slicedToArray(_base$sincos43, 2),
462 s3ζ = _base$sincos44[0],
463 c3ζ = _base$sincos44[1];
464
465 var _base$sincos45 = _base2.default.sincos(ζ + η),
466 _base$sincos46 = _slicedToArray(_base$sincos45, 2),
467 sζpη = _base$sincos46[0],
468 cζpη = _base$sincos46[1];
469
470 var _base$sincos47 = _base2.default.sincos(ζ - η),
471 _base$sincos48 = _slicedToArray(_base$sincos47, 2),
472 sζmη = _base$sincos48[0],
473 cζmη = _base$sincos48[1];
474
475 var _base$sincos49 = _base2.default.sincos(φ),
476 _base$sincos50 = _slicedToArray(_base$sincos49, 2),
477 sφ = _base$sincos50[0],
478 cφ = _base$sincos50[1];
479
480 var _base$sincos51 = _base2.default.sincos(χ),
481 _base$sincos52 = _slicedToArray(_base$sincos51, 2),
482 sχ = _base$sincos52[0],
483 cχ = _base$sincos52[1];
484
485 var _base$sincos53 = _base2.default.sincos(cs),
486 _base$sincos54 = _slicedToArray(_base$sincos53, 2),
487 scs = _base$sincos54[0],
488 ccs = _base$sincos54[1];
489
490 var a = 24.50601 - 0.08686 * cη - 0.00166 * cζpη + 0.00175 * cζmη;
491 var e = 0.103458 - 0.004099 * cη - 0.000167 * cζpη + 0.000235 * cζmη + 0.02303 * cζ - 0.00212 * c2ζ + 0.000151 * c3ζ + 0.00013 * cφ;
492 var p = ϖ + 0.15648 * d * sχ - 0.4457 * d * sη - 0.2657 * d * sζpη - 0.3573 * d * sζmη - 12.872 * d * sζ + 1.668 * d * s2ζ - 0.2419 * d * s3ζ - 0.07 * d * sφ;
493 var λʹ = 177.047 * d + 16.91993829 * d * this.t6 + 0.15648 * d * sχ + 9.142 * d * sη + 0.007 * d * Math.sin(2 * η) - 0.014 * d * Math.sin(3 * η) + 0.2275 * d * sζpη + 0.2112 * d * sζmη - 0.26 * d * sζ - 0.0098 * d * s2ζ - 0.013 * d * Math.sin(as) + 0.017 * d * Math.sin(bs) - 0.0303 * d * sφ;
494 var i = 27.3347 * d + 0.6434886 * d * cχ + 0.315 * d * this.cW3 + 0.018 * d * Math.cos(θ) - 0.018 * d * ccs;
495 var Ω = 168.6812 * d + 1.40136 * d * cχ + 0.68599 * d * this.sW3 - 0.0392 * d * scs + 0.0366 * d * Math.sin(θʹ);
496 return this.subr(λʹ, p, e, a, Ω, i);
497};
498
499Qs.prototype.iapetus = function () {
500 var L = 261.1582 * d + 22.57697855 * d * this.t4;
501 var ϖʹ = 91.796 * d + 0.562 * d * this.t7;
502 var ψ = 4.367 * d - 0.195 * d * this.t7;
503 var θ = 146.819 * d - 3.198 * d * this.t7;
504 var φ = 60.47 * d + 1.521 * d * this.t7;
505 var Φ = 205.055 * d - 2.091 * d * this.t7;
506 var eʹ = 0.028298 + 0.001156 * this.t11;
507 var ϖ0 = 352.91 * d + 11.71 * d * this.t11;
508 var μ = 76.3852 * d + 4.53795125 * d * this.t10;
509 var iʹ = _base2.default.horner(this.t11, 18.4602 * d, -0.9518 * d, -0.072 * d, 0.0054 * d);
510 var Ωʹ = _base2.default.horner(this.t11, 143.198 * d, -3.919 * d, 0.116 * d, 0.008 * d);
511 var l = μ - ϖ0;
512 var g = ϖ0 - Ωʹ - ψ;
513 var g1 = ϖ0 - Ωʹ - φ;
514 var ls = this.W5 - ϖʹ;
515 var gs = ϖʹ - θ;
516 var lT = L - this.W4;
517 var gT = this.W4 - Φ;
518 var u1 = 2 * (l + g - ls - gs);
519 var u2 = l + g1 - lT - gT;
520 var u3 = l + 2 * (g - ls - gs);
521 var u4 = lT + gT - g1;
522 var u5 = 2 * (ls + gs);
523
524 var _base$sincos55 = _base2.default.sincos(l),
525 _base$sincos56 = _slicedToArray(_base$sincos55, 2),
526 sl = _base$sincos56[0],
527 cl = _base$sincos56[1];
528
529 var _base$sincos57 = _base2.default.sincos(u1),
530 _base$sincos58 = _slicedToArray(_base$sincos57, 2),
531 su1 = _base$sincos58[0],
532 cu1 = _base$sincos58[1];
533
534 var _base$sincos59 = _base2.default.sincos(u2),
535 _base$sincos60 = _slicedToArray(_base$sincos59, 2),
536 su2 = _base$sincos60[0],
537 cu2 = _base$sincos60[1];
538
539 var _base$sincos61 = _base2.default.sincos(u3),
540 _base$sincos62 = _slicedToArray(_base$sincos61, 2),
541 su3 = _base$sincos62[0],
542 cu3 = _base$sincos62[1];
543
544 var _base$sincos63 = _base2.default.sincos(u4),
545 _base$sincos64 = _slicedToArray(_base$sincos63, 2),
546 su4 = _base$sincos64[0],
547 cu4 = _base$sincos64[1];
548
549 var _base$sincos65 = _base2.default.sincos(l + u2),
550 _base$sincos66 = _slicedToArray(_base$sincos65, 2),
551 slu2 = _base$sincos66[0],
552 clu2 = _base$sincos66[1];
553
554 var _base$sincos67 = _base2.default.sincos(g1 - gT),
555 _base$sincos68 = _slicedToArray(_base$sincos67, 2),
556 sg1gT = _base$sincos68[0],
557 cg1gT = _base$sincos68[1];
558
559 var _base$sincos69 = _base2.default.sincos(u5 - 2 * g),
560 _base$sincos70 = _slicedToArray(_base$sincos69, 2),
561 su52g = _base$sincos70[0],
562 cu52g = _base$sincos70[1];
563
564 var _base$sincos71 = _base2.default.sincos(u5 + ψ),
565 _base$sincos72 = _slicedToArray(_base$sincos71, 2),
566 su5ψ = _base$sincos72[0],
567 cu5ψ = _base$sincos72[1];
568
569 var _base$sincos73 = _base2.default.sincos(u2 + φ),
570 _base$sincos74 = _slicedToArray(_base$sincos73, 2),
571 su2φ = _base$sincos74[0],
572 cu2φ = _base$sincos74[1];
573
574 var _base$sincos75 = _base2.default.sincos(l + g1 + lT + gT + φ),
575 _base$sincos76 = _slicedToArray(_base$sincos75, 2),
576 s5 = _base$sincos76[0],
577 c5 = _base$sincos76[1];
578
579 var a = 58.935028 + 0.004638 * cu1 + 0.058222 * cu2;
580 var e = eʹ - 0.0014097 * cg1gT + 0.0003733 * cu52g + 0.000118 * cu3 + 0.0002408 * cl + 0.0002849 * clu2 + 0.000619 * cu4;
581 var w = 0.08077 * d * sg1gT + 0.02139 * d * su52g - 0.00676 * d * su3 + 0.0138 * d * sl + 0.01632 * d * slu2 + 0.03547 * d * su4;
582 var p = ϖ0 + w / eʹ;
583 var λʹ = μ - 0.04299 * d * su2 - 0.00789 * d * su1 - 0.06312 * d * Math.sin(ls) - 0.00295 * d * Math.sin(2 * ls) - 0.02231 * d * Math.sin(u5) + 0.0065 * d * su5ψ;
584 var i = iʹ + 0.04204 * d * cu5ψ + 0.00235 * d * c5 + 0.0036 * d * cu2φ;
585 var wʹ = 0.04204 * d * su5ψ + 0.00235 * d * s5 + 0.00358 * d * su2φ;
586 var Ω = Ωʹ + wʹ / Math.sin(iʹ);
587 return this.subr(λʹ, p, e, a, Ω, i);
588};
589
590exports.default = {
591 mimas: mimas,
592 enceladus: enceladus,
593 tethys: tethys,
594 dione: dione,
595 rhea: rhea,
596 titan: titan,
597 hyperion: hyperion,
598 iapetus: iapetus,
599 positions: positions,
600 Qs: Qs
601};
\No newline at end of file