Play with formulas. Watch them move.
Wavelace draws your formula as a plot in three dimensions you can orbit, pause and share: a Fourier wave, a Klein bottle, a packet tunnelling through a wall. Twelve renderers, 181 presets.
Open the app Browse the presets Embed a plot → Free, and it runs in your browser: no account, nothing to install.
Twelve renderers, one formula
Write a formula once and it draws in any renderer that takes one: a ribbon in wave, a mandala in polar, a sheet in surface. Switching between them keeps what you typed. Two of the twelve read a description instead, a mechanical system or a grid world. Each tile below is a capture from the app; point at one to set it running (still, if your system asks for less motion), and click to open the preset.
-
surfacez = f(x, y, t)a wireframe coloured from violet in the troughs to red at the peaks, or a smooth lit solidOpens Ripple Tank
-
complexw = f(z, t)domain colouring on the GPU: hue is the argument, height the modulus; iterate it for Mandelbrot, Julia and NewtonOpens Mandelbrot
-
quantum 2Dψ under V(x, y)Schrödinger's equation in the plane, |ψ|² as a height field: a double slit, a scattering discOpens Double Slit
-
wavey = f(x, t)the curve in ink above the plane and grey below it, older copies receding into depth as a ribbonOpens Chirp Wave
-
polarr = f(θ, t)the curve flat on the plane, older copies stacked above itOpens Breathing Rose
-
shape(x, y, z) = f(u, v, t)a parametric surface as a mesh or a lit solid: spheres, tori, a Klein bottleOpens Klein Bottle
-
flow(ẋ, ẏ, ż) = f(x, y, z, t)a cloud of seeds carried by the field and integrated with RK4: Lorenz, Rössler and Thomas attractorsOpens Lorenz Attractor
-
curve(x, y, z) = f(u, t)a parametric curve anywhere in the volume, trailing older copies: helices, torus knots, Lissajous figuresOpens Spherical Spiral
-
quantumψ under V(x)a Gaussian packet evolving under the potential, drawn as a ribbon with particle dotsOpens Tunnelling Barrier
-
bellmana grid, one row per linevalue iteration on a grid world: each tile rises to what its square is worth, and its arrow points the way to goOpens Bellman 3×3
-
swarmf(r) between bodiesbodies pulled or pushed by a force that depends on their distanceOpens Gravity Disc
-
bodiesa spec, one body per linea mechanical system written as data: masses under gravity, charges under Coulomb, masses on springs, rods from a pivot, massless particles about a turning pair, or a bob on a spring that swings and bouncesOpens Figure-8
Bring the formula as you have it
Operators, LaTeX pasted in as you found it, or the symbols themselves; the multiplication sign can be left out, as in 2x. Type something it cannot read and it says so plainly, and the last working plot keeps moving.
| As typed | sin(x^2 + t) * cos(3*x - t) |
|---|---|
| LaTeX, as pasted | e^{-\frac{x^2+y^2}{4}}\cos t |
| Symbols, converted | x² − θ, sin θ·cos 2θ, √(x) |
| Implied products | 2x, 3(x + 1), \sin x \cos y |
| An integral | \int_0^\infty \sin(u)\,e^{-x u}\,du |
Put a plot in your page
Embed the plot alone, with the formula above it, the playback bar below, and a link back to the app. It takes the same link as the app, so a link you copy becomes an embed as soon as you swap app for embed in the address. The app’s Embed panel writes the code for you. The frame follows its wrapper’s width; the 4:3 ratio gives the height.
<iframe src="https://www.wavelace.com/embed#p=42&trace=1" title="Wavelace" loading="lazy" style="display:block;width:100%;aspect-ratio:4/3;border:0"></iframe>
Options in the link: play, spin, particles, ground, trace, fill, maths, view, theme, deck, formula, title, orbit, pan, zoom, and the camera. The frame on the right is that line, with a relative path.
For AI agents: start at https://www.wavelace.com/llms.txt, or connect to the MCP server at https://www.wavelace.com/mcp.