

Private Member Functions | |
| Point3d | computePosition (double jd) const |
| double | getBoundingRadius () const |
| double | getPeriod () const |
|
|
Implements CachingOrbit. Definition at line 2638 of file customorbit.cpp. References cos(), degToRad(), N, p, sin(), Matrix3< T >::xrotation(), and Matrix3< T >::yrotation(). 02639 {
02640 // Pole of the fixed reference plane
02641 //double t = jd - 2433282.5;
02642 double epoch = 2433282.5;
02643 double t = jd - epoch;
02644 double T = (jd - 2451545.0) / 36525;
02645 double N = degToRad(359.28 + 54.308 * T);
02646 double refplane_RA = degToRad(298.72 +
02647 2.58 * sin(N) - 0.04 * sin(2 * N));
02648 double refplane_Dec = degToRad(42.63 -
02649 1.90 * cos(N) - 0.01 * cos(2 * N));
02650 double nepPole_RA = degToRad(299.36);
02651 double nepPole_Dec = degToRad(43.46);
02652
02653 double a = 354800;
02654 double e = 0.0000;
02655 double n = degToRad(61.2588532);
02656 double L0 = degToRad(200.913);
02657 double L = L0 + n * t;
02658 double gamma = degToRad(158.996);
02659 double theta = degToRad(151.401 + 0.57806 * t / 365.25);
02660
02661 double E = L - theta;
02662 Point3d p(a * cos(E), 0.0, a * -sin(E));
02663
02664 // Orientation of the orbital plane with respect to the Laplacian plane
02665 Mat3d Rorbit = (Mat3d::yrotation(theta) *
02666 Mat3d::xrotation(gamma));
02667
02668 // Rotate to the Earth's equatorial plane
02669 double Nr = degToRad(refplane_RA);
02670 double Jr = degToRad(90 - refplane_Dec);
02671 Mat3d Rrefplane = (Mat3d::yrotation( Nr) *
02672 Mat3d::xrotation( Jr) *
02673 Mat3d::yrotation(-Nr));
02674
02675 // Rotate to the Neptunian equatorial plane
02676 double Nn = degToRad(nepPole_RA);
02677 double Jn = degToRad(90 - nepPole_Dec);
02678 Mat3d RNept_eq = (Mat3d::yrotation( Nn) *
02679 Mat3d::xrotation(-Jn) *
02680 Mat3d::yrotation(-Nn));
02681
02682 return RNept_eq * (Rrefplane * (Rorbit * p));
02683 }
|
|
|
Implements CachingOrbit. Definition at line 2690 of file customorbit.cpp. References BoundingRadiusSlack. 02691 {
02692 return 354800 * BoundingRadiusSlack;
02693 }
|
|
|
Implements CachingOrbit. Definition at line 2685 of file customorbit.cpp. 02686 {
02687 return 5.877;
02688 }
|
1.4.1