Earth–Moon — the Moon orbiting the Earth, at true scale
The Moon's position is the true geocentric distance (km), its speed the real km/s (from consecutive API state samples), and the discs are drawn at true radii (Earth 6,371 km · Moon 1,737.4 km) — by default nothing is enlarged; a single ×5 option exists only for visibility. The real umbra / penumbra / antumbra shadow cones are drawn with their true lengths, so an eclipse appears here exactly when it really happens — no dramatic effect added. Below the map the Moon is also shown as it really is lit (real illuminated fraction, real terminator, real bright-limb position angle), with your own horizon, and one lunation is laid out from the precomputed phase catalogue together with the engine's day-by-day motion. Data: /v1/tks/ephemeris (bodies=10,301) · /v1/tks/moon-day · /v1/tks/transitions?limb=moonphase|rashi-moon · eclipses: /v1/tks/eclipse · /v1/tks/eclipse-catalogue-full.
—
—
—
Live real values
—
Shadow geometry (real)
—
—
Nearest eclipses (catalogue)
—
Eclipse verification (API)
—
Press “Verify with API” to fetch the server engine's official eclipse computation for the given place (Lat/Lon) — magnitudes are place-dependent.
Phase, terminator & your horizon (real)
—
—
One lunation — real phase instants & real daily motion
—
—
Math & honesty
Radii: Earth R⊕ = 6371.0 km, Moon R☾ = 1737.4 km, Sun R☉ = 696000 km. Distance, ecliptic longitude/latitude and illuminated fraction come from the server each instant (DE440/DE441 apparent pipeline).
Earth's umbra length L_u = R⊕·D☉/(R☉−R⊕) (~1.37 M km); at lunar distance x the umbra is r_u(x)=R⊕(1−x/L_u) and the penumbra r_p(x)=R⊕+x(R☉+R⊕)/D☉.
Moon's shadow-cone length L_m = R☾·D☉☾/(R☉−R☾) (~0.37 M km); at Earth distance x its radius is r_m(x)=R☾(1−x/L_m) — r_m>0 ⇒ total, r_m<0 ⇒ annular (antumbra).
Perpendicular distance from the shadow axis p = d·|sin γ|, but a side test is essential: the projection on the axis t = d·cos γ > 0 — for a lunar eclipse the Moon must lie anti-sunward (tanti>0, full moon); for a solar eclipse sunward (tsun>0, new moon); plus γ<3°. Lunar: p+R☾ < r_u ⇒ total · p < r_u+R☾ ⇒ partial · p < r_p+R☾ ⇒ penumbral. Solar: p < R⊕+r_p(x) ⇒ shadow touches Earth, central when p < R⊕+|r_m|.
Phase card. The terminator is drawn from the engine's own illuminated fraction k: geometrically the lit region is a semicircle on the bright limb closed by an ellipse whose half-width is R(1−2k). Its orientation is the real position angle of the bright limb, χ = atan2(cos δ☉ sin(α☉−α☾), sin δ☉ cos δ☾ − cos δ☉ sin δ☾ cos(α☉−α☾)), from the engine's RA/Dec of Sun and Moon. The illuminated fraction is cross-checked against ½(1+cos i) with the engine's own phase angle i, and the apparent diameters (2·asin(R/d)) show by how much the Sun outweighs the Moon at that distance — which is exactly what decides total vs annular.
Your horizon. Altitude and azimuth are local spherical trigonometry on the engine's Moon RA/Dec with Greenwich apparent sidereal time GAST (H = GAST + λ − α☾) — the same convention the Sun–Earth page uses, so “is the Moon up over my head right now?” is answered without any extra ephemeris call.
Lunation card. The four phase instants are read from the precomputed moonphase catalogue (DE441 span, one request for four years) and the mean synodic month is the measured spacing of consecutive new moons (≈29.53 d); the sidereal month is measured the same way from the Moon's rashi-moon ingresses (≈27.32 d) — their difference is the Sun's own motion through one rāśi. The lower curve is the engine's real daily motion over 15 consecutive days, so the perigee/apogee speed swing is visible data, not a drawn effect.
Layout. Both pages share one rule for every canvas: text is placed only inside a safe band (so it can never run under the floating read-out box or off the canvas) and a label that would touch an older one is nudged to a free row — that is why no label can overlap another any more.
Honesty: the “Disc size” option (default original ×1; a single ×5 is offered purely for visibility) scales only the drawn radius; distance · orbit · speed · shadow cones are always at true scale — the badge shows the active factor. The authoritative eclipse verdict comes from the server engine; this page computes the same geometry itself, so an eclipse is not merely announced — it is seen.
All times are UTC. “Now” jumps to the present instant. The eclipse list comes from data/eclipse_catalogue_geo.json (DE441 span).