3D Surface Plotter

An online tool to create 3D plots of surfaces.

This demo allows you to enter a mathematical expression in terms of x and y. When you hit the calculate button, the demo will calculate the value of the expression over the x and y ranges provided and then plot the result as a surface. The graph can be zoomed in by scrolling with your mouse, and rotated by dragging around. Clicking on the graph will reveal the x, y and z values at that particular point.

The table below lists which functions can be entered in the expression box.

Expression Description
sin(x) The sine of x in radians
cos(x) The cosine of x in radians
tan(x) The tangent of x in radians
asin(x), acos(x), atan(x) The inverse of the three trigonometric functions listed above
sqrt(x) The square root of x (for positive x only)
log(x) The natural logarithm of x
pow(x, y) The power of x to the y

You can also apply certain constraints/inequalities to the graph. If, for example, you wanted to show the funtion $$x^2$$ - $$y^2$$ but only in areas where $$x$$ is greater than $$y$$, you would enter "if (x > y, x*x - y*y)" in the expression box. You can also enter a third option which will be plotted if the first condition is not met - for example "if (x > y, x*x - y*y, x)" will plot $$x^2$$ - $$y^2$$ in all areas where $$x$$ is greater than $$y$$, and $$x$$ in all areas where x is not greater than y.

The resolution slider can be used to increase the number of data points displayed on the graph, which gives a smoother final result, but since this needs more computational power, you may notice a slight decrease in frame rate when interacting with the graph.

Every time you hit the "Calculate" button, the URL updates with your current settings meaning you can share a link directly to a graph of your choice without having to keep typing in the settings.

Please note, if your surface includes complex numbers, only the real part will be plotted.