

Private Member Functions | |
| Point3d | computePosition (double jd) const |
| double | getBoundingRadius () const |
| double | getPeriod () const |
|
|
Implements CachingOrbit. Definition at line 2139 of file customorbit.cpp. References ComputeSaturnianElements(), cosD(), N, OuterSaturnMoonParams(), radToDeg(), SaturnMoonPosition(), sinD(), sqrt(), and square(). 02140 {
02141 // Computation will yield latitude(L), longitude(B) and distance(R)
02142 // relative to Saturn.
02143 double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11;
02144 double W0, W1, W2, W3, W4, W5, W6, W7, W8;
02145
02146 ComputeSaturnianElements(jd,
02147 t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,
02148 W0, W1, W2, W3, W4, W5, W6, W7, W8);
02149 double e1 = 0.05589 - 0.000346 * t7;
02150
02151 double p_ = 342.7 + 10.057 * t2;
02152 double a1 = 0.000265 * sinD(p_) + 0.01 * sinD(W4);
02153 double a2 = 0.000265 * cosD(p_) + 0.01 * cosD(W4);
02154 double e = sqrt(square(a1) + square(a2));
02155 double p = radToDeg(atan2(a1, a2));
02156 double N = 345 - 10.057 * t2;
02157 double lam_ = 359.244 + 79.69004720 * t1 + 0.086754 * sinD(N);
02158 double i = 28.0362 + 0.346898 * cosD(N) + 0.01930 * cosD(W3);
02159 double Om = 168.8034 + 0.736936 * sinD(N) + 0.041 * sinD(W3);
02160 double a = 8.725924;
02161
02162 double lam, gam, r, w;
02163 OuterSaturnMoonParams(a, e, i, Om, lam_ - p, lam_,
02164 lam, gam, r, w);
02165 // cout << "Rhea (intermediate): " << e << ',' << pfmod(lam_, 360.0) << ',' << pfmod(i, 360.0) << ',' << pfmod(Om, 360.0) << '\n';
02166 // cout << "Rhea: " << pfmod(lam, 360.0) << ',' << gam << ',' << pfmod(w, 360.0) << ',' << r << '\n';
02167
02168 return SaturnMoonPosition(lam, gam, w, r);
02169 };
|
|
|
Implements CachingOrbit. Definition at line 2176 of file customorbit.cpp. References BoundingRadiusSlack. 02177 {
02178 return 528000 * BoundingRadiusSlack;
02179 };
|
|
|
Implements CachingOrbit. Definition at line 2171 of file customorbit.cpp. 02172 {
02173 return 4.517500;
02174 };
|
1.4.1