(* :Tests: *) (* :Examples: ImplicitPlot3D[x^2 + 2 y^2 + 3 z^2 == 3, {x, -3, 3}, {y, -3, 3}, {z, -3, 3}] (* ellipsoid *) ImplicitPlot3D[x^2 + y^2 + z^2 - 1 , {x, -1, 1}, {y, -1, 1}, {z, -1, 1}] (* unit sphere. If the first argument of ImplicitPlot3D is not an equation, it is assumed that argument is to be set to zero. *) ImplicitPlot3D[x^2+y^2-z^2==1, {x,-2,2}, {y,-2,2}, {z,-2,2}, PlotPoints->{{2,2,2},{2,2,2},{2,2,2}}] (* hyperboloid of one sheet. The ultimate resolution is that obtained by making 3 passes of successively finer resolution. The first pass divides the original range into 8 smaller ranges. Each of those subranges that contain the surface are again subdivided into 8 subranges. The process is repeated for a third pass.*) ImplicitPlot3D[E^z Cos[x] == Cos[y], {x,-6,6}, {y,-6,6}, {z,-6,6}, PlotPoints->{16,16,12}, Passes->4] (* Scherk's minimal surface. The ultimate resolution is equivalent to dividing the range into 16 * 16 * 12 points. This is realized by making 4 passes of successively finer resolution. *) ImplicitPlot3D[z^2 == 1 - (2 - Sqrt[x^2+y^2])^2, {x,-3,3},{y,-3,3},{z,-1,1}, PlotPoints->{15,15,10}, Passes->Automatic] (* A one%holed torus. The option for PlotPoints chooses the maximum number of passes possible that can be used in rendering the plot with divisions 15 by 15 by 10. *) ImplicitPlot3D[ x^2+y^2+z^2 == (1 - 0.2LegendreP[3, z/Sqrt[x^2+y^2+z^2]])^2, {x,-1.2,1.2},{y,-1.2,1.2},{z,-1.2,1.2}, BoxStyle -> Dashing[{0.02, 0.02}], Axes -> True] (* a spheroid with zonal harmonics. Any options for Graphics3D can be used. (The resolution for this plot is the default PlotPoints->{{5,5,5},{3,3,3}}). *) ImplicitPlot3D[x y z == 0, {x,-1,1}, {y,-1,1}, {z,-1,1}, PlotPoints->{{3},{3}}] (* Surface with points of multiplicity greater than 1. PlotPoints->{{3},{3}} is equivalent to PlotPoints->{{3,3,3},{3,3,3}} *) ImplicitPlot3D[x^4 + y^4 == z^4, {x,-1,1}, {y,-1,1}, {z,-1,1}, PlotPoints->{{3},{3}}] (* a quartic Fermat cone, this illustrates a poor choice of the option PlotPoints because the vertex of the cone is not rendered. To render the vertex either increase the resolution or in this case, make sure the vertex of the cone lies on one of the vertices of one of the subboxes given by PlotPoints. *) ImplicitPlot3D[x^3 + x^2 y^2 == z^4, {x,-1,1}, {y,-1,1}, {z,-1,1}, PlotPoints->{{3},{-3}}] (* error message generated since nonpositive numbers are not allowed in the PlotPoints option *) ImplicitPlot3D[E^(x y^2) + Cos[x^2 + y^2 + z^2] == 0, {x,-3,3}, {y,-1,1}, {z,-5,5}, PlotPoints->{{{3}},3}] (* error message generated because of bad listing of the PlotPoints option *) *)