文档

改变表面性质

这个例子展示了如何在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: "
这个话题有用吗?