许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab曲面修正技巧:更改曲面属性与平滑处理

Matlab曲面修正技巧:更改曲面属性与平滑处理

阅读数 30
点赞 2650
article_banner

曲面对象

在 MATLAB 中有多种方式可以创建曲面对象。一种方式是使用 surf。

[X,Y,Z] = peaks(50);

figure

surf(X,Y,Z)

c09679e94195ae3351a6a9dc9ee58014.png

与所有图形对象一样,曲面有您可以查看和修改的属性。这些属性具有默认值。下面所示的曲面对象 s 显示了最常用的曲面属性,如 EdgeColor、LineStyleFaceColor 和 FaceLighting。

s = surf(X,Y,Z)

ccf5de70f66768e653c8c73fa37fce63.png

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]

Show all properties

获取个别曲面属性

若要访问个别属性,请使用圆点表示法语法 object.PropertyName。例如,返回曲面的 FaceColor 属性。

s.FaceColor

ans =

'flat'

更改常用的曲面属性

有些函数可用于更改曲面属性。例如,使用 shading 函数控制曲面着色。

shading interp % interpolate the colormap across the surface face

858cfaad76b8b5c958d0054649737d40.png

使用 lighting 函数调整曲面的光照特性。要使 lighting 产生效果,您必须创建一个光源对象来照亮曲面。

light % create a light

lighting gouraud % preferred method for lighting curved surfaces

264fa47a1d5170b263f9d7eeb50cf6c6.png

若要更改曲面的反射属性,请使用 material 函数。

material dull % set material to be dull, no specular highlights

d59dbd46989eb58a40db3033a45f133f.png

若要为当前坐标区中的所有对象设置透明度,请使用 alpha 函数。此函数将透明度设置为介于 1 和 0 之间的任意值,其中 1 表示完全不透明,0 表示完全透明。

alpha(0.8) % set transparency to 0.8

ea753ae359a5efcf708ec596ff0ec76a.png

更改其他曲面属性

若要自定义曲面的外观,请使用圆点表示法更改属性值。

CData 定义曲面顶点的颜色。FaceColor 属性指示如何从顶点颜色确定曲面颜色。

s.CData = hypot(X,Y); % set color data

5bfcf21aa69156756d22fd1262784df4.png

s.FaceColor = 'interp'; % interpolate to get face colors

AlphaData 定义曲面每个顶点的透明度。FaceAlpha 属性指示如何从顶点透明度确定曲面透明度。

s.AlphaData = gradient(Z); % set vertex transparencies

s.FaceAlpha = 'interp'; % interpolate to get face transparencies

8cd4f4f58eefdaaf202026b94ce2413b.png

获取所有曲面属性

MATLAB 中的图形对象有许多属性。若要查看曲面的所有属性,请使用 get 命令。

get(s)

AlignVertexCenters: off

AlphaData: [50x50 double]

AlphaDataMapping: 'scaled'

AmbientStrength: 0.3000

Annotation: [1x1 matlab.graphics.eventdata.Annotation]

BackFaceLighting: 'reverselit'

BeingDeleted: off

BusyAction: 'queue'

ButtonDownFcn: ''

CData: [50x50 double]

CDataMapping: 'scaled'

CDataMode: 'manual'

CDataSource: ''

Children: [0x0 GraphicsPlaceholder]

Clipping: on

ContextMenu: [0x0 GraphicsPlaceholder]

CreateFcn: ''

DataTipTemplate: [1x1 matlab.graphics.datatip.DataTipTemplate]

DeleteFcn: ''

DiffuseStrength: 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'

MarkerEdgeColor: 'auto'

MarkerFaceColor: 'none'

MarkerSize: 6

MeshStyle: 'both'

Parent: [1x1 Axes]

PickableParts: 'visible'

Selected: off

SelectionHighlight: on

SpecularColorReflectance: 1

SpecularExponent: 10

SpecularStrength: 0

Tag: ''

Type: 'surface'

UserData: []

VertexNormals: [50x50x3 double]

VertexNormalsMode: 'auto'

Visible: on

XData: [50x50 double]

XDataMode: 'manual'

XDataSource: ''

YData: [50x50 double]

YDataMode: 'manual'

YDataSource: ''

ZData: [50x50 double]

ZDataSource: ''


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空