Graphics`ContourPlot3D`
You can create standard twodimensional contour plots using the builtin functions ContourPlot and ListContourPlot. ContourPlot3D is the threedimensional analog of ContourPlot. ContourPlot[f, x, xmin, xmax, y, ymin, ymax] will plot lines showing particular values of as a function of and . Similarly, ContourPlot3D[f, x, xmin, xmax, y, ymin, ymax, z, zmin, zmax] will plot surfaces showing particular values of as a function of , , and . ContourPlot3D works by dividing the threedimensional space into cubes and deciding if the surface intersects each cube. If the surface does intersect a cube, ContourPlot3D will subdivide this cube further, and so on.
Making threedimensional contour plots.
This loads the package.
In[1]:= <<Graphics`ContourPlot3D`
This produces a threedimensional plot of the zero values of the function.
In[2]:= ContourPlot3D[Cos[Sqrt[ x^2 + y^2 + z^2 ]], {x,2,2}, {y,0,2}, {z,2,2}]
Out[2]=
Options for ContourPlot3D.
Each value specified in Contours generates a different surface. ContourStyle colors each surface. To use this option, you must set Lighting > False. MaxRecursion sets the number of times you subdivide each cube. However, if the surface does not intersect the cube, the cube is not subdivided. With MaxRecursion > 0 the plot points are chosen from PlotPoints >x or PlotPoints >x, y, z. If MaxRecursion is greater than , recursion takes place. You can give a different number of plot points for the first and subsequent divisions of a cube. PlotPoints >, means that plot points are used first, and then if you subdivide, plot points are used. PlotPoints >, , , , , is also valid. ContourPlot3D and ListContourPlot3D return a Graphics3D object. This means the functions will accept any option that can be specified for a Graphics3D object.
Here is another plot showing a contour value of .
In[3]:= ContourPlot3D[x y z, {x,1,1}, {y,1,1}, {z,1,1}, Contours > {.1}]
Out[3]=
Options for ListContourPlot3D.
ListContourPlot3D takes a threedimensional data set interpreted as a representation of a function , where the ranges of x, y, and z are set by the MeshRange option. With the default value of Automatic for MeshRange, the ranges of x, y, and z are specified by the dimensions of the data set.
This defines a threedimensional array of data.
In[4]:= data = Table[x^2 + 2*y^2 + 3*z^2, {z, 1, 1, .25}, {y, 1, 1, .25}, {x, 1, 1, .25}];
Here is a plot of the contours and specified by green and red contour surfaces, respectively.
In[5]:= ListContourPlot3D[data, MeshRange > {{1,1}, {1,1}, {1,1}}, Contours > {1.5, 3.}, Lighting > False, Axes > True, ContourStyle > {{RGBColor[0,1,0]}, {RGBColor[1,0,0]}}]
Out[5]=
