Added a decimalToHourMinSec angle conversion method.

ver1_5_1
Vincent Giangiulio 2007-12-17 23:38:41 +00:00
parent 0040fa9038
commit 66f30edc7e
2 changed files with 18 additions and 7 deletions

View File

@ -190,24 +190,34 @@ double astro::julianDateToSeconds(double jd)
return jd * 86400.0;
}
void astro::decimalToDegMinSec(double angle, int& hours, int& minutes, double& seconds)
void astro::decimalToDegMinSec(double angle, int& degrees, int& minutes, double& seconds)
{
double A, B, C;
hours = (int) angle;
degrees = (int) angle;
A = angle - (double) hours;
A = angle - (double) degrees;
B = A * 60.0;
minutes = (int) B;
C = B - (double) minutes;
seconds = C * 60.0;
}
double astro::degMinSecToDecimal(int hours, int minutes, double seconds)
double astro::degMinSecToDecimal(int degrees, int minutes, double seconds)
{
return (double)hours + (seconds/60.0 + (double)minutes)/60.0;
return (double)degrees + (seconds/60.0 + (double)minutes)/60.0;
}
void astro::decimalToHourMinSec(double angle, int& hours, int& minutes, double& seconds)
{
double A, B;
A = angle / 15.0;
hours = (int) A;
B = (A - (double) hours) * 60.0;
minutes = (int) (B);
seconds = (B - (double) minutes) * 60.0;
}
// Compute the fraction of a sphere which is illuminated and visible
// to a viewer. The source of illumination is assumed to be at (0, 0, 0)

View File

@ -144,8 +144,9 @@ namespace astro
double secondsToJulianDate(double);
double julianDateToSeconds(double);
void decimalToDegMinSec(double angle, int& hours, int& minutes, double& seconds);
double degMinSecToDecimal(int hours, int minutes, double seconds);
void decimalToDegMinSec(double angle, int& degrees, int& minutes, double& seconds);
double degMinSecToDecimal(int degrees, int minutes, double seconds);
void decimalToHourMinSec(double angle, int& hours, int& minutes, double& seconds);
float sphereIlluminationFraction(Point3d spherePos,
Point3d viewerPos);