A collection of solar system simulations built as part of an Extended Project Qualification (EPQ). The project explores Kepler's laws of planetary motion through interactive 2D and 3D visualisations with real orbital data.
Pygame-based simulation featuring:
- Real planet images and a starfield background
- Orbital paths governed by Kepler's laws
- Elongation detection
- Interactive menu system
Interactive 3D Matplotlib simulation featuring:
- All 8 planets (Mercury through Neptune) plus a comet with out-of-plane orbit
- Euler-integrated gravitational physics over 30 simulated years
- Sun glow effect, orbital guide rings, and starfield background
- Click-and-drag camera rotation, scroll-wheel zoom
- Jupiter moon view (press
J) — Io, Europa, Ganymede, Callisto - Saturn moon view (press
S) — Mimas, Enceladus, Tethys, Dione, Rhea, Titan - Moon views run at their own timescale (hours) for clear visibility
| Key | Action |
|---|---|
| Drag | Rotate / tilt camera |
| Scroll | Zoom in / out |
| Space | Pause / resume |
< / > |
Decrease / increase speed |
V |
Toggle inner / full system view |
J |
Jupiter moon view |
S |
Saturn moon view |
| Escape | Return to solar system |
pip install -r requirements.txtpython EPQ_Solar_System.py # 2D Pygame simulation
python Solar_system_3D.py # 3D Matplotlib simulationEPQ_SolarSystem/
├── assets/ # Planet images, background, UI sprites
├── EPQ_Solar_System.py # 2D Pygame simulation
├── Solar_system_3D.py # 3D Matplotlib simulation
├── requirements.txt
└── README.md
- Python 3.8+
- pygame, numpy, matplotlib
Built using NASA planetary factsheet data (nssdc.gsfc.nasa.gov).