Graphics3D
✖
Graphics3D

Details and Options




- Graphics3D is displayed in StandardForm as a graphical image. In InputForm, it is displayed as an explicit list of primitives.
- The following graphics primitives can be used:
-
Arrow[{pt1,pt2}] arrow Ball[{x,y,z},…] filled ball BezierCurve[{pt1,pt2,…}] Bézier curve BSplineCurve[{pt1,pt2,…}] B-spline curve BSplineSurface[array] B-spline surface Circumsphere[{pt1,…}] sphere specified by four points Cone[{pt1,pt2},r] filled cone ConicHullRegion[…] filled linear cone Cube[{x,y,z},…] filled cube Cuboid[{xmin,ymin,zmin},…] filled cuboid Cylinder[{{x1,x2,x3},…},…] filled cylinder Dodecahedron[{x,y,z},…] filled dodecahedron GraphicsComplex[pts,prims] complex of graphics objects GraphicsGroup[{g1,g2,…}] objects treated as a group HalfLine[{pt1,pt2}] half-infinite line, or ray HalfPlane[{pt1,pt2},v] half-infinite plane Hexahedron[{pt1,…}] filled hexahedron Icosahedron[{x,y,z},…] filled icosahedron InfiniteLine[{pt1,pt2}] infinite line InfinitePlane[{pt1,pt2,pt2}] infinite plane Inset[obj,…] inset object JoinedCurve[{seg1,seg2,…}] joined curve segments Line[{pt1,…}] line Octahedron[{x,y,z},…] filled octahedron Parallelepiped[pt,{v1,…}] parallelepiped Point[{x,y,z}] point Polygon[{pt1,…}] polygon Polyhedron[{pt1,…}] polyhedron Prism[{pt1,…}] prism Pyramid[{pt1,…}] pyramid Raster3D[array] cubical array of gray or colored cells Simplex[{pt1,…}] simplex Sphere[{x,y,z},…] sphere Tetrahedron[{pt1,…}] filled tetrahedron Text[expr,{x,y,z}] text Triangle[{pt1,…}] triangle Tube[{pt1,…}] tube - The following graphics directives can be used:
-
AbsoluteDashing[{w1,…}] absolute line dashing specification AbsolutePointSize[d] absolute point size specification AbsoluteThickness[w] absolute line thickness specification Arrowheads[spec] arrowheads specification CMYKColor[c,m,y,k] color specification CapForm[type] tube and line cap specification Dashing[{w1,…}] line dashing specification Directive[g1,g2,…] composite graphics directive EdgeForm[spec] polygon edge specification FaceForm[spec] polygon face specification Glow[c] glow color specification GrayLevel[i] gray‐level specification Hue[h] hue specification JoinForm[type] tube and line joining specification Opacity[a] opacity specification PointSize[d] point size specification RGBColor[r,g,b] color specification Specularity[s] surface specularity specification Texture[obj] texture specification Thickness[w] line thickness specification - The following wrappers can be used at any level:
-
Annotation[obj,label] give an annotation Button[obj,action] make obj act as a button Dynamic[obj] use the dynamically updated current value EventHandler[obj,…] attach an event handler Hyperlink[obj,URI] make obj a hyperlink Mouseover[obj,over] specify a mouseover form PopupWindow[obj,cont] attach a popup window StatusArea[obj,label] specify a label to appear in the status area Style[obj,opts] specify a style Tooltip[obj,label] attach a tooltip - The following options can be given:
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes False whether to draw axes AxesEdge Automatic on which edges to put axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} graphics directives to specify the style for axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic Boxed True whether to draw the bounding box BoxRatios Automatic bounding 3D box ratios BoxStyle {} style specifications for the box ClipPlanes None clipping planes ClipPlanesStyle Automatic style specifications for clipping planes ContentSelectable Automatic whether to allow contents to be selected ControllerLinking False when to link to external rotation controllers ControllerPath Automatic what external controllers to try to use Epilog {} 2D graphics primitives to be rendered after the main plot FaceGrids None grid lines to draw on the bounding box FaceGridsStyle {} style specifications for face grids FormatType TraditionalForm default format type for text ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels, etc. ImageSize Automatic absolute size at which to render the graphic LabelStyle {} style specifications for labels Lighting Automatic simulated light sources to use Method Automatic details of 3D graphics methods to use PlotLabel None a label for the plot PlotRange All range of values to include PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic final display region to be filled PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} 2D graphics primitives to be rendered before the main plot RotationAction "Fit" how to render after interactive rotation SphericalRegion Automatic whether to make the circumscribing sphere fit in the final display area Ticks Automatic specification for ticks TicksStyle {} style specification for ticks TouchscreenAutoZoom False whether to zoom to fullscreen when activated on a touchscreen ViewAngle Automatic angle of the field of view ViewCenter Automatic point to display at the center ViewMatrix Automatic explicit transformation matrix ViewPoint {1.3,-2.4,2.} viewing position ViewProjection Automatic projection method for rendering objects distant from the viewer ViewRange All range of viewing distances to include ViewVector Automatic position and direction of a simulated camera ViewVertical {0,0,1} direction to make vertical - Nested lists of graphics constructs can be given. Directive specifications such as GrayLevel remain in effect only until the end of the list that contains them.
- Style[obj,opts] can be used to apply the options or directives opts to obj.
- In a notebook front end, ViewPoint, ViewVertical, ViewCenter, and ViewAngle can be changed by direct interactive manipulation.
- Dragging with the mouse rotates a 3D graphic.
- Directives such as RGBColor specify surface colors for objects that follow. Final colors are determined from simulated illumination, including Glow and Specularity components.
- By default, four light sources of different colors are used, arranged at particular fixed locations outside the bounding box.
- By default, ViewAngle is set so that, if possible, the projection of the whole 3D object just fills the 2D viewing area.
- The settings for BaseStyle are appended to the default style typically given by the "Graphics3D" style in the current stylesheet. The settings for BoxStyle, LabelStyle, etc. are appended to the default styles given for "Graphics3DBox", "Graphics3DLabel", etc.
- Settings that can be given through the Method option include "SpherePoints", "CylinderPoints", "RotationControl", and "ShrinkWrap". »
- The following options can be given to Method:
-
"AxesDuringInteraction" "Lock" axes layout/display when rotating "ConePoints" {40,3} how many subdivisions to model Cone with "CylinderPoints" {40,3} how many subdivisions to model Cylinder with "EdgeDepthOffset" True draw edges above faces at similar depths "InvertSurfaceNormals" False invert the normals of a BSplineSurface "PerFragmentLighting" True shade faces interpolating between VertexNormals "RelieveDPZFighting" False reduce the effects of Z-fighting "RotationControl" "ArcBall" set the rotation controller "RotationMode" "ClippedRegion" specify the rotation mode "ShrinkWrap" False crop out empty space around rendered content "SpherePoints" {40,30} how many subdivisions to model Sphere with "SplinePoints" {7,7} how many subdivisions to model BSplineSurface with "TubePoints" Automatic how many subdivisions to model Tube with - Graphics3D[] gives an empty 3D graphic.
Examples
open allclose allBasic Examples (3)Summary of the most common use cases
Use lines, polygons, cylinders, spheres, etc. to build up a 3D graphics scene:

https://wolfram.com/xid/0wgrojc-yvzj

Use plot functions to automatically create Graphics3D from different types of data:

https://wolfram.com/xid/0wgrojc-4edks


https://wolfram.com/xid/0wgrojc-wv3x


https://wolfram.com/xid/0wgrojc-j126c6

Scope (14)Survey of the scope of standard use cases
Primitives (2)
Three-dimensional planar polygons can fold over themselves:

https://wolfram.com/xid/0wgrojc-co3osw

Vertices can be shared by using GraphicsComplex:

https://wolfram.com/xid/0wgrojc-ppdul

https://wolfram.com/xid/0wgrojc-f78psg

Directives (5)
Directives can specify color, opacity, and specularity of faces:

https://wolfram.com/xid/0wgrojc-dcq9jm

Specify the specular exponent:

https://wolfram.com/xid/0wgrojc-wvtlz

Colors, thickness, and dashing directives affect lines and edges:

https://wolfram.com/xid/0wgrojc-bllppn


https://wolfram.com/xid/0wgrojc-b8ajtv

Specify different properties for front and back of faces:

https://wolfram.com/xid/0wgrojc-gwr78t

Graphics directives normally remain in effect only until the end of the list that contains them:

https://wolfram.com/xid/0wgrojc-cab7d8

Coordinates (2)
Lighting and Camera (5)
Default lighting on a gray specular sphere:

https://wolfram.com/xid/0wgrojc-eo9u9n

Different light source for each sphere:

https://wolfram.com/xid/0wgrojc-gf4saw

Specify the view point using special scaled coordinates:

https://wolfram.com/xid/0wgrojc-fu8y1o


https://wolfram.com/xid/0wgrojc-efg71l

Specify the view vectors using ordinary coordinates:

https://wolfram.com/xid/0wgrojc-d7s2l

Options (86)Common values & functionality for each option
AlignmentPoint (1)
Specify the position to be aligned in 3D Inset, using coordinates:

https://wolfram.com/xid/0wgrojc-qrwmq


https://wolfram.com/xid/0wgrojc-d8jsnq

AspectRatio (1)
Axes (2)
AxesEdge (3)
Choose the bounding box edges automatically to draw the axes:

https://wolfram.com/xid/0wgrojc-fhukan

Draw the axis edge that is the intersection of the plane and the
plane:

https://wolfram.com/xid/0wgrojc-iugmls

Draw the axis edge that is the intersection of the plane and
plane:

https://wolfram.com/xid/0wgrojc-cd01dn

Four different positions for the axis:

https://wolfram.com/xid/0wgrojc-ctu091

AxesLabel (2)
AxesStyle (1)
BaselinePosition (2)
Align the center of a graphic with the baseline of the text:

https://wolfram.com/xid/0wgrojc-bgqy4a

Specify the baseline of a graphic as a fraction of the height by using Scaled:

https://wolfram.com/xid/0wgrojc-dlh30h

BaseStyle (2)
Boxed (1)
BoxRatios (2)
BoxStyle (1)
ClipPlanesStyle (1)
Epilog (1)
FaceGrids (4)
Put grids on every face of a 3D graphic:

https://wolfram.com/xid/0wgrojc-bqln93


https://wolfram.com/xid/0wgrojc-diprzx


https://wolfram.com/xid/0wgrojc-f5yql2

On the plane, put grid lines on
,
, and
:

https://wolfram.com/xid/0wgrojc-lkxjz

FaceGridsStyle (1)
FormatType (2)
By default, expressions are displayed using TraditionalForm in graphics:

https://wolfram.com/xid/0wgrojc-e2jq14

Display expressions using StandardForm:

https://wolfram.com/xid/0wgrojc-cmg6xs

ImageMargins (2)
ImagePadding (4)
Thick lines and labels outside of the bounding box can be clipped without ImagePadding:

https://wolfram.com/xid/0wgrojc-bea2sr

Leave enough padding for labels:

https://wolfram.com/xid/0wgrojc-f4c0us

Specify the same padding for all sides in printer's points:

https://wolfram.com/xid/0wgrojc-1pfck

Specify different padding on different sides:

https://wolfram.com/xid/0wgrojc-b9yjf7

ImageSize (3)
LabelStyle (1)
Lighting (4)
Ambient light is uniformly applied to all the surfaces in the scene:

https://wolfram.com/xid/0wgrojc-gr84zo

Directional lights with different colors:

https://wolfram.com/xid/0wgrojc-hipie6

Point lights with different colors:

https://wolfram.com/xid/0wgrojc-cxc2k9

Spotlights with different colors:

https://wolfram.com/xid/0wgrojc-zkapv

Method (14)
"AxesDuringInteraction" (1)
Set the dynamic display layout of axes during 3D rotation.
The default "AxesDuringInteraction"->"Lock" locks axes in place during 3D rotation:

https://wolfram.com/xid/0wgrojc-fqlpq

"ContinuousUpdate" causes the axes to move to the best location during 3D rotation:

https://wolfram.com/xid/0wgrojc-eu4t96

"Hide" hides the axes instead of moving them:

https://wolfram.com/xid/0wgrojc-lenouc

"ConePoints" (1)
"CylinderPoints" (1)
"EdgeDepthOffset" (1)
"EdgeDepthOffset"->True ensures that edges placed near faces are not obscured:

https://wolfram.com/xid/0wgrojc-c6108x

"InvertSurfaceNormals" (1)
Invert the direction of the surface normals of a BSplineSurface:

https://wolfram.com/xid/0wgrojc-fa3n8q

"OneLayer" (1)
The rendering system uses layers to order and render polygons:

https://wolfram.com/xid/0wgrojc-fkjgnc

Specifying {"Color",1} renders the topmost layer as if nothing lay behind it:

https://wolfram.com/xid/0wgrojc-mjny6

Use other numbers to selectively display each layer:

https://wolfram.com/xid/0wgrojc-mpt7g8

Use {"Depth",layer} to display the depth map of a given layer:

https://wolfram.com/xid/0wgrojc-tlmeyj

"PerFragmentLighting" (1)
The macOS Metal engine uses "PerFragmentLighting" by default, except during rotation:

https://wolfram.com/xid/0wgrojc-dj8m02

Set "PerFragmentLighting"False:

https://wolfram.com/xid/0wgrojc-70e0ny

"PerFragmentLighting"True interpolates normals at every pixel over the entire face:

https://wolfram.com/xid/0wgrojc-rs96t4

"PerFragmentLighting" appears smooth even when there are few surface subdivisions:

https://wolfram.com/xid/0wgrojc-dn686w

"RelieveDPZFighting" (1)
By default, z-fighting of coplanar polygons is typically resolved by the rendering system:

https://wolfram.com/xid/0wgrojc-it6c5u

"RelieveDPZFighting"->False improves rendering performance at the cost of exposing z-fighting:

https://wolfram.com/xid/0wgrojc-mskh5

"RotationControl" (1)
"RotationMode" (1)
Normally, a 3D graphic in rotation changes its apparent size to accommodate its ImageSize:

https://wolfram.com/xid/0wgrojc-iesb8j

"SphericalRegion" resizes the graphic to accommodate all orientations during rotation:

https://wolfram.com/xid/0wgrojc-gl2t9u

"ShrinkWrap" (1)
"SpherePoints" (1)
"SplinePoints" (1)
PlotLabel (2)
Display a label on the top of the graphic in TraditionalForm:

https://wolfram.com/xid/0wgrojc-cdsmwg

Use Style and other typesetting functions to modify how the label appears:

https://wolfram.com/xid/0wgrojc-cibwdq

PlotRange (3)
PlotRangePadding (3)
Include coordinate unit of padding on all sides:

https://wolfram.com/xid/0wgrojc-hd3t9k

Include of the image size as padding on all sides:

https://wolfram.com/xid/0wgrojc-fqkj7j

Specify different padding on each side:

https://wolfram.com/xid/0wgrojc-gudwa

PlotRegion (3)
The contents of a graphic use the whole region:

https://wolfram.com/xid/0wgrojc-p6kxqk

Limit the contents of the graphic to the middle half of the region in each direction:

https://wolfram.com/xid/0wgrojc-dqjbq6

ImagePadding can also be used to add padding around a graphic:

https://wolfram.com/xid/0wgrojc-c953dy

Prolog (1)
SphericalRegion (1)
Make a sequence of images be consistently sized, independent of orientation:

https://wolfram.com/xid/0wgrojc-dua3zl

Without SphericalRegion, each image is made as big as possible:

https://wolfram.com/xid/0wgrojc-bsban5

Ticks (2)
TicksStyle (2)
ViewAngle (1)
ViewCenter (2)
Place the top-right corner of the object at the center of the final image:

https://wolfram.com/xid/0wgrojc-e5wai2

Use the ViewCenter->{vc,vp} to specify that 3D point vc gets mapped to the 2D point vp:

https://wolfram.com/xid/0wgrojc-iw334v

https://wolfram.com/xid/0wgrojc-eoa59e

ViewMatrix (1)
ViewPoint (3)
ViewRange (2)
ViewVector (1)
Properties & Relations (5)Properties of the function, and connections to other functions
The StandardForm of Graphics3D is its rendered form:

https://wolfram.com/xid/0wgrojc-fj27er

The InputForm is the textual expression form:

https://wolfram.com/xid/0wgrojc-d3a01g

Graphics3D can be used as input to functions:

https://wolfram.com/xid/0wgrojc-jnq2o5

https://wolfram.com/xid/0wgrojc-ciclj1

Three-dimensional plot functions return Graphics3D:

https://wolfram.com/xid/0wgrojc-utzci


https://wolfram.com/xid/0wgrojc-gdmjdd

Several integrated data sources return Graphics3D:

https://wolfram.com/xid/0wgrojc-icaoo


https://wolfram.com/xid/0wgrojc-ej2xe9


https://wolfram.com/xid/0wgrojc-b3jwah

Many Import and Export formats support Graphics3D:

https://wolfram.com/xid/0wgrojc-dm13zj


https://wolfram.com/xid/0wgrojc-5f5m6

Wolfram Research (1988), Graphics3D, Wolfram Language function, https://reference.wolfram.com/language/ref/Graphics3D.html (updated 2024).
Text
Wolfram Research (1988), Graphics3D, Wolfram Language function, https://reference.wolfram.com/language/ref/Graphics3D.html (updated 2024).
Wolfram Research (1988), Graphics3D, Wolfram Language function, https://reference.wolfram.com/language/ref/Graphics3D.html (updated 2024).
CMS
Wolfram Language. 1988. "Graphics3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Graphics3D.html.
Wolfram Language. 1988. "Graphics3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Graphics3D.html.
APA
Wolfram Language. (1988). Graphics3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Graphics3D.html
Wolfram Language. (1988). Graphics3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Graphics3D.html
BibTeX
@misc{reference.wolfram_2025_graphics3d, author="Wolfram Research", title="{Graphics3D}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Graphics3D.html}", note=[Accessed: 16-May-2025
]}
BibLaTeX
@online{reference.wolfram_2025_graphics3d, organization={Wolfram Research}, title={Graphics3D}, year={2024}, url={https://reference.wolfram.com/language/ref/Graphics3D.html}, note=[Accessed: 16-May-2025
]}