Write a math equation, watch a 3D surface come to life. Customize with GLSL shaders, apply symmetries, animate with time, and export for 3D printing.
A complete toolkit for creating and exploring mathematical surfaces in 3D
Define surfaces with X(u,v), Y(u,v), Z(u,v) in Cartesian, Spherical or Cylindrical coordinates. 50+ built-in forms included.
Two Monaco-based editors for fragment (color) and normal deformation shaders. Full GLSL with live compilation.
Repeat the mesh along X/Y/Z axes up to 48 times. Adjust angle, checkerboard pattern, and blending mode.
Displace vertices along their normals with per-axis amplitude and frequency. 20+ built-in deformation functions.
Use the t variable in any equation for real-time animation. Control speed, pause, and record as video.
Export your surfaces as OBJ, STL or JSON. Import OBJ meshes. Save and share shader collections as .js files.
From equation to 3D surface in seconds
Choose from 50+ built-in forms or start with a blank canvas
Edit X, Y, Z as functions of u and v using shorthand notation
Adjust shaders, colors, symmetry, transformations, and animation
Download as OBJ or STL for 3D printing, or record a video
The equation parser expands shorthand notation automatically
| You write | Expands to | |
|---|---|---|
cu | → | cos(u) |
sv | → | sin(v) |
cufv | → | cos(u*v) |
2u | → | 2*u |
m | → | m() — multiplicative cosine |
o | → | o() — additive cosine |
R | → | h(x,y,z) — distance from origin |
q(a,b,t) | → | mix(a,b,t) — interpolation |