A Moon-phase widget - towards photorealism
Because the Moon is more interesting than a white disk.
For a demo, see
Just another Moon-phase widget.
But this one supports libration and varying size.
Ideally, it would also do terminator crater shadows.
Details can sometimes encourage understanding.
As in "mountains are casting shadows" -> "night is being in the shadow of the planet".
- Libration. The Earth and Moon both orbit the Sun, with the Moon weaving back and forth across Earth's orbit. While the "same half" of the Moon always faces the Earth, that's only approximately true - libration is the variation.
- Size varies. Because Earth-Moon distance varies.
- Terminator crater shadows. The Moon is very noticeably not smooth.
- Accepts input. User can grab the terminator, and by moving it, change the date.
- Deep-time support. Size increase. Maria and crater (dis)appearence.
Intentionally not included:
- Apparent motion of rotation axis.
NASA LRO's Moon Phases 2013 video
Apparent Disk of Solar System Object
SFA Moon Phase Calendar
Moon Phases from -1999 to +4000
- There's a bug somewhere: the displayed Moon has libration non-linearities (it "twitches"). The real Moon doesn't.
- No crater or mountain shadows.
So centuries fit on a screen. An interactive app.
Track down twitch. Eg 2013-06-19 to -21.
The astronomy code refuses dates < 1600 CE.
Need code with broader coverage.
Is there a current/maintained in-browser astronomy library we could swap in? Orb.js? Fixes twitch bug?
Make moon a link to USNO's diskmap.
Or would they rather not have the traffic? Somewhere else?
Moon image map is of unknown correctness. List this as bogosity?
Terminator shadows. Add bump map (existent, or from LRO data).
Package code. Inline demo?