这个例子展示了如何在MATLAB®中获得曲面图的属性,并更改属性值来定制您的plot。
在MATLAB中有几种创建表面对象的方法。一种方法是利用冲浪
.
[X, Y, Z] =山峰(50);图冲浪(X, Y, Z)
与所有图形对象一样,曲面也有可以查看和修改的属性。这些属性具有默认值。地表物体的显示,年代
,显示最常用的表面性质,如EdgeColor
,线型
,FaceColor
,FaceLighting
.
s =冲浪(X, Y, Z)
s = Surface with properties: EdgeColor: [0 0 0] LineStyle: '-' FaceColor: 'flat' FaceLighting: 'flat' FaceAlpha: 1 XData: [50x50 double] YData: [50x50 double] ZData: [50x50 double] CData: [50x50 double]显示所有属性
要访问单个属性,请使用点符号语法对象。PropertyName
.例如,返回FaceColor
曲面的性质。
s.FaceColor
ans =‘平’
有几个功能可以改变表面属性。例如,使用the阴影
功能来控制你的表面的阴影。
阴影插值函数%插值颜色贴图穿过表面
使用照明
功能来调整你的表面的照明特性。为了让照明
要产生任何效果,你必须通过创建一个光对象来照亮你的表面。
光%创建一个光照明高洛德%用于照明曲面的首选方法
要改变表面的反射属性,请使用材料
函数。
材料无趣的将材质设置为暗,没有高光
要为当前轴中的所有对象设置透明度,请使用α
函数。这个函数将透明度设置为1到0之间的任何值,其中1表示完全不透明,0表示完全透明。
α(0.8)%设置透明度为0.8
要自定义表面的外观,请使用点符号更改属性值。
CData
定义曲面顶点的颜色。的FaceColor
属性指示如何根据顶点颜色确定曲面的颜色。
s.CData =函数(X, Y);设置颜色数据
s.FaceColor =的插值函数;%插值得到脸的颜色
AlphaData
定义表面每个顶点的透明度。的FaceAlpha
属性指示曲面的透明度如何由顶点透明度决定。
s.AlphaData =梯度(Z);%设置顶点透明s.FaceAlpha =的插值函数;%插值得到面部透明
MATLAB中的图形对象有许多属性。要查看一个表面的所有属性,请使用得到
命令。
(年代)
AlphaData: [50x50 double] AlphaDataMapping: 'scaled' AmbientStrength: 0.3000 Annotation: [1x1 matlab.graphics.eventdata.]注释]BackFaceLighting: 'reverselit' BeingDeleted: 'off' BusyAction: 'queue' ButtonDownFcn: " CData: [50x50 double] CDataMapping: 'scaled' CDataMode: 'manual' CDataSource: " Children: [0x0 GraphicsPlaceholder] Clipping: 'on' CreateFcn: " DeleteFcn: " diffusestrenth: 0.8000 DisplayName: " EdgeAlpha: 1 EdgeColor: 'none' EdgeLighting: "'none' FaceAlpha: 'interp' FaceColor: 'interp' FaceLighting: 'gouraud' FaceNormals: [49x49x3 double] FaceNormalsMode: 'auto' HandleVisibility: 'on' HitTest: 'on' Interruptible: 'on' LineStyle: '-' LineWidth: 0.5000 Marker: 'none' markedgecolor: 'auto' markfacecolor: 'none' marksize: 6 MeshStyle: 'both' Parent: [1x1 Axes] PickableParts:'visible' Selected: 'off' SelectionHighlight: 'on' specarcolorreflectance: 1 specarexponent: 10 specarstrength: 0 Tag: " Type: 'surface' UIContextMenu: [0x0 GraphicsPlaceholder] UserData: [] VertexNormals: [50x50x3 double] VertexNormalsMode: 'auto' visible: 'on' XData: [50x50 double] XDataMode: 'manual' XDataSource: " YData:[50x50 double] YDataMode: 'manual' YDataSource: " ZData: [50x50 double] ZDataSource: "