IntroductionΒΆ
Sage has a wide support for 3D graphics, from basic shapes to implicit and parametric plots.
The following graphics functions are supported:
plot3d()
- plot a 3d functionparametric_plot3d()
- a parametric three-dimensional space curve or surfacerevolution_plot3d()
- a plot of a revolved curveplot_vector_field3d()
- a plot of a 3d vector fieldimplicit_plot3d()
- a plot of an isosurface of a functionlist_plot3d()
- a 3-dimensional plot of a surface defined by a list of points in 3-dimensional spacelist_plot3d_matrix()
- a 3-dimensional plot of a surface defined by a matrix defining points in 3-dimensional spacelist_plot3d_array_of_arrays()
- A 3-dimensional plot of a surface defined by a list of lists defining points in 3-dimensional spacelist_plot3d_tuples()
- a 3-dimensional plot of a surface defined by a list of points in 3-dimensional space
The following classes for basic shapes are supported:
Box
- a box given its three magnitudesCone
- a cone, with base in the xy-plane pointing up the z-axisCylinder
- a cylinder, with base in the xy-plane pointing up the z-axisLine
- a 3d line joining a sequence of pointsSphere
- a sphere centered at the originText
- a text label attached to a point in 3d spaceTorus
- a 3d torusPoint
- a position in 3d, represented by a sphere of fixed size
The following plotting functions for basic shapes are supported
ColorCube()
- a cube with given size and sides with given colorsLineSegment()
- a line segment, which is drawn as a cylinder from start to end with given radiusline3d()
- a 3d line joining a sequence of pointsarrow3d()
- a 3d arrowpoint3d()
- a point or list of points in 3d spacebezier3d()
- a 3d bezier pathframe3d()
- a frame in 3dframe_labels()
- labels for a given frame in 3dpolygon3d()
- draw a polygon in 3dpolygons3d()
- draw the union of several polygons in 3druler()
- draw a ruler in 3d, with major and minor ticksruler_frame()
- draw a frame made of 3d rulers, with major and minor tickssphere()
- plot of a sphere given center and radiustext3d()
- 3d text
Sage also supports platonic solids with the following functions:
Different viewers are supported: a web-based interactive viewer using the
Three.js JavaScript library (the default), Jmol, and the Tachyon ray tracer.
The viewer is invoked by adding the keyword argument
viewer='threejs'
(respectively 'jmol'
or 'tachyon'
)
to the command show()
on any three-dimensional graphic.
Tachyon
- create a scene the can be rendered using the Tachyon ray tracerAxis_aligned_box
- box with axis-aligned edges with the given min and max coordinatesCylinder
- an infinite cylinderFCylinder
- a finite cylinderFractalLandscape
- axis-aligned fractal landscapeLight
- represents lighting objectsParametricPlot
- parametric plot routinesPlane
- an infinite planeRing
- an annulus of zero thicknessSphere
- a sphereTachyonSmoothTriangle
- a triangle along with a normal vector, which is used for smoothingTachyonTriangle
- basic triangle classTachyonTriangleFactory
- class to produce triangles of various rendering typesTexfunc
- creates a texture functionTexture
- stores texture informationtostr()
- converts vector information to a space-separated string