MechanicsWavesElectromagnetismThermal & StatisticalQuantumRelativity

An illustrated reference guide

Physics, made by
making it run.

Twenty experiments that build physics from the equations up — and then make those equations move. Each one is a from-scratch C++ simulation; every figure on this site is a real render straight out of it, not a stock illustration. Start anywhere.

20 chapters · 6 tracks, mechanics to general relativity · companion blog →

Part 1 Mechanics 8 chapters

Point masses, springs, and rigid bodies under Newton's laws — and the integrators that keep their energy honest.

Part 2 Waves 2 chapters

Couple the oscillators together and the system learns to propagate. Pulses, normal modes, and the Fourier recipe behind them.

Part 3 Electromagnetism 3 chapters

Static charges, the magnetic force that does no work, and Maxwell's fields generating themselves into light.

Part 4 Thermal & Statistical 3 chapters

Where temperature, pressure, diffusion, and phase transitions emerge from many particles that individually know nothing of them.

Part 5 Quantum 2 chapters

The particle becomes a complex wavefunction. Dispersion, tunneling, and the stationary states that set every spectral line.

Part 6 Relativity 2 chapters

A from-scratch general-relativistic ray tracer for a spinning black hole — images, spectra, shadows, and gravitational waves.

About this guide

This is a homage, in form, to Making Software by Dan Hollick — the idea that the best way to explain how something works is to show it, with pictures doing the heavy lifting. Here the subject is physics, and the pictures are not drawn by hand: they are the literal output of a physics engine written from scratch in C++.

Each chapter follows the same arc as the underlying lab notes: the question, the model, the numerical method chosen to respect what the physics conserves, and what the simulation actually shows. The running theme across all six tracks is that the integrator must match the structure you care about — symplectic for orbits, Boris for magnetic fields, unitary Crank-Nicolson for wavefunctions, monotone backward-Euler for eigenstates.

The companion essays and project notes live on the blog at ibra-niang.com, where every chapter links back for the longer write-up.