Fixed a problem that could cause a divide by zero error during initialization.
Contributed by Durk Talsma.
This commit is contained in:
parent
29dfc5bd3c
commit
a212589865
@ -182,7 +182,17 @@ void MoonPos::updatePosition(double mjd, double lst, double lat, Star *ourSun)
|
|||||||
// SG_LOG( SG_GENERAL, SG_INFO, "g = " << g );
|
// SG_LOG( SG_GENERAL, SG_INFO, "g = " << g );
|
||||||
|
|
||||||
rightAscension = geoRa - mpar * rho * cos(gclat) * sin(HA) / cos (geoDec);
|
rightAscension = geoRa - mpar * rho * cos(gclat) * sin(HA) / cos (geoDec);
|
||||||
declination = geoDec - mpar * rho * sin (gclat) * sin (g - geoDec) / sin(g);
|
if (fabs(lat) > 0) {
|
||||||
|
declination
|
||||||
|
= geoDec - mpar * rho * sin (gclat) * sin (g - geoDec) / sin(g);
|
||||||
|
} else {
|
||||||
|
declination = geoDec;
|
||||||
|
// cerr << "Geocentric vs. Topocentric position" << endl;
|
||||||
|
// cerr << "RA (difference) : "
|
||||||
|
// << SGD_RADIANS_TO_DEGREES * (geoRa - rightAscension) << endl;
|
||||||
|
// cerr << "Dec (difference) : "
|
||||||
|
// << SGD_RADIANS_TO_DEGREES * (geoDec - declination) << endl;
|
||||||
|
}
|
||||||
|
|
||||||
/* SG_LOG( SG_GENERAL, SG_INFO,
|
/* SG_LOG( SG_GENERAL, SG_INFO,
|
||||||
"Ra = (" << (SGD_RADIANS_TO_DEGREES *rightAscension)
|
"Ra = (" << (SGD_RADIANS_TO_DEGREES *rightAscension)
|
||||||
|
Loading…
Reference in New Issue
Block a user