|
| Skybright () |
| Constructor.
|
|
void | setDate (const int year, const int month, const float moonPhase, const float moonMag) |
| Set the sky date to use for atmosphere computation. More...
|
|
void | setLocation (const float latitude, const float altitude, const float temperature=15.f, const float relativeHumidity=40.f) |
| Set the position parameters to use for atmosphere computation. More...
|
|
void | setSunMoon (const float cosDistMoonZenith, const float cosDistSunZenith) |
| Set the moon and sun zenith angular distance (cosin given) and precompute what can be This function has to be called once before any call to getLuminance() More...
|
|
float | getLuminance (float cosDistMoon, const float cosDistSun, const float cosDistZenith) const |
| Compute the luminance at the given position. More...
|
|
Compute the luminance of the sky according to some parameters like sun moon position or time or altitude etc...
Further reading:
- B. Schaefer: Sky&Telescope 4/1987
- B. Schaefer: Astronomy and the Limits of Vision. Vistas in Astronomy 36, 311-361, 1993.
- B. Schaefer: To the Visual Limits. Sky&Telescope 5/1998 57-60.
- B. Schaefer: Archaeoastronomy XV, 2000.
TASKS TO IMPROVE: Some components of the Schaefer model as given in BASIC sourcecode in the 1998 S&T article are strongly simplified. E.g.,
- setDate should be taken always in the Gregorian Calendar, or circumvented altogether:
- RA takes the right ascension of the sun. –> Could be replaced with the proper value!
- bNightTerm includes an 11.0-year solar cycle, and will be erratic a few cycles from 1992. –> At least find a more accurate average period.
- Extinction could make use of the K computed in SetLocation. But first re-verify that the code here really follows the Schaefer model (with obvious amendments).