← BACK TO SKY
LUNAR SKY
A real-time visualization of the sky as seen from the surface of the Moon. Every star, planet, and the Earth itself is plotted using actual orbital mechanics — not approximations or artistic impressions.
THE THREE LOCATIONS
Mare Orientale — Western Limb
Standing on the eastern rim of this massive impact basin, you are on the very edge of the Moon's Earth-facing side. The Earth sits permanently on the horizon, bobbing gently with lunar libration (±7° over 27 days). You experience a full day/night cycle: 14.75 days of sunlight, then 14.75 days of darkness lit only by earthshine. This is the “default” view because it offers the most dynamic scene — sunrise, sunset, earthshine, and a horizon-hugging Earth all in one frame.
Shackleton Crater — Lunar South Pole
NASA's Artemis III target. At 89.9°S, the crater floor is one of the coldest places in the solar system — permanently shadowed, never reached by direct sunlight. The sun barely skims the rim, while the Earth performs a slow “libration dance” on the horizon, rising and setting over the 27-day cycle. The ground is rendered near-black because that's what you'd actually see: darkness, with only faint earthshine occasionally illuminating the regolith.
Tranquility Base — Sea of Tranquility
The Apollo 11 landing site. From here, the Earth hangs at roughly 67° altitude — almost directly overhead, always in the same patch of sky. This view looks straight up at Earth with no horizon, framed by stars.
DESIGN CHOICES
- 90° FOV — consistent across all three locations, approximating natural human peripheral vision.
- Rotating Earth — the DSCOVR/EPIC satellite image is rotated at 15°/hour based on its capture timestamp, so continents move across the disk as they would in reality.
- No atmospheric scattering — the Moon has no atmosphere. Stars don't twinkle, they appear as steady points. There is no blue sky gradient, no horizon glow. Stars are visible during lunar day (the sun doesn't wash them out in a vacuum).
- Permanent shadow at Shackleton — the crater floor never sees direct sunlight. The panorama is darkened to near-black, with subtle blue earthshine glow when the Earth is above the horizon.
- Phase terminator — the day/night line on Earth is computed from the Moon's synodic phase, matching what you'd actually see from the lunar surface.
- Earth angular size — 1.9° apparent diameter (3.7× our Moon as seen from Earth), rendered at 1.6× true scale for readability at screen resolutions.
- Pan & zoom — drag to explore the sky, scroll or pinch to zoom (15°–120° FOV). Double-click or press Escape to snap back to the default Earth-facing view.
- Star magnitude limit — 6.0 (5,070 stars). On the airless Moon there is no atmosphere to scatter light or set a practical naked-eye limit; magnitude 6.0 represents a conservative lower bound for naked-eye visibility in a truly dark sky.
DATA SOURCES & ATTRIBUTIONS
- VSOP87 — primary planetary position engine (Sun, Mercury through Neptune), running client-side in JavaScript. Bretagnon & Francou, 1988.
- JPL Horizons — server-side refinement for bright planets, cached and served via API every 10 minutes. NASA Jet Propulsion Laboratory.
- IAU Lunar Coordinates — selenographic observer positions, lunar local sidereal time.
- DSCOVR/EPIC — real Earth photographs from NASA's Deep Space Climate Observatory at the Sun-Earth L1 point, updated every ~2 hours. NASA/NOAA.
- HYG Database v4.1 — 5,070 stars to magnitude 6.0, with J2000 equatorial coordinates and B-V color indices for accurate star colors. Compiled by David Nash from Hipparcos, Yale Bright Star Catalog, and Gliese/Jahreiß catalogs. astronexus/HYG-Database.
- Milky Way panorama — ESO/S. Brunier, 360° equirectangular panorama (eso0932a), 4096×2048, CC BY 4.0. Projected from equatorial coordinates onto the lunar sky using per-pixel inverse projection.
- Lunar surface panorama — Apollo 11 photograph (NASA/Buzz Aldrin), used as horizon texture. See note below.
- NASA DUST (planned) — Digital Lunar Exploration Sites Unreal Simulation Tool, v1.9.3, NASA Case No. MSC-27522-1. Johnson Space Center. To be used to render terrain-accurate surface panoramas from LRO LOLA digital elevation model data. Received under NASA Software Usage Agreement (General Public Release).
- LRO LOLA DEM — Lunar Reconnaissance Orbiter Lunar Orbiter Laser Altimeter digital elevation model. NASA Goddard PGDA, pgda.gsfc.nasa.gov. Underlies both DUST terrain and planned Blender renders for Orientale and Tranquility.
LUNAR SURFACE PANORAMA
The horizon panorama currently used at all locations is a photograph taken by Buzz Aldrin during the Apollo 11 mission at the Sea of Tranquility. It does not represent the actual surface at Shackleton Crater or Mare Orientale — no boots-on-the-ground photography exists for those locations. At Shackleton, the panorama is darkened to near-black to reflect the permanent shadow of the crater floor. At Mare Orientale, it cycles between lit and dark with the 29.5-day lunar day.
Location-accurate terrain panoramas are planned using NASA DUST (Shackleton) and LRO LOLA elevation data rendered in Blender (Orientale, Tranquility), once those assets are prepared.
WHAT'S REAL, WHAT'S NOT
- Real: Star positions, planet positions, Earth phase, Earth altitude/azimuth, sunrise/sunset timing, libration effects, earthshine brightness, Milky Way position and orientation
- Approximate: Earth rotation (15°/hr from EPIC capture time), libration amplitude
- Artistic license: Earth rendered at 1.6× true angular size, star glow halos
- Placeholder: Lunar surface panorama (Apollo 11 photo used for all three locations)
TECHNICAL NOTES
Everything runs in the browser via HTML5 Canvas. The server (Flask on GCP e2-micro) only provides cached Horizons data and EPIC Earth images. No WebGL, no Three.js — just 2D canvas and math.
The lunar local sidereal time computation accounts for the Moon's synchronous rotation, converting Earth-centric RA/Dec coordinates into selenographic alt/azimuth. Earth's position is computed directly from selenographic geometry rather than the inverse-Moon approach, which is more accurate for limb and polar observers.
The Milky Way is rendered via per-pixel inverse projection: each screen pixel is reverse-projected to alt/az, converted to equatorial RA/Dec, then sampled from the ESO equirectangular panorama with bilinear interpolation. This ensures the galactic plane aligns correctly with the star catalog at all times and locations.