Skip to content

Latest commit

 

History

History
68 lines (52 loc) · 2.03 KB

File metadata and controls

68 lines (52 loc) · 2.03 KB

Solar System Simulation — EPQ Project

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.

What's Included

2D Solar System (EPQ_Solar_System.py)

Pygame-based simulation featuring:

  • Real planet images and a starfield background
  • Orbital paths governed by Kepler's laws
  • Elongation detection
  • Interactive menu system

3D Solar System (Solar_system_3D.py)

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

3D Controls

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

Setup

pip install -r requirements.txt

Usage

python EPQ_Solar_System.py      # 2D Pygame simulation
python Solar_system_3D.py       # 3D Matplotlib simulation

Project Structure

EPQ_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

Dependencies

  • Python 3.8+
  • pygame, numpy, matplotlib

Acknowledgements

Built using NASA planetary factsheet data (nssdc.gsfc.nasa.gov).