← All projects
Completed2025Physics simulation

Universe Simulator

A Python 3D solar-system simulation with N-body gravity and Velocity-Verlet integration.

The short version

Universe Simulator sits where two of my interests meet: programming and physics. Instead of animating planets on fixed circles, it calculates gravitational interaction between bodies and updates the system step by step.

  • Python
  • VPython
  • NumPy
  • Velocity-Verlet integration

Inside the project

Selected screens and details.

A closer look at the product in its current form.

The simulation running with orbit trails and interactive camera control.
01

How it works

Every orbit is the result of the previous step.

The simulation computes N-body gravitational forces and advances position and velocity with Velocity-Verlet integration. It includes the Sun, planets, the Moon, satellites, a star field, orbit trails, zoom, follow-body controls, and adjustable simulation speed.

02

Limitations

Accuracy and legibility cannot share the same scale.

Scale is the immediate challenge: accurate astronomical distances and accurate body sizes do not make a readable desktop visualization. The simulator therefore makes visual compromises, and the time step trades accuracy for speed. Those choices became part of understanding the physics rather than a cosmetic afterthought.

03

What I learned

Numerical error becomes part of the motion.

A tiny error repeated thousands of times becomes an orbit that drifts. This project made integration methods, units, and initial conditions feel concrete—and showed me why complex systems can be deterministic without feeling simple.