Skip to main content
Graphing Calculator
English

3D Grapher

Plot any surface z = f(x, y) in your browser — no downloads, no plugins. Type an expression using x and y, then drag to orbit around it, scroll or pinch to zoom, and raise the grid detail to sharpen the mesh.

The plotter uses the same expression engine as the 2D graphing calculator, so every function you already know — sin, cos, sqrt, ^, and more — works here too. Where a function is undefined, the surface shows an honest gap instead of a fake streak.

Drag to rotate · scroll or pinch to zoom · focus the plot and use arrow keys / + / −

No surface plotted.

Detail:

How 3D rotation works

Dragging the plot orbits a virtual camera around the surface: horizontal drags change the azimuth (the compass direction you view from) and vertical drags change the elevation (how high above the xy-plane the camera sits). Scrolling or pinching moves the camera closer or farther. If you use a keyboard, focus the plot and use the arrow keys to rotate and + / − to zoom.

The surface is drawn with the painter’s algorithm: every mesh quad is projected with a true perspective camera, sorted back-to-front by depth, and drawn farthest-first with depth shading. Nearer geometry therefore hides what is behind it, which is what gives the plot its sense of solid depth. Leave the plot alone for a few seconds and it slowly rotates on its own — unless you have prefers-reduced-motion enabled, in which case it stays perfectly still.

What the presets show

Paraboloid (x²+y²) is the classic bowl: z grows with distance from the origin in every direction, with its minimum of 0 at (0, 0). It is the 3D analogue of the parabola y = x².

Ripple (sin(√(x²+y²))) draws concentric waves radiating from the origin — the value depends only on the distance from the origin, so every contour is a circle. It is a good way to see what radial symmetry looks like as a surface.

Saddle (x²−y²) curves upward along the x-axis and downward along the y-axis. The origin is a saddle point: a minimum in one direction and a maximum in another, the 3D version of an inflection-like critical point.

Honest rendering: gaps and z-scaling

Undefined points become gaps, never guesses. Plot 1/(x²+y²) and you will see the mesh break apart around the singularity at the origin, exactly like the 2D grapher breaks a curve at a vertical asymptote.

Very tall surfaces are uniformly shrunk in z so they fit on screen — the plotter tells you the scale factor (for example, "z-axis auto-scaled ×0.22"). The shape and the reported z minimum/maximum stay true to your expression; only the vertical proportions are compressed for viewing.

Frequently asked questions

What expressions can I plot in 3D?

Any expression in the variables x and y, using the same functions as the 2D calculator: powers (x^2), roots (sqrt), trigonometric functions (sin, cos, tan), exponentials, logarithms, and constants like pi. Anything else — for example a stray variable z — is rejected with a clear error message instead of silently plotting the wrong thing.

Why are there holes in my surface?

Holes are honest gaps where your function is undefined: division by zero, the square root of a negative number, or the logarithm of a non-positive number. The renderer skips those quads rather than drawing a misleading spike through the singularity.

What does the Detail setting change?

It sets the mesh resolution — how many grid divisions are sampled along each axis (24, 36, 48, or 64). Higher detail draws a smoother surface but evaluates the function more times (64² = 4,225 points per redraw), so start low on older phones.

Does the 3D grapher work on mobile?

Yes. One finger drags to rotate, two-finger pinch zooms, and a two-finger drag rotates at reduced sensitivity. The layout is mobile-first and the canvas is sized for its container with device-pixel-ratio scaling for crisp lines.

Is the 3D plot accurate?

The surface is sampled from your exact expression at each grid point — no AI estimation, no smoothing of the underlying math. Between grid points the mesh connects samples with straight quads, so very sharp features may look slightly faceted at low detail; raise the Detail setting to tighten the mesh.

Related pages