当前位置: 首页> 财经> 创投人物 > Day22_0.1基础学习MATLAB学习小技巧总结(22)——三维图形的高级控制

Day22_0.1基础学习MATLAB学习小技巧总结(22)——三维图形的高级控制

时间:2025/7/14 9:22:18来源:https://blog.csdn.net/qq_47248729/article/details/142128899 浏览次数:0次

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

参考书目:《MATLAB基础教程 (第三版) (薛山)》

之前的章节都是基础的数据运算用法,对于功课来说更加重要的内容是建模、绘图、观察数据趋势,接下来我会结合自己的使用经验,来为大家分享绘图、建模使用的小技巧。

在本章中的代码,会以资源的形式发在我的博客里供大家免费下载学习。

三维图形的高级控制

工科对课题的研究成果最直观的显示就是图表,图作为论文中最具冲击感的信息呈现方式,很大程度上影响了你论文的水平,对于一幅三维图形,从不同的角度看可以得到更多的信息,采用合理的颜色搭配也能更加得到审稿人的青睐。本章将介绍三维图形的高级控制,包括图形的查看方式、光照控制和图形中颜色的使用。

1 查看图形

对于三维图形,采用不同的视角可以获取不同的信息,因此选择合适的视角至关重要,以充分挖掘三维图形所蕴含的丰富信息。用户可以在图形窗口中选择视角,或通过函数和命令进行设置。本节将探讨图形的视角选择。

1.1 设置方位角和俯仰角

在MATLAB中,用户可以调整图形的显示方式,包括视点、查看对象、方向和显示范围。这些属性由一组图像属性控制,用户可以直接指定这些属性,或通过view函数进行设置,亦可使用MATLAB的默认配置。

方位角和俯仰角是视点相对于坐标原点的角度。方位角是x-y平面内的角度,正值表示逆时针方向;俯仰角则是视点相对于x-y平面的角度,正值表示位于平面上方,负值则表示位于平面下方。

方位角和俯仰角可以通过view函数指定,既可通过视点位置,也可通过设置方位角和俯仰角的数值来实现。view函数官方调用格式如下:

 例:利用view函数进行视点控制

[X,Y] = meshgrid([-2:0.25:2]);
Z = X.*exp(-X.^2-Y.^2);
surf(X,Y,Z)

 采用默认视角绘制图像:

采用方位角0度和俯仰角180度显示图像:

view(0,180)

 在方位角-37.5度和俯仰角-30度显示图像

view(-37.5,-30)

 


在视点[3,3,1]处查看该图像:

view([3,3,1])

 

 

 

1.2 坐标轴

坐标轴通过调整尺度和范围来控制图像的形状。默认情况下,MATLAB会根据数据分布自动计算坐标轴的范围和尺度,以确保绘制的图像尽可能适应绘图区域。

(1)Stretch-to-Fill

默认情况下,MATLAB生成的坐标轴会规范化为图形窗口的大小,并略小于窗口,以便于添加边框。当窗口大小发生变化时,坐标系的大小和区域的形状因子(宽度与高度的比值)也会随之调整,以确保坐标系充满可用区域。同时,MATLAB会选择合适的坐标轴范围,以确保各个方向上的最大分辨率。

但是在一些特定的情况下,需要设置坐标轴的范围和尺寸以满足特殊需要。

t = 0:pi/6:4*pi;
[x,y,z] = cylinder(4+cos(t),30);
surf(x,y,z)

默认坐标系下的图像:

将该图像在等长坐标系中显示:

axis square

在等刻度坐标系中显示:

axis equal

 

 

1.3 设置绘图区形状因子的其他命令

除了通过axis、square、axis equal设置坐标系外,还有一些命令也可以设置。以下是用于设置绘图区域形状的函数:

函数功能
daspect设置获取数据的范围比例因子
pbaspect设置获取绘图区域的比例因子
xlim设置获取x轴的范围
ylim设置获取y轴的范围
zlim设置获取z轴的范围

 这里就不一一介绍了,在命令行输入“doc+相应的函数名”,就可以调取相应的函数帮助文档,查看函数的用法。

2 图像的色彩控制

颜色是图形的重要元素,丰富的颜色变化能增强图形的表现力。在MATLAB中,图形的颜色控制主要通过colormap函数实现。

MATLAB采用颜色映射表来处理图形颜色,即使用RGB色彩模型。计算机中的各种颜色是通过三原色按不同的比例调制而成的。每种颜色用一个1x3的向量[RGB]表示,其中R、G和B分别代表三种颜色的值,取值范围在[0,1]之间。MATLAB中常见的颜色配比方案如下表所示:

在设置好颜色表后,可以将其用于绘图。对于一般的曲线绘制函数,如plot和plot3,通常不需要通过颜色表来控制色彩显示;而对于曲面绘制函数,如mesh和surf,则需依赖颜色表。颜色表的设置命令为colormap([R,G,B]),其中输入变量[R,G,B]是一个三列矩阵,行数不限,该矩阵即为颜色表。 

也可以使用MATLAB中预设的颜色函数,以下是一些函数的颜色表(以上面的函数举例):

使用函数图像色彩

colormap(autumn)

colormap(bone)

colormap(cool)

colormap(copper)

colormap(flag)

colormap(gray)

colormap(hot)

colormap(hsv)

colormap(jet)

colormap(lines)

colormap(prism)

colormap(spring)

colormap(summer)

colormap(winter)

3 光照控制

给图像添加光影,以上面图像为例:

函数说明

camlight

创建或移动光源,位置为与摄像机之间的相对位置
lightangle在球面坐标系中创建或者放置光源
light创建光照对象
lighting选择照明方案
material设置反射系数属性

以上面的图像举例 

再加一个这样的代码

camlight('headlight')

你就可以得到这样的图像: 

关键字:Day22_0.1基础学习MATLAB学习小技巧总结(22)——三维图形的高级控制

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: