In this program, I use a number that corresponds to the Moon phase:
Phase | Name |
0.00 | Full Moon |
0.00-0.25 | Waning Gibbous Moon |
0.25 | Last Quarter Moon |
0.25-0.50 | Waning Crescent Moon |
0.50 | New Moon |
0.50-0.75 | Waxing Crescent Moon |
0.75 | First Quarter Moon |
0.75-1.00 | Waxing Gibbous Moon |
1.00 | Full Moon (again) |
"Waxing" means growing and "waning" means shrinking. One appropriate definition of "gibbous" is "swollen on one side."
Notice the solar eclipse at phase 0.50!!! In reality, the Moon's orbit is slightly tilted, so solar eclipses are rare, not every month. Try a phase of 0.5001 for a cool view of an eclipse (be sure to use Earth View).
Source: MoonPhase.java