A Moon-phase widget - towards photorealism
Because the Moon is more interesting than a white disk.

For a demo, see Days-as-dots demo.

Just another Moon-phase widget. But this one supports libration and varying size. Ideally, it would also do terminator crater shadows.

Why? Details can sometimes encourage understanding. As in "mountains are casting shadows" -> "night is being in the shadow of the planet".

Features

Interesting:

  • 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.

Unimplemented:

  • 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.

Resources

NASA LRO's Moon Phases 2013 video on YouTube. Source.

Apparent Disk of Solar System Object

SFA Moon Phase Calendar

Moon Phases from -1999 to +4000

Bogosity

  • There's a bug somewhere: the displayed Moon has libration non-linearities (it "twitches"). The real Moon doesn't.
  • No crater or mountain shadows.

Related pages

So centuries fit on a screen. An interactive app.

Credits

Moon image. Clementine derivative.
Moon phase. Modified Keith Burnett's ephemeris.
3D. three.js

Doables

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?

Page history

2013-02
Online.
About
-announce
Follow
Like
+1
Home
Mark it up No JS?
Comment
Email me

Tweet
Fb share
Preview