曲面

surface 是一个创建曲面图形对象的低级函数。曲面是将每个元素的行和列索引用作 x 和 y 坐标、将每个元素的值用作 z 坐标而创建的矩阵数据图。[大谦MATLAB,dqmatlab点com]

surface(Z) 绘制由矩阵 Z 指定的曲面。此处,Z 是在几何矩形网格上定义的单值函数。Z 的值可以是数值、日期时间、持续时间或类别值。

surface(Z,C) 绘制由 Z 指定的曲面并根据 C 中的数据对该曲面着色(请参阅“示例”)。

surface(X,Y,Z) 使用 C=Z,因此颜色与 x-y 平面之上的曲面高度成比例。

surface(X,Y,Z,C) 绘制由 X、Y 和 Z 指定的参数曲面,并使用由 C 指定的颜色进行着色。X、Y 和 Z 的值可以是数值、日期时间、持续时间或类别值。

surface(x,y,Z)、surface(x,y,Z,C) 将前两个矩阵参数替换为矢量,且必须具有 length(x)=n 和 length(y)=m,其中 [m,n]=size(Z)。在这种情况下,曲面的各个面的顶点是三元素矢量 (x(j),y(i),Z(i,j))。请注意,x 对应于 Z 的列,y 对应于 Z 的行。x、y 和 Z 的值可以是数值、日期时间、持续时间或类别值。

surface(...'PropertyName',PropertyValue,...) 将 X、Y、Z 和 C 参数后接属性名称/属性值对组来指定其他曲面属性。

surface(ax,...) 将在由 ax 指定的坐标轴中,而不是在当前坐标轴 (gca) 中创建曲面。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

h=surface(...) 将返回一个基本曲面对象。

Surface对象的属性如表1-5所示。

表1-5 Surface对象的常用属性

分类 属 性 说 明
FaceColor 面的颜色
FaceAlpha 面的透明度
FaceLighting 正面光照
BackFaceLighting 背面光照
边线 EdgeColor 边线的颜色
边线 EdgeAlpha 边线的透明度
边线 EdgeLighting 边线的光照,值为'none'(默认), 'flat'或'gouraud'
边线 LineStyle 线型,参见表1-1设置。
边线 LineWidth 线宽,默认值为0.5。
边线 AlignVertexCenters 对齐到最近的像素点,值为'off'(默认)或'on'。
边线 MeshStyle 网格显示风格,指定为'both'(默认), 'row'或'column'。
标记 Marker 标记符号
标记 MarkerSize 标记的大小
标记 MarkerEdgeColor 标记边线的颜色
标记 MarkerFaceColor 标记内部的填充色
法向量 FaceNormals 小面法向量
法向量 FaceNormalsMode 小面法向量的选择模式
法向量 VertexNormals 顶点法向量
法向量 VertexNormalsMode 顶点法向量的选择模式
颜色和透明度 AlphaData 透明度数据
颜色和透明度 AlphaDataMapping 透明度数据映射
颜色和透明度 CData 顶点颜色数据
颜色和透明度 CDataMapping 顶点颜色数据映射
颜色和透明度 CDataMode 顶点颜色数据的选择模式
光照 AmbientStrength 环境光的强度
光照 DiffuseStrength 散射光的强度
光照 SpecularColorReflectance 镜面反射的颜色
光照 SpecularExponent 镜面反射区的大小
光照 SpecularStrength 镜面反射的强度
可见性 Visible 显示或隐藏
可见性 Clipping 按照坐标区范围裁剪对象

在域\(-2\leq x\leq2\)\(-2\leq y\leq2\)上绘制函数\(z=x{e}^{-{x}^{2}-{y}^{2}}\)。使用 meshgrid 定义 X 和 Y。然后,定义 Z 并创建一个曲面图。使用 view 更改该绘图的视图。

code.matlab
>> [X,Y]=meshgrid(-2:0.2:2,-2:0.2:2);
>> Z=X.*exp(-X.^2 - Y.^2);
>> figure
>> surface(X,Y,Z)
>> view(3)

生成图1-25。曲面的属性设置和交互操作在第2章会有比较详细的介绍,请参阅。

Document Image
\[\]

图1-25 曲面图