Creates a solid object by building downwards from the deformed surface.
Deformation Type
Sine Wave Controls
Radial Ripple Controls
Noise / Terrain Controls
Parabolic Dish Controls
Determines the "depth" of the curve.
Custom Function Controls
Use 'x' and 'z' variables. Height (y) is the return value.
Warning: Uses dynamic function creation. Be cautious with input.
Export
3D Deformable Plane Generator
Visualise any mathematical surface in 3D instantly — pick a preset or type your own formula and watch it render live.
What this tool does
Enter a mathematical function f(x,y) and the tool renders a deformable 3D plane in real time. Choose from 40+ presets including waves, terrain, crystals, and saddle surfaces, or write your own equation. Export the mesh as STL, OBJ, or GLB for further use.
Who this is for
Maths and physics students visualising surface functions
Educators teaching calculus and 3D geometry
3D artists generating organic mesh surfaces
Engineers analysing surface deformation profiles
How to use this tool
Pick a preset from the dropdown or type your formula in the input field
Adjust resolution (grid size) and amplitude
Rotate and zoom the 3D surface to inspect it
Export as STL, OBJ, or GLB
Inputs
Function f(x,y) — Any valid JavaScript math expression using x and y
Resolution — Grid density — higher = smoother, slower
Amplitude — Vertical scaling of the function output
Outputs
STL — 3D-printable surface mesh
OBJ — Import into Blender or Maya
GLB — Embed in web projects or share as 3D preview
Example use cases
Wave interference — Visualise sin(x)*cos(y) as a standing-wave surface
Terrain heightmap — Use a noise function to generate a landscape mesh
Saddle surface — Plot x²−y² for a calculus class demonstration
Crystal facets — Use a piecewise function to create angular gem-like geometry
Any standard JavaScript Math functions: Math.sin, Math.cos, Math.sqrt, Math.abs, Math.pow, etc.
▶ How do I increase surface quality?
Raise the resolution slider — note that very high values may slow down older devices.
▶ Can I export for 3D printing?
Yes — export STL and import into your slicer. Add a flat base in the slicer for stability.
▶ Is the function case-sensitive?
Yes — use lowercase x and y as the variables, and Math.sin() not Sin().
Need a custom tool built for your business?
SolvProb builds custom web apps, automation tools, and 3D experiences tailored to your workflow — typically faster and more affordable than you'd expect.