一、三维绘图函数

matlab三维绘图主要有三个命令:plot3命令、mesh命令和surf命令。

plot3

plot3是三维绘图的基本函数,绘制的是最为基本的3D曲线图,最基本的调用格式是:

plot3(X,Y,Z)

当X,Y,Z为长度相同的向量时,plot3命令将绘得一条分别以向量X,Y,Z为(x,y,z)坐标值的曲线

当X,Y,Z均为m*n的矩阵时,plot3命令将绘得m条曲线,每条曲线均为X,Y,Z列向量为(x,y,z)坐标值的曲线

mesh

mesh与plot3不同的是它可以绘出在某一区间内完整的曲面(网格图)。最基本的调用格式是:

mesh(X,Y,Z)

需要注意的是X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m*n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))

surf

surf的调用方法与mesh命令类似,不同的是mesh函数绘制的图像是一个网格图,而surf命令绘制得到的是着色的三维曲面。着色的方法时在得到相应的网格后,对每个网格依据该网格所代表的节点的色值来定义这一网格的颜色。最基本得调用格式是:

surf(X,Y,Z)

需要注意的是:第一,surf只支持笛卡尔坐标系(直角坐标系)。第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入:shading interp。这样matlab就会进行相应插值。第三如果想做成两维图模拟三维图效果,现在想到的方法是手动旋转将三维图旋转成两维图,再加入colorbar。

实例图可查看

二、图像输出处理语句

坐标系网格化——grid on;

坐标系去网格化——grid off;

去除坐标系,只显示三维目标——绘图语句后加入:axis off

全图背景设置(由默认灰色到白色)——绘图语句后加入:set(gcf,'color','w');

三维图像去网格化——绘图语句后加入:shading interp

个人整理,并验证,希望对路过的朋友有用,,可能具体情况不同以及设置颜色梯度等问题需要自行到网上查找方法。