许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab复杂三维图形绘制:显示复杂三维对象的方法

Matlab复杂三维图形绘制:显示复杂三维对象的方法

阅读数 2
点赞 0
article_banner

获取对象的几何图

此示例使用一个称为 Newell 茶壶的图形对象。茶壶的顶点、面和颜色索引数据由 teapotData 函数计算得出。由于茶壶是一个复杂的几何形状,函数因而返回大量的顶点(4608 个)和面(3872 个)。

[verts, faces, cindex] = teapotGeometry;

创建茶壶补片对象

使用几何数据,用 patch 命令绘制茶壶。patch 命令创建补片对象。

figure

p = patch('Faces',faces,'Vertices',verts,'FaceVertexCData',cindex,'FaceColor','interp')

2de9c13ab837c42894b4e09d00178a53.png

p =

Patch with properties:

FaceColor: 'interp'

FaceAlpha: 1

EdgeColor: [0 0 0]

LineStyle: '-'

Faces: [3872x4 double]

Vertices: [4608x3 double]

Show all properties

使用 view 命令更改对象的方向。

view(-151,30) % change the orientation

axis equal off % make the axes equal and invisible

80ac74f8c2f93d3398b7880cee9bc2fb.png

调整透明度

使用补片对象的 FaceAlpha 属性使对象变得透明。

p.FaceAlpha = 0.3; % make the object semi-transparent

49a45265d223eb2fc7154c49a3fa6d80.png

如果 FaceColor 属性设置为“none”,则该对象会作为线框图显示。

p.FaceColor = 'none'; % turn off the colors

f0474fddf5928e056f920d3d0b99eb63.png

更改颜色图

使用 colormap 函数更改对象的颜色。

p.FaceAlpha = 1; % remove the transparency

p.FaceColor = 'interp'; % set the face colors to be interpolated

p.LineStyle = 'none'; % remove the lines

colormap(copper) % change the colormap

1c6afe8ad4706f7f74ee3e70b84c2e95.png

用光源照射对象

添加一个光源,使对象看起来更加逼真。

l = light('Position',[-0.4 0.2 0.9],'Style','infinite')

l =

Light with properties:

Color: [1 1 1]

Style: 'infinite'

Position: [-0.4000 0.2000 0.9000]

Visible: on

Show all properties

lighting gouraud

d6714a07d12460be87cfbcc776a6d3ba.png

补片对象的以下属性会影响光照强度和对象的反光属性。

AmbientStrength - 控制环境光的强度

DiffuseStrength - 控制散射光的强度

SpecularStrength - 控制反射光的强度

SpecularExponent - 控制反射光的粗糙度

SpecularColorReflectance - 控制反射颜色的计算方式。

您可以分别设置这些属性。若要将这些属性设置为一组预先确定的值来获得近似金属材料、闪光材料或哑光材料的外观,请使用 material 命令。

material shiny

b460398b0d363f1a10f2f930228c9299.png

使用光源的 Position 属性调整其位置。位置以 x、y、z 坐标表示。

l.Position = [-0.1 0.6 0.8]

95da9c55032ef7f03f6cbe79e6e27f54.png

l =

Light with properties:

Color: [1 1 1]

Style: 'infinite'

Position: [-0.1000 0.6000 0.8000]

Visible: on

Show all properties


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

相关文章
技术文档
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空