ParametricPlot3D
ParametricPlot3D[{fx,fy,fz},{u,umin,umax}]
生成由变量 u 参数化的三维空间曲线,其中从 umin 到 umax.
ParametricPlot3D[{fx,fy,fz},{u,umin,umax},{v,vmin,vmax}]
生成由 u 和 v 参数化的三维空间曲面.
ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},…},…]
同时绘制几个对象.
ParametricPlot3D[…,{u,v}∈reg]
将参数 {u,v} 视为位于几何区域 reg 中.
更多信息和选项
- ParametricPlot3D 在一维域上绘制时称为参数化曲线,在二维域上绘制时称为参数化曲面. 如果曲面是通过将直线沿路径扫过创建的,则称为直纹曲面.
- 对于参数 u,将针对 u 的不同值对 {fx,fy,fz} 进行计算,以创建形式为 {fx[u],fy[u],fz[u]} 的曲线. 可视化的是曲线 .
- 对于两个参数 u 和 v,将针对 u 和 v 的不同值对 {fx,fy,fz} 进行计算,以创建点 {fx[u,v],fy[u,v],fz[u,v]} 组成的曲面. 它可视化了曲面 .
- 曲线和曲面可能与自身相交或重叠.
- 在 fi 运算为除实数以外的任何值的点处会留下间距.
- 范围 umin、umax、vmin 和 vmax 可以是实数或 Quantity 表达式.
- 区域 reg 可以是一维或二维的任何 RegionQ 对象.
- ParametricPlot3D 将变量 u 和 v 视为局部变量,相当于使用 Block.
- ParametricPlot3D 具有属性 HoldAll,只在将具体的数值赋给变量后才计算 、、….
- 在某些情况下,在将具体数值赋给变量之前,用 Evaluate 以符号方式计算 、、… 可能更高效.
- 可将以下封装 w 用于 {fx,fy,fz}:
-
Annotation[{fx,fy,fz},label] 为 {fx,fy,fz} 提供注释 Button[{fx,fy,fz},action] 当点击 {fx,fy,fz} 曲面时执行 action Callout[{fx,fy,fz},label] 用 callout 标注函数 Callout[{fx,fy,fz},label,pos] 把标注放在相关位置 pos EventHandler[{fx,fy,fz},events] 为 {fx,fy,fz} 定义通用事件处理程序 Hyperlink[{fx,fy,fz},uri] 把函数变成超链接 Labeled[{fx,fy,fz},label] 标注函数 Labeled[{fx,fy,fz},label,pos] 把标签放在相关位置 pos Legended[{fx,fy,fz},label] 在图例中标识函数 PopupWindow[{fx,fy,fz},cont] 为函数添加弹出窗口 StatusArea[{fx,fy,fz},label] 鼠标悬停时在状态区域显示 Style[{fx,fy,fz},styles] 用指定的样式显示函数 Tooltip[{fx,fy,fz},label] 为函数添加提示条 Tooltip[{fx,fy,fz}] 用函数作为提示条 - 可在多个层级上应用封装 w:
-
w[{fx,fy,fz}] 封装 {fx,fy,fz} w[{{fx,fy,fz},{gx,gy,gz},…}] 封装一组曲线 w1[w2[…]] 使用嵌套的封装 - Callout、Labeled 和 Placed 可使用以下位置 pos:
-
Automatic 自动放置标签 Above, Below, Before, After 曲面周围的位置 u 参数 u 处靠近曲面位置 {x,y,z} 靠近{x,y,z} 的位置 Scaled[s] 沿曲面的缩放位置 s {s,Above},{s,Below},… 沿曲面的位置 s 处的相关位置 {pos,epos} 放置在曲面相关位置 pos 上的标签内的位置 epos - ParametricPlot3D 具有与 Graphics3D 相同的的选项,不同之处及更多选项如下所示: [所有选项的列表]
-
Axes True 是否绘制坐标轴 BoundaryStyle None 如何绘制曲面的边界线 ColorFunction Automatic 如何确定曲线和曲面的颜色 ColorFunctionScaling True 是否缩放 ColorFunction 的参数 EvaluationMonitor None 每次运行函数时要计算的表达式 Exclusions Automatic 要排除的 u 点或 u,v 曲线 ExclusionsStyle None 在要排除的点或曲线处绘制什么内容 LabelingSize Automatic 标注和标签的最大尺寸 MaxRecursion Automatic 允许的递归子划分的最大数量 Mesh Automatic 在每个方向上绘制多少个网格 MeshFunctions Automatic 如何确定网格线的位置 MeshShading None 如何设置网格线之间区域的色调 MeshStyle Automatic 网格线的样式 Method Automatic 细化曲面的方法 NormalsFunction Automatic 如何确定有效的曲面法线 PerformanceGoal $PerformanceGoal 优化的目标 PlotLabels None 用于曲面的标签 PlotLegends None 曲面的图例 PlotPoints Automatic 每个参数初始样本点的数量 PlotRange Automatic 要包含的值的范围 PlotStyle Automatic 指定每个对象的样式的图形指令 PlotTheme $PlotTheme 绘图的整体主题 RegionFunction (True&) 如何确定是否包含一个点 ScalingFunctions None 如何缩放个别坐标 TextureCoordinateFunction Automatic 如何决定纹理坐标 TextureCoordinateScaling True 是否缩放 TextureCoordinateFunction 的参数 WorkingPrecision MachinePrecision 内部计算使用的精度 - PlotLegends 的典型设置包括:
-
None 没有图例 Automatic 自动决定图例 "Expressions" 用 f1、f2、… 作为图例标签 {lbl1,lbl2,…} 用 lbl1、lbl2、… 作为图例标签 Placed[lspec,…] 指定图例的位置 - 对于所有的参数值,所有函数( 等)应给出实数. 曲面上 的结果不为实数的地方将留下孔洞.
- 对于曲线,缺省设置 PlotPoints->Automatic 对应于 PlotPoints->75,对于曲面则为 PlotPoints->{15,15}.
- ParametricPlot3D 最初在 PlotPoints 指定的多个等距采样点处对每个函数进行计算. 然后使用自适应算法来选择额外的样本点,在每个参数中最多细分 MaxRecursion 次.
- 应该注意的是,由于使用有限数量的样本点,ParametricPlot3D 可能会遗漏函数中的特征. 如果想要检查所得结果是否正确,应尝试增大 PlotPoints 和 MaxRecursion 的设置.
- 如果无法绘制达到一定平滑程度的曲线,则 On[ParametricPlot3D::accbend] 可以使 ParametricPlot3D 输出一条信息.
- 对于曲线,缺省设置 Mesh->Automatic 对应于 None,对于曲面则为 15.
- 对于曲线,缺省设置 MeshFunctions->Automatic 对应于 {#4&},对于曲面则为 {#4&,#5&}.
- 提供给 MeshFunctions 和 RegionFunction 中的函数的参数是 x、y、z、u 和 v. 默认情况下,提供给 ColorFunction 和 TextureCoordinateFunction 中的函数的是这些参数缩放过的版本.
- 在每条曲线或每个曲面的所有地方对函数进行计算.
- ScalingFunctions 的可能设置包括:
-
{sx,sy,sz} 缩放 x、y 和 z 坐标轴 {sx,sy,sz,su} 缩放 u 参数空间 {sx,sy,sz,su,sv} 缩放 u 和 v 参数空间 - ScalingFunctions 的可能设置包括:
-
{sx,sy,sz} 缩放 x、y 和 z 坐标轴 - 常见的内置缩放函数 s 包括:
-
"Log" 对数刻度,自动进行标记 "Log10" 以 10 为底的对数刻度,用 10 的幂进行标记 "SignedLog" 类似对数的刻度,包含 0 和负数 "Reverse" 反转坐标的方向 - 缩放 u 或 v 参数空间将影响如何对绘图采样,但不影响整体的视觉外观.
- ParametricPlot3D 返回 Graphics3D[GraphicsComplex[data]].
- 影响三维曲面的主题包括:
-
"DarkMesh" 暗色网格线 "GrayMesh" 灰色网格线 "LightMesh" 浅色网格线 "ZMesh" 垂直分布的网格线 "ThickSurface" 使曲面有厚度
所有选项的列表
范例
打开所有单元关闭所有单元范围 (33)
采样 (9)
用 PlotPoints 和 MaxRecursion 控制相应的取样:
用 PlotRange 强调感兴趣的区域:
用 Exclusions 分割得到的曲面:
还可以用 MeshRegion 来指定参数的域:
标签和图例 (10)
使用 Callout 添加表达式作为标签:
使用 PlotLabels 标签曲面:
用 PlotLabels 标签曲线:
使用 Legended 为指定的曲线提供图例:
使用 Placed 改变图例位置:
演示 (14)
选项 (87)
BoundaryStyle (4)
ColorFunction (5)
EvaluationMonitor (3)
Exclusions (6)
Mesh (5)
MeshShading (9)
用 None 清除分段:
MeshShading 可以和 PlotStyle 连用:
MeshShading 在样式方面比 PlotStyle 有更高优先级:
对于某些分段,通过设置 MeshShading 为 Automatic 来使用 PlotStyle:
MeshShading 可以和 ColorFunction 连用:
用 FaceForm 对于一个曲面的不同边设置不同的样式:
NormalsFunction (3)
PlotLabels (6)
PlotLegends (3)
ScalingFunctions (6)
用 ScalingFunctions 反转 坐标的方向:
应用 (7)
属性和关系 (6)
对于曲面,Plot3D 是 ParametricPlot3D 的一个特例:
对于圆柱坐标和球坐标,用 RevolutionPlot3D 和 SphericalPlot3D:
对于二维曲线和区域用 ParametricPlot:
对于隐式曲面和区域用 ContourPlot3D 和 RegionPlot3D:
对于数据用 ListPlot3D 和 ListSurfacePlot3D:
使用 ListLinePlot3D 绘制通过点列表的曲线:
可能存在的问题 (3)
对于封闭曲面用 BoundaryStyle 和 MeshStyle:
自动 PlotRange 依赖于参数化:
文本
Wolfram Research (1991),ParametricPlot3D,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ParametricPlot3D.html (更新于 2022 年).
CMS
Wolfram 语言. 1991. "ParametricPlot3D." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2022. https://reference.wolfram.com/language/ref/ParametricPlot3D.html.
APA
Wolfram 语言. (1991). ParametricPlot3D. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ParametricPlot3D.html 年