PrimeMind lab
Three neighbouring primes make a triangle. Its apex sits a hair to the left of the ½ line, and that hair, measured on the number line, is the gap between the primes. Add the gaps up one triangle at a time, divide by √p, and the pen draws a wave whose tones are the zeta zeros.
The sides are three neighbouring primes, scaled so the longest is the base from 0 to 1. The circumcenter always lands on the ½ line. After the first few primes the triangle is equal-sided to the eye, which is why the next panel magnifies it.
One unit here is one step on the number line. The apex sits g₁ units left of the ½ line and (g₁ + 2g₂)/√3 below the equal-sided apex, so it lands on a triangular lattice with one site for each pair of gaps. Bigger dots are sites visited often in the last 3,000 triangles. The ring on the ½ line is the circumcenter, magnified about its own rest point.
Primes near p are about ln p apart on average, so that is the expected reading. 1 means exactly as expected. Taken one at a time the ticks look like noise. Drag on this strip or the next to move the pen.
The blue pen is the total read off the triangles. The green curve uses no primes at all, only the zeta zeros, and it is drawn ahead of the pen. The wave rides near 1 instead of 0 because primes run slightly behind schedule on average; that offset is classical too. Over the first few dozen primes the pen is still settling, and whatever mismatch is left further on is the zeros not yet switched on.
Frequency runs left to right and is measured against ln p; below 5 there is only slow drift, so the chart starts there. As the pen moves right the peaks sharpen and settle onto the zeros. Switch to raw ticks to see the same tones before they are added up: some zeros show, others are buried in the noise.
The base runs from 0 to 1, so its mirror line is x = ½. The circumcenter is equally far from both ends of the base, so it has to sit on that mirror. Any three lengths do this; primes are not needed. What the primes decide is how far the apex sits from the mirror (the gap g₁) and how high the circumcenter rides on it (g₁ + 2g₂).
The running total of surprises grows about as fast as √p, which is p to the power ½. Divide by exactly that and the wave stays level. Each tone in it comes from one zero, and its loudness goes as p to the power (real part − ½). Every zero having real part ½ means every tone holds steady forever. That statement is the Riemann Hypothesis. The what-if dial shows what the wave would do otherwise.
Both are mirror lines. Zeta has a mirror at real part ½, and a zero off it would need a twin on the other side. The triangle has a mirror at x = ½: swap the two shorter sides and the apex flips across it. The likeness is real, but the triangle's mirror is put there by how the base is laid down, and zeta's is a property of the function. Nothing here shows one causes the other. The triangle is a faithful gauge for the gaps; the wave and its zeros come from the gaps.
How to read the labels. Exact: plain geometry, true for every triangle. Exact to first order: the triangle reads the gaps with a small curvature error that fades as primes grow; the ledger shows both numbers, and the wave uses the gaps. Classical result: the wave and its rebuild from zeros are the explicit formula of prime number theory, known since Riemann and von Mangoldt, seen here through the triangle. What-if: an illustration, not a measurement of where the zeros are.