This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


Updated In 8 Graphic
produces a three-dimensional space curve parametrized by a variable u which runs from to .
produces a three-dimensional surface parametrized by u and v.
plots several objects together.
  • No curve or surface is drawn in any regions where the corresponding or evaluate to None, or anything other than real numbers.
  • ParametricPlot3D has attribute HoldAll, and evaluates the , , ... only after assigning specific numerical values to variables.
  • In some cases it may be more efficient to use Evaluate to evaluate the , , ... symbolically before specific numerical values are assigned to variables.
AxesTruewhether to draw axes
BoundaryStyleNonehow to draw boundary lines for surfaces
ColorFunctionAutomatichow to determine the color of curves and surfaces
ColorFunctionScalingTruewhether to scale arguments to ColorFunction
EvaluationMonitorNoneexpression to evaluate at every function evaluation
ExclusionsAutomaticu points or curves to exclude
ExclusionsStyleNonewhat to draw at excluded points or curves
MaxRecursionAutomaticthe maximum number of recursive subdivisions allowed
MeshAutomatichow many mesh divisions in each direction to draw
MeshFunctionsAutomatichow to determine the placement of mesh divisions
MeshShadingNonehow to shade regions between mesh divisions
MeshStyleAutomaticthe style for mesh divisions
MethodAutomaticthe method to use for refining surfaces
NormalsFunctionAutomatichow to determine effective surface normals
PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
PlotPointsAutomaticthe initial number of sample points in each parameter
PlotRangeAutomaticrange of values to include
PlotStyleAutomaticgraphics directives for the style for each object
RegionFunction(True&)how to determine whether a point should be included
TextureCoordinateFunctionAutomatichow to determine texture coordinates
TextureCoordinateScalingTruewhether to scale arguments to TextureCoordinateFunction
WorkingPrecisionMachinePrecisionthe precision used in internal computations
  • ParametricPlot3D[Tooltip[list], ...] specifies that should be displayed as tooltip labels for the corresponding curves or surfaces.
  • Tooltip specifies an explicit tooltip label for a curve or surface.
  • All the functions etc. should give real numbers for all values of parameters at which they are evaluated. There will be holes in the final surface anywhere at which etc. do not yield real number values.
  • ParametricPlot3D initially evaluates each function at a number of equally spaced sample points specified by PlotPoints. Then it uses an adaptive algorithm to choose additional sample points, subdividing in each parameter at most MaxRecursion times.
  • You should realize that with the finite number of sample points used, it is possible for ParametricPlot3D to miss features in your functions. To check your results, you should try increasing the settings for PlotPoints and MaxRecursion.
  • On makes ParametricPlot3D print a message if it is unable to reach a certain smoothness of curve.
  • The default setting Mesh->Automatic corresponds to None for curves, and for surfaces.
  • The functions are evaluated all along each curve, or all over each surface.
  • By default, surfaces are treated as uniform white diffuse reflectors, corresponding to ColorFunction->(White&).
Plot a parametric surface:
Plot a parametric space curve:
Plot multiple parametric surfaces:
Use simple styling of surfaces:
Plot surfaces with cuts:
Plot a parametric surface:
Click for copyable input
Plot a parametric space curve:
Click for copyable input
Plot multiple parametric surfaces:
Click for copyable input
Use simple styling of surfaces:
Click for copyable input
Plot surfaces with cuts:
Click for copyable input
More points are sampled when the function changes quickly:
The plot range is selected automatically:
Ranges where the function becomes nonreal are excluded:
The surface is split when there are discontinuities in the function:
Use PlotPoints and MaxRecursion to control adaptive sampling:
Use PlotRange to focus in on areas of interest:
Use Exclusions to split the resulting surface:
Multiple curves are automatically colored to be distinct:
Provide explicit styling to different curves and regions:
Use Opacity to show internal structure and Specularity for additional depth cueing:
Add labels:
Provide an interactive Tooltip for each curve or region:
Create an overlay mesh:
Style the areas between mesh levels:
Color by parameter values:
Use named color schemes:
Remove portions of a curve or surface:
Draw no axes:
Specify a label for the axis:
No boundary is drawn by default:
Use a thick red boundary:
Boundaries are drawn where the surface is clipped by RegionFunction:
Boundaries are not drawn where the surface is clipped by Exclusions:
Do not draw the edges of the bounding box:
Choose the ratios of side lengths from the actual plot values:
Set the ratios to :
Color the curve by scaled , , , or value:
Color the surface by scaled , , , , or value:
Use a named color gradient:
ColorFunction has higher priority than PlotStyle:
Use red for the parameter :
Color by absolute value:
Show where in parameter space ParametricPlot3D samples:
Show where ParametricPlot3D samples in space:
Count how many points are sampled:
This uses automatic methods to compute exclusions, in this case from branch cuts:
Indicate that no exclusions should be computed:
Give a set of exclusions as an equation:
Give two sets of exclusions:
Use both automatically computed and explicit exclusions:
Provide an explicit list of points for exclusions:
Style the boundary with a thick blue line:
Style the boundary with a thick blue line and the surface in between with yellow:
Style the exclusions for a curve with a red line:
Refine the surface where it changes quickly:
Refine the curve where it changes quickly:
Show the initial and final sampling mesh:
Use 10 mesh levels evenly spaced in the parameter directions:
Use a different number of mesh lines in different directions:
Use an explicit list of values for the mesh in the parameter and no mesh in the parameter:
Use explicit value and style for the mesh:
Use a mesh evenly spaced in the , , , and directions:
Use a mesh evenly spaced in the , , , , and directions:
Show five mesh levels in the direction (red) and 10 in the direction (blue):
Map a cellular automaton array onto a sphere:
Alternate red and blue arcs in the direction:
Use None to remove segments:
MeshShading can be used with PlotStyle:
MeshShading has higher priority than PlotStyle for styling:
Use the PlotStyle for some segments by setting MeshShading to Automatic:
MeshShading can be used with ColorFunction:
Fill between regions defined by multiple mesh functions:
Use FaceForm to use different styles for different sides of a surface:
Automatically choose the mesh style:
Use a red mesh in the direction:
Use a red mesh in the direction and a blue mesh in the direction:
Normals are automatically calculated:
Use None to get flat shading for all the polygons:
Vary the effective normals used on the surface:
Generate a higher-quality plot:
Emphasize performance, possibly at the cost of quality:
Use more initial points to get a smoother plot:
Use different style directives:
By default different styles are chosen for multiple curves:
Explicitly specify the style for different curves and regions:
Use a different style inside the surface:
Select a region in , , , , and :
Select a region in parameter space:
Select portions of a curve in parameter space:
Textures use scaled and parameters by default:
Use the and coordinates:
Use unscaled coordinates:
Use textures to highlight how parameters map onto a surface:
Use scaled or unscaled coordinates for textures:
Evaluate functions using machine-precision arithmetic:
Evaluate functions using arbitrary-precision arithmetic:
Simple parametric surfaces, including a plane:
Well-known surfaces, including the Möbius strip:
Klein bottle:
Implement a model of mollusc shell growth :
Highlighting a space curve by providing a supporting (ruled) surface:
Show both plots together:
The Lorenz equations []:
Compute a parametric curve from curvature and torsion :
Plot the resulting space curves:
Show Enneper's minimal surface:
Plot3D is a special case of ParametricPlot3D for surfaces:
Use RevolutionPlot3D and SphericalPlot3D for cylindrical and spherical coordinates:
Use ParametricPlot for curves and regions in two dimensions:
Use ContourPlot3D and RegionPlot3D for implicitly defined surfaces and regions:
Use ListPlot3D and ListSurfacePlot3D for data:
Surfaces that have multiple coverings may exhibit unusual behavior:
Use BoundaryStyle and MeshStyle together for closed surfaces:
Automatic PlotRange depends on parametrization:
Use a different parametrization:
Or use PlotRange->All:
Variations on a sphere:
New in 2 | Last modified in 8