Matlab快速入门之创建网格图和曲面图

文章目录(展开/隐藏→)

展开
4.3
(3)

今天,带来Matlab中网格图以及曲面图的创建方法。

关于网格图和曲面图

MATLAB® 在 xy 平面中的网格上方使用点的 z 坐标来定义曲面图,并使用直线连接相邻的点。mesh 和 surf 函数以三维形式显示曲面图。

  • mesh 生成仅使用颜色来标记连接定义点的线条的线框曲面图。
  • surf 使用颜色显示曲面图的连接线和面。

MATLAB 通过将索引的 z 数据值映射到图窗颜色图来标记曲面图颜色。

Matlab快速入门之创建网格图和曲面图

可视化包含两个变量的函数

要显示包含两个变量的函数 z = (x,y),

  1. 在此函数的域中,生成分别由重复行和重复列组成的 X 和 Y 矩阵。
  2. 使用 X 和 Y 计算此函数并绘制其图形。

meshgrid 函数将一个向量或两个向量(即 x 和 y)指定的域转换为矩阵 X 和 Y,以便用于计算包含两个变量的函数。X 的行是向量 x 的副本,Y 的列是向量 y 的副本。

绘制正弦函数

尝试此示例Copy Command  Copy Code

此示例说明如何计算和绘制 x 和 y 方向之间的二维 sinc 函数 sin(R)/RR 是距原点的距离,原点在矩阵的中心。添加 eps(非常小的值)可防止网格图在 R = 0 处的点出现孔洞。

>> [X,Y] = meshgrid(-8:.5:8); 
>> R = sqrt(X.^2 + Y.^2) + eps;
>> Z = sin(R)./R;
>> mesh(X,Y,Z)
Matlab快速入门之创建网格图和曲面图

默认情况下,MATLAB 使用当前颜色图来标记网格图颜色。

彩色曲面图

尝试此示例Copy Command  Copy Code

此示例说明如何将 sinc 函数绘制为曲面图,指定颜色图并添加颜色栏以便显示数据与颜色的映射。

曲面图与网格图相似,但曲面图的矩形面是彩色的。各个面的颜色由 Z 的值及颜色图(即颜色的有序列表)决定。

>> [X,Y] = meshgrid(-8:.5:8);
>> R = sqrt(X.^2 + Y.^2) + eps;
>> Z = sin(R)./R;
>> surf(X,Y,Z)
>> colormap hsv
>> colorbar
Matlab快速入门之创建网格图和曲面图

将曲面图设置为透明

尝试此示例Copy Command  Copy Code

此示例展示如何将曲面图的面设置为不同透明度。透明度(称为 alpha 值)可以针对整个对象进行指定,也可以基于 alphamap(其作用方式与颜色图类似)进行指定。

>> [X,Y] = meshgrid(-8:.5:8);
>> R = sqrt(X.^2 + Y.^2) + eps;
>> Z = sin(R)./R;
>> surf(X,Y,Z)
>> colormap hsv
>> alpha(.4)
Matlab快速入门之创建网格图和曲面图

MATLAB 显示一个面 alpha 值为 0.4 的曲面。Alpha 值的范围介于 0(完全透明)和 1(不透明)之间。

使用灯光照亮曲面图

尝试此示例Copy Command  Copy Code

本示例展示的曲面图与前面示例所用的曲面图相同,但将其设置为红色,并删除了网格线。然后会在“相机”(相机即为您观察曲面图所处的空间位置)左侧添加一个灯光对象:

>> [X,Y] = meshgrid(-8:.5:8);
>> R = sqrt(X.^2 + Y.^2) + eps;
>> Z = sin(R)./R;
>> surf(X,Y,Z,'FaceColor','red','EdgeColor','none')
>> camlight left; 
>> lighting phong
Matlab快速入门之创建网格图和曲面图

光照是使用定向光源照亮对象的技术。在特定情况下,此技术能够更清楚地显示曲面图形状的细微差异。光照还可用于增添三维图形的真实感。

操作曲面图

图窗工具栏和相机工具栏提供了以交互方式浏览三维图形的方法。通过从图窗视图菜单中选择相机工具栏可以显示相机工具栏。

下图显示选择了三维旋转工具的两个工具栏。

Matlab快速入门之创建网格图和曲面图

这些工具使您能围绕曲面图对象移动相机、缩放、添加光照并执行其他查看操作,而不需执行其他命令。

共计3人评分,平均4.3

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/program/matlab/creating-mesh-and-surface-plots.html

(0)
上一篇 2022年10月10日 20:46
下一篇 2022年10月15日 20:27

相关推荐

发表回复

登录后才能评论
本站APP
微信小程序