1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.iapetus = exports.hyperion = exports.titan = exports.rhea = exports.dione = exports.tethys = exports.enceladus = exports.mimas = undefined;
|
7 |
|
8 | var _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 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 | exports.positions = positions;
|
19 | exports.Qs = Qs;
|
20 |
|
21 | var _base = require('./base');
|
22 |
|
23 | var _base2 = _interopRequireDefault(_base);
|
24 |
|
25 | var _coord = require('./coord');
|
26 |
|
27 | var _coord2 = _interopRequireDefault(_coord);
|
28 |
|
29 | var _planetposition = require('./planetposition');
|
30 |
|
31 | var _planetposition2 = _interopRequireDefault(_planetposition);
|
32 |
|
33 | var _precess = require('./precess');
|
34 |
|
35 | var _precess2 = _interopRequireDefault(_precess);
|
36 |
|
37 | var _solar = require('./solar');
|
38 |
|
39 | var _solar2 = _interopRequireDefault(_solar);
|
40 |
|
41 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
42 |
|
43 |
|
44 | var mimas = exports.mimas = 0;
|
45 | var enceladus = exports.enceladus = 1;
|
46 | var tethys = exports.tethys = 2;
|
47 | var dione = exports.dione = 3;
|
48 | var rhea = exports.rhea = 4;
|
49 | var titan = exports.titan = 5;
|
50 | var hyperion = exports.hyperion = 6;
|
51 | var iapetus = exports.iapetus = 7;
|
52 |
|
53 |
|
54 |
|
55 |
|
56 | function XY(x, y) {
|
57 | this.x = x;
|
58 | this.y = y;
|
59 | }
|
60 |
|
61 | var d = Math.PI / 180;
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 | function 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(),
|
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),
|
166 | sλ0 = _base$sincos14[0],
|
167 | cλ0 = _base$sincos14[1];
|
168 |
|
169 | var _base$sincos15 = _base2.default.sincos(β0),
|
170 | _base$sincos16 = _slicedToArray(_base$sincos15, 2),
|
171 | sβ0 = _base$sincos16[0],
|
172 | cβ0 = _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 |
|
213 | var k = [0, 20947, 23715, 26382, 29876, 35313, 53800, 59222, 91820];
|
214 |
|
215 | function R4(λ, r, γ, Ω) {
|
216 | this.λ = λ || 0;
|
217 | this.r = r || 0;
|
218 | this.γ = γ || 0;
|
219 | this.Ω = Ω || 0;
|
220 | }
|
221 |
|
222 | function 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 |
|
262 | Qs.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 |
|
275 | Qs.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 |
|
288 | Qs.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 |
|
297 | Qs.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 |
|
310 | Qs.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 |
|
336 | Qs.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));
|
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));
|
360 | var u = Math.atan2(a1, a2);
|
361 | r.Ω = 168.8112 * d + u;
|
362 | var h = this.c1 * si - this.s1 * ci * cg;
|
363 | var ψ = Math.atan2(this.s1 * sg, h);
|
364 | r.λ = λʹ + C + u - g - ψ;
|
365 | return r;
|
366 | };
|
367 |
|
368 | Qs.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 |
|
433 | Qs.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 |
|
499 | Qs.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 |
|
590 | exports.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 |