matlab三维网格绘图函数mesh、meshc、mesh、zmeshgrid、surf【matlab图行绘制五】 |
您所在的位置:网站首页 › matlab作图网格线 › matlab三维网格绘图函数mesh、meshc、mesh、zmeshgrid、surf【matlab图行绘制五】 |
三维网格曲面的绘制 三维网格曲面是由一些四边形相互连接在一起所构成的一种曲面,这些四边形的4条边所围成的颜色与图形窗口的背景色相同,并且无色调的变化,呈现的是一种线架图的形式。 绘制这种网格曲面时,我们需要知道各个四边形的顶点的 3 个坐标值(x,y,z),然后再使用MATLAB所提供的网格曲面绘图命令mesh、meshc或meshz来绘制不同形式的网格曲面。 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')
上面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 ])
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |