User Rating 0.0
Total Usage 0 times
Click a moon
Day 0.00
Io Europa Ganymede Callisto
Presets:
Orbits completed: Io: 0 Europa: 0 Ganymede: 0 Callisto: 0
Is this tool helpful?

Your feedback helps us improve.

About

Jupiter's four Galilean moons - discovered by Galileo Galilei in 1610 - remain critical objects in planetary science. Their orbital periods follow near-integer ratios: Io, Europa, and Ganymede exist in a 1:2:4 Laplace resonance, meaning for every 4 orbits Io completes, Europa completes 2 and Ganymede completes 1. This simulation calculates each moon's position using Keplerian circular orbit equations with real semi-major axes and periods from NASA/JPL ephemeris data. Orbital radii range from 5.91 RJ for Io to 26.33 RJ for Callisto. Note: eccentricities are small (0.004 to 0.007) so circular approximation introduces less than 1% positional error.

Misunderstanding these orbital mechanics leads to errors in transit timing predictions, Juno mission planning windows, and amateur telescope observation scheduling. The tool renders accurate relative positions at any simulation speed from 0.1× to 100× real-time, with a perspective tilt of 10° to visualize depth. Pro tip: watch for the Laplace resonance - when Io completes its fourth orbit, Europa will be at its second and Ganymede at its first.

jupiter galilean-moons orbital-simulation astronomy solar-system animation io europa ganymede callisto

Formulas

Each moon's position in the orbital plane is computed using Keplerian circular motion. The angular position θ at simulation time t is:

θ(t) = 2πT t + θ0

where T = orbital period in days, t = elapsed simulation time in days, θ0 = initial phase angle. Cartesian coordinates in the orbital plane:

x = a cos(θ)
y = a sin(θ) cos(φ)

where a = semi-major axis (in RJ), φ = viewing tilt angle (10°). The vertical component determines z-ordering for occlusion:

z = a sin(θ) sin(φ)

Moons with z < 0 are behind Jupiter and rendered at reduced opacity. The orbital velocity of each moon can be derived as:

v = 2πaT

Variable legend: θ = angular position (radians), T = orbital period (days), a = semi-major axis (RJ), φ = perspective tilt angle, v = orbital velocity, θ0 = initial phase offset.

Reference Data

MoonSemi-Major AxisOrbital PeriodDiameterMassEccentricityInclinationDiscoveryMean DensitySurface Gravity
Io421,700 km (5.91 RJ)1.769 days3,643 km8.93 × 1022 kg0.00410.036°1610 (Galileo)3,528 kg/m31.796 m/s2
Europa671,100 km (9.40 RJ)3.551 days3,122 km4.80 × 1022 kg0.00940.466°1610 (Galileo)3,013 kg/m31.314 m/s2
Ganymede1,070,400 km (14.97 RJ)7.155 days5,268 km1.48 × 1023 kg0.00130.177°1610 (Galileo)1,942 kg/m31.428 m/s2
Callisto1,882,700 km (26.33 RJ)16.689 days4,821 km1.08 × 1023 kg0.00740.192°1610 (Galileo)1,834 kg/m31.235 m/s2
Jupiter (host) - 4,333 days (solar orbit)139,820 km1.898 × 1027 kg - 1.303°Antiquity1,326 kg/m324.79 m/s2
Laplace Resonance Ratios (Io : Europa : Ganymede)
Orbital Ratio1 : 2 : 4Period Ratio1.769 : 3.551 : 7.155Error < 0.3%
Io orbital speed17.33 km/sEuropa orbital speed13.74 km/s -
Ganymede orbital speed10.88 km/sCallisto orbital speed8.20 km/s -
Hill Sphere (Jupiter)0.338 AU50.6 million kmAll Galilean moons orbit well within this limit
Roche Limit (Jupiter)175,000 km2.45 RJIo orbits at 5.91 RJ, safely beyond

Frequently Asked Questions

The Laplace resonance is a gravitational lock maintained by tidal interactions. Each conjunction between adjacent moons always occurs at the same orbital longitude, preventing destabilizing perturbations. The resonance is stable over billions of years. In this simulation, you can verify the ratio by counting orbit completions: when Io finishes 4 loops, Europa will have completed exactly 2, and Ganymede exactly 1.
The eccentricities of the Galilean moons range from 0.0013 (Ganymede) to 0.0094 (Europa). For circular approximation, the maximum radial error is a × e, which for Europa is 9.40 × 0.0094 ≈ 0.088 Jupiter radii - less than 1% of its orbital radius. For visual simulation purposes at this scale, the difference between elliptical and circular paths is sub-pixel.
Jupiter's equatorial plane (where the Galilean moons orbit) is tilted approximately 3.13° relative to its orbital plane. The 10° tilt used in this simulation exaggerates this to create visual depth on a 2D screen. Without tilt, all orbits would appear as straight horizontal lines since we view them edge-on. The tilt allows you to see the elliptical projection and correctly identify which moon is in front of or behind Jupiter.
Callisto orbits at 26.33 Jupiter radii - nearly twice the distance of Ganymede at 14.97 Jupiter radii. At this distance, gravitational coupling with the inner three moons is too weak to establish resonance locking. Callisto's period of 16.689 days does not form a simple integer ratio with Ganymede's 7.155 days (ratio ≈ 2.33). This isolation is why Callisto's surface is the most heavily cratered - without tidal heating from resonance, it has been geologically dead for billions of years.
The simulation uses continuous trigonometric functions rather than discrete time-stepping, so positions are mathematically exact at any speed. At 100× speed, Io completes one orbit every 25.5 real seconds (1.769 days ÷ 100 × 86400 ÷ 60 ≈ 25.5s). The requestAnimationFrame loop typically runs at 60fps, giving roughly 1530 position samples per Io orbit even at maximum speed - more than sufficient for smooth visual rendering.
The opacity change indicates z-depth relative to Jupiter. When a moon's z-coordinate (calculated as a·sin(θ)·sin(φ)) is negative, the moon is geometrically behind Jupiter's disk. The simulation reduces opacity to 40% and draws these moons before Jupiter, creating proper occlusion. This mimics what telescope observers see: moons periodically disappear behind Jupiter (occultation) or in front of it (transit).