Matlab系列之三维图形
序
在Matlab中,三维图形有:三维曲线、三维网格以及三维曲面,分别对应函数:plot3、mesh和surf,本篇将介绍些常规使用以及一些三维图形的处理。
三维曲线图
和二维曲线的命令相似,用法也与plot的类似,调用格式:
plot3(x,y,z)
功能:x,y,z如果是同长度的向量,则绘制对应的空间三维曲线;若是同阶矩阵,则绘制对应列的多条曲线。
也可以像plot函数一样对绘制的曲线类型,颜色等进行设置,具体的可用参数,使用命令“doc Chart Line Properties”查看
举例
%使用sin和cos组成三维的螺旋曲线
t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
figure
plot3(st,ct,t,'b^-');
xlabel('sin(t)');
ylabel('cos(t)');
zlabel('t');
结果
三维网格图
三维网格图和三维曲线图有明显的区别,mesh可以绘制一段区间的整个曲面,不再是单条曲线,不过多曲线叠加后,更像是网格,和等下介绍的曲面还是存在一些小区别。
调用格式:mesh(x,y,z)
功能描述:根据矩阵x,y,z绘制三维曲线,x,y,z矩阵中的元素就是三维图形中各个对应的点,然后点与点进行了线的连接,线的颜色将随点的高度改变而改变。
注意事项:在使用函数前,需要先在xy平面建立网格坐标:[x,y]=meshgrid(x,y),然后再利用新的x,y计算网格上对应z的点,从而得到构建曲面所需的点,最后再使用mesh绘制整个图
举例1
%sinc函数
x=-8:.5:8;
y=x;
[X,Y] = meshgrid(x,y);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
figure
mesh(X,Y,Z)%直接mesh(Z)也可以
结果1
再介绍下mesh的“补充”函数meshc和meshz
举例2
%sinc函数
x=-8:.5:8;
y=x;
[X,Y] = meshgrid(x,y);
R = sqrt(X.^2 &