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 更改该绘图的视图。
>> [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章会有比较详细的介绍,请参阅。
图1-25 曲面图