matlab三维网格绘图函数mesh、meshc、mesh、zmeshgrid、surf【matlab图行绘制五】

本文详细介绍了如何使用MATLAB进行三维网格曲面的绘制,包括栅格数据点的生成、mesh函数的使用及其不同参数的含义,以及meshc和meshz函数的应用。此外,还提到了hidden函数对隐藏线的控制,帮助读者理解并掌握在MATLAB中创建三维网格图的全过程。
摘要由CSDN通过智能技术生成

三维网格曲面的绘制
三维网格曲面是由一些四边形相互连接在一起所构成的一种曲面,这些四边形的4条边所围成的颜色与图形窗口的背景色相同,并且无色调的变化,呈现的是一种线架图的形式。
绘制这种网格曲面时,我们需要知道各个四边形的顶点的 3 个坐标值(x,y,z),然后再使用MATLAB所提供的网格曲面绘图命令meshmeshcmeshz来绘制不同形式的网格曲面。
1.栅格数据点的产生
前面我们讲过,在绘制网格曲面之前,必须先知道各个四边形顶点的三维坐标值。绘制曲面的一般情况是,我们先知道四边形各个顶点的二维坐标(x, y),然后再利用某个函数公式计算出四边形各个顶点的z 坐标。这里所使用的维坐标值(x, y)是一种栅格形的数据点,它可由MATLAB所提供的meshgrid产生。meshgrid命令的调用格式如下。
[X, Y]=meshgrid(x, y):表示由x 向量和y 向量值通过复制的方法产生绘制三维图形时所需的栅格数据X矩阵和Y矩阵。
在使用该命令的时候,需要说明以下两点:
(1)向量x和向量y分别代表三维图形在X轴、Y轴方向上的取值数据点;
(2)x和y分别是1个向量,而X和Y分别代表1个矩阵。
利用meshgrid绘制矩形网格。

x=-5:0.5:5;
y=5:-0.5:-5;
[X,Y]=meshgrid(x,y);
plot(X,Y,'o')

在这里插入图片描述
2.网格曲面的绘制命令
MATLAB中,mesh函数用于绘制三维网格曲面图,该函数的语法格式有以下几种:

mesh(X,Y,Z,C)
mesh(X,Y,Z)
mesh(x,y,Z,C)
mesh(x,y,Z)
mesh(Z,C)
mesh(Z)

上面6种格式都可以绘制出三维网格曲面图,但是各个格式的命令参数含义有些区别,现作出以下几点说明。
(1)在命令格式mesh(X,Y,Z,C)和mesh(X,Y,Z)中,参数X,Y,Z都为矩阵值,并且X矩阵的每一个行向量都是相同的,Y矩阵的每一个列向量也都是相同的。参数C表示网格曲面的颜色分布情况,若省略该参数,则表示网格曲面的颜色分布与Z方向上的高度值成正比
(2)在命令格式(x,y,Z,C)和mesh(x,y,Z)中,参数x和y为长度分别是n和m的向量值,而参数Z是维数为m×n的矩阵。其实,这种格式的命令相当于执行了下面两条命令:
[X,Y]=meshgrid(x,y)
mesh[X,Y,Z,C]
(3)在命令格式[Z,C]和mesh(Z)中,若参数Z是维数为m×n的矩阵,则绘图时的栅格数据点的取法是x=1:n和y=1:m。
其实,这种格式的命令相当于执行了下面5条命令:
[m,n]=size(Z);
x=1:n;
y=1:m;
[X,Y]=meshgrid(x,y);
mesh(X,Y,Z,C)
在笛卡尔坐标系中绘制函数的网格曲面图。

x=-7:0.5:7;
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
mesh(X,Y,Z)
grid on
axis([-10 10 -10 10 -1 1 ])

在这里插入图片描述
另外,MATLAB中还有两个mesh的派生函数。
(1)meshc函数用于在绘图的同时,在x-y平面上绘制函数的等值线。
(2)meshz函数用于在网格图基础上在图形的底部外侧绘制平行于z轴的边框线。
利用meshc和meshz函数绘制三维网格图。

close all
clear
[X,Y] = meshgrid(-2:.4:2);
Z = 2*X.^2-3*Y.^2;
subplot(2,2,1)
plot3(X,Y,Z)
subplot(2,2,2)
mesh(X,Y,Z)
subplot(2,2,3)
meshc(X,Y,Z)
subplot(2,2,4)
meshz(X,Y,Z)

在这里插入图片描述
3.隐藏线的显示和关闭
显示或不显示的网格曲面的隐藏线将对图形的显示效果有一定的影响。MATLAB、hidden函数为相关的控制命令,该函数的调用格式如下。
hidden on:表示去掉网格曲面的隐藏线。
hidden off:表示显示网格曲面的隐藏线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张叔zhangshu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值