

Private Member Functions | |
| Point3d | computePosition (double jd) const |
| double | getBoundingRadius () const |
| double | getPeriod () const |
|
|
Implements CachingOrbit. Definition at line 2250 of file customorbit.cpp. References ComputeSaturnianElements(), cosD(), OuterSaturnMoonParams(), SaturnMoonPosition(), and sinD(). 02251 {
02252 // Computation will yield latitude(L), longitude(B) and distance(R)
02253 // relative to Saturn.
02254 double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11;
02255 double W0, W1, W2, W3, W4, W5, W6, W7, W8;
02256
02257 ComputeSaturnianElements(jd,
02258 t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,
02259 W0, W1, W2, W3, W4, W5, W6, W7, W8);
02260 double eta = 92.39 + 0.5621071 * t6;
02261 double zeta = 148.19 - 19.18 * t8;
02262 double theta = 184.8 - 35.41 * t9;
02263 double theta_ = theta - 7.5;
02264 double as = 176 + 12.22 * t8;
02265 double bs = 8 + 24.44 * t8;
02266 double cs = bs + 5;
02267 double om = 68.898 - 18.67088 * t8;
02268 double phi = 2 * (om - W5);
02269 double chi = 94.9 - 2.292 * t8;
02270 double a = 24.50601 -
02271 0.08686 * cosD(eta) -
02272 0.00166 * cosD(zeta + eta) +
02273 0.00175 * cosD(zeta - eta);
02274 double e = 0.103458 -
02275 0.004099 * cosD(eta) -
02276 0.000167 * cosD(zeta + eta) +
02277 0.000235 * cosD(zeta - eta) +
02278 0.02303 * cosD(zeta) -
02279 0.00212 * cosD(2 * zeta) +
02280 0.000151 * cosD(3 * zeta) +
02281 0.00013 * sinD(phi);
02282 double p = om +
02283 0.15648 * sinD(chi) -
02284 0.4457 * sinD(eta) -
02285 0.2657 * sinD(zeta + eta) -
02286 0.3573 * sinD(zeta - eta) -
02287 12.872 * sinD(zeta) +
02288 1.668 * sinD(2 * zeta) -
02289 0.2419 * sinD(3 * zeta) -
02290 0.07 * sinD(phi);
02291 double lam_ = 177.047 +
02292 16.91993829 * t6 +
02293 0.15648 * sinD(chi) +
02294 9.142 * sinD(eta) +
02295 0.007 * sinD(2 * eta) -
02296 0.014 * sinD(3 * eta) +
02297 0.2275 * sinD(zeta + eta) +
02298 0.2112 * sinD(zeta - eta) -
02299 0.26 * sinD(zeta) -
02300 0.0098 * sinD(2 * zeta) -
02301 0.013 * sinD(as) +
02302 0.017 * sinD(bs) -
02303 0.0303 * sinD(phi);
02304 double i = 27.3347 + 0.643486 * cosD(chi) + 0.315 * cosD(W3) +
02305 0.018 * cosD(theta) - 0.018 * cosD(cs);
02306 double Om = 168.6812 + 1.40136 * cosD(chi) + 0.68599 * sinD(W3) -
02307 0.0392 * sinD(cs) + 0.0366 * sinD(theta_);
02308
02309 double lam, gam, r, w;
02310 OuterSaturnMoonParams(a, e, i, Om, lam_ - p, lam_,
02311 lam, gam, r, w);
02312
02313 return SaturnMoonPosition(lam, gam, w, r);
02314 };
|
|
|
Implements CachingOrbit. Definition at line 2321 of file customorbit.cpp. References BoundingRadiusSlack. 02322 {
02323 return 1640000 * BoundingRadiusSlack;
02324 };
|
|
|
Implements CachingOrbit. Definition at line 2316 of file customorbit.cpp. 02317 {
02318 return 21.276609;
02319 };
|
1.4.1