Equation Painter
+.670−.67
SOURCE
x = −10+1
LATEST TERMwaiting for the first ellipse

Any picture, one equation.

Drop in an image. It comes back redrawn from soft ellipses, with the full formula that paints every pixel written underneath, the way Yeganeh writes his: one mask e−ez, and a colour channel v.

01Picture
02Style
03Title
04Detail and time
Terms0
Elapsed0s
Left…
Error…

How it paints

A soft mask

e−ez

Close to 1 where z is negative, close to 0 where it is positive. Put an ellipse inside z and you get a stencil; the factor k in front sets how sharp its edge is, from a soft glow at 2 to a crisp line at 300, and a bend term curves it. Every term is one of these.

Three colours from one line

αj(v) + γj(v)U + δj(v)W
v = 0v = 1v = 2

Each coefficient is a quadratic in v through the red, green and blue values, so one expression gives all three channels; the U and W parts shade the term across its own axes. All three are solved exactly by least squares.

Search, then round

θ = 1.571, p = 0.214, k = 25

Each new term tries 64 random spots, favouring the ones furthest from your picture, scored at half resolution, then nudges the best one 160 times at full resolution inside its own window. Longer budgets read the picture in finer detail and add more terms. Numbers are rounded to two decimals as it goes, so the formula printed is exactly the one that drew.

What it does and does not do. The formula stores no pixels: each term is sixteen numbers, so a 1,000 term picture carries about sixteen thousand constants against the 1.2 million pixels it paints. The search does read your image to measure the difference, as any automatic fit must. Yeganeh designs each term by hand and each one means something, an eye or a fin; here each term is a patch the search chose.