|
| 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...
|
|
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).
Compute the luminance of the sky according to some parameters like sun moon position or time or altitude etc...