How this site is made

The figure library

Every picture here is generated from code at build time. This page lists each family of figures in its plainest form, with every essay that draws on it.

No figure here is a drawing that was made once and saved. Each one is a function: it takes parameters and returns SVG, so the same generator produces the 27° incline and the 5° incline without either being redrawn.

That is the reason the collection can keep growing without the illustrations drifting apart. A generator is written once, checked once, and every essay that calls it inherits the same line weights, the same colour roles, and the same behaviour in dark mode. There are 103 of them so far.

Each is listed with the essays that call it, most-reused first. That ordering is not decoration: a generator used once is a design failure rather than a neutral cost, and a generator used twenty times has a blast radius worth knowing before it is edited. The count below is what npm run phase gates — it refuses to advance a phase in which figures per generator has fallen.

One word, two mechanisms, opposite signs. Viscosity on a logarithmic axis against temperature over the range 280 to 360 kelvin, where gases and liquids can both be measured. The gases rise and the liquids fall, and the two families are separated by three decades of magnitude as well as by sign. The logarithmic slopes at the middle of the range are 0.76 for air, 0.69 for helium, -6.13 for water, -5.41 for ethanol, -23.00 for glycerol, so the steepest liquid responds 30 times more strongly than the gas and in the other direction. Nothing about the word viscosity requires this: what is being measured in both cases is the ratio of a shear stress to a shear rate, and that definition says nothing about what carries the momentum. In a gas it is molecules in free flight, so heating speeds up the carriers; in a liquid the molecules are permanently in contact and what has to happen is one of them getting past its neighbours, so heating removes an obstacle rather than adding a carrier. The obvious question this raises is what a dense gas near its critical point does, where neither picture holds, and the honest answer is that neither formula on this chart applies there at all.

Every branch viscosity-temperature draws, and what checks it

spacetime

13 essays

A spacetime diagram at β = 0.5. Position across, time up, in units where light travels at 45°. The shaded wedges are the future and past reachable by light; the tilted axes belong to an observer moving at 0.5 of the speed of light.

Every branch spacetime draws, and what checks it

energy-levels

12 essays

The energy ladder of hydrogen. The first 6 energy levels of hydrogen, drawn to scale in eV, at -13.61, -3.40, -1.51, -0.85, -0.54, -0.38. The levels crowd toward zero rather than spreading out, so the levels have a top and an atom has an ionisation energy. The arrow marks a transition: 3 to 2 releases 1.890 eV, a photon at 656.1 nm.

Every branch energy-levels draws, and what checks it

em-wave

11 essays

The same loop, spanned two ways. A 100 cm² capacitor with a 2 mm gap, charged at 1.0 million volts per second. A loop drawn round the wire can be spanned by a flat surface, which the current of 44.271 µA passes through, or by a bag-shaped surface that passes between the plates, which no charge crosses at all. Ampère's law as it stood gave two different answers for one circulation. The rate of change of electric flux between the plates, multiplied by ε₀, is 44.271 µA — the same number to every figure, because C = ε₀A/d is the same ε₀A/d either way. That is the term, and it is not an approximation or a correction: it is what makes the law consistent at all.

Every branch em-wave draws, and what checks it

interval-hyperbola

11 essays

What puts a scale on a tilted axis. A spacetime diagram with a second observer's axes at β = 0.6. The curves are the sets of events at a fixed interval from the origin — c²t² − x² = s², one branch each for s = 0.5, s = 1, s = 1.5 — and the whole point of them is where they cross. A unit of the moving observer's time is wherever the s = 1 curve meets the tilted time axis, and on the page that point is 1.250 times as far from the origin as the stationary observer's own unit. Without the hyperbolae the tilted axes carry no scale at all, and every argument about which of two clocks is behind is unreadable off the diagram. Each drawn crossing reads back as its own interval to 0.0e+0.

Every branch interval-hyperbola draws, and what checks it

solenoid-field

11 essays

The end of the winding is where the field is half. Field on the axis of a solenoid, in units of the infinite-solenoid value μ₀nI, with distance measured in half-lengths so that ±1 is the mouth of the winding whatever its length. At 1:1 the centre reaches 0.7075 of μ₀nI and the end plane 0.4472, a ratio of 0.6322; At 2.5:1 the centre reaches 0.9285 of μ₀nI and the end plane 0.4903, a ratio of 0.5280; At 5:1 the centre reaches 0.9806 of μ₀nI and the end plane 0.4975, a ratio of 0.5074; At 10:1 the centre reaches 0.9950 of μ₀nI and the end plane 0.4994, a ratio of 0.5019. Every point is a sum of Biot–Savart contributions from each of the turns, and the centre value agrees with the closed form for a continuous winding to 0.049 per cent. The half is exact only in the limit: a winding as long as it is wide gives 0.63, and the familiar rule is a statement about a solenoid nobody has.

Every branch solenoid-field draws, and what checks it

surface-energy

11 essays

Surface at fixed volume. Four shapes of identical volume with their surface areas evaluated. The sphere's is the smallest at 4.836; the flattest shape drawn carries 1.91 times as much. Surface tension is an energy per unit area, so a free drop of liquid has an incentive to be the first of these and none at all to be any of the others.

Every branch surface-energy draws, and what checks it

fourier-packet

10 essays

A packet, and the wavenumbers it is made of. Above: a wave packet built by adding a continuum of plane waves centred on wavenumber 12 with a spread of 1.6. Below: the weight given to each wavenumber. The packet's width, measured as the standard deviation of its probability, is 0.442; the spread of wavenumbers is 1.131; their product is 0.500, which is a half and cannot be less. Narrowing one bracket widens the other by exactly as much. Nothing quantum has been used to draw either panel.

Every branch fourier-packet draws, and what checks it

microstates

10 essays

Ways to arrange 10 coins. The number of distinct arrangements giving each number of heads, for 10 coins. Every individual arrangement is equally likely; the middle wins because there are more ways to reach it.

Every branch microstates draws, and what checks it

polariser-stack

10 essays

Malus's law. The fraction of polarised light passing a filter, against the angle between the light's own direction of shaking and the filter's axis. It is the cosine squared: half at 45 degrees, nothing at 90.

Every branch polariser-stack draws, and what checks it

Total energy against speed, in units of the rest energy. The total energy of a moving body divided by its rest energy, against speed as a fraction of the speed of light. The Newtonian answer, one plus half v squared over c squared, is drawn beside it: the two agree to 0.004 per cent at a tenth of light speed and disagree by 39 per cent at nine-tenths. The relativistic curve has a vertical asymptote at c, which is why nothing with mass reaches it.

Every branch relativistic-energy draws, and what checks it

band-formation

9 essays

One well, two wells, and the band they become. The energy levels of a chain of identical wells, for 1, 2, 3, 6, 12, 40 of them, with an on-site energy of -4 eV and a coupling of -0.9 eV between neighbours. One well has one level. Two split it into two, 1.80 eV apart. By 40 the levels have filled a band 3.59 eV wide, which is closing on the limit of four times the coupling, 3.60 eV — and no further widening happens however many more wells are added. The count of levels grows with the number of wells; the width of the band does not.

Every branch band-formation draws, and what checks it

The ceiling on a heat engine. Maximum possible efficiency against the ratio of cold to hot reservoir temperature. Reaching 100% would need a cold reservoir at absolute zero. The line is marked at ratios of 0.9, 0.7, 0.5, 0.25, where the ceiling stands at 10%, 30%, 50%, 75%.

Every branch engine-efficiency draws, and what checks it

flux-freezing

9 essays

What a collapse does to a field. A body of radius 700,000 km carrying a field of 0.01 T, collapsing to 10 km. The flux through every comoving loop is fixed, so B goes as 1/R² and the field reaches 4.9·10⁷ T — a compression of 7·10⁴ in radius bought a factor of 4.9·10⁹ in field. The line has slope exactly −2 and that is the only claim being made: what a real object ends up with also depends on how well the flux was held, and on what generated it.

Every branch flux-freezing draws, and what checks it

What friction returns, against what it is asked for. The friction force on a block under a 50 N normal load, against the force applied to it. Below 30.0 N — the static limit μs·N — friction returns exactly what is asked for and nothing moves, so the curve is the 45° line and the coefficient never appears. At that point the surface gives way and the force drops to μk·N = 22.5 N, where it stays however hard the block is pushed. The gap above the flat line is the surplus that accelerates it: 22.5 N at the right-hand edge of the axis.

Every branch friction-response draws, and what checks it

hysteresis-loop

9 essays

A material that remembers, and the curve it can never return to. The major loop of a Preisach material — 9216 elementary switches with a spread of coercivities and interaction fields, each carrying its own sign — together with two minor loops driven inside it and the initial curve rising from a demagnetised state. Coercivity 0.63 and remanence 0.77 are read off the drawing. The initial curve is inside the loop everywhere and is the one part of this figure that cannot be revisited: reaching it again means demagnetising the sample.

Every branch hysteresis-loop draws, and what checks it