绘制三维图plot3
t=0:pi/50:10*pi;
x=sin(t);
y=cos(t);
z=t;
plot3(x,y,z);
产生栅格数据点meshgrid
这个接口在绘制三维图像里面相当重要,很多时候要将向量变成矩阵才能绘制三维图。
x=0:0.5:5;
y=0:1:10;
[X,Y]=meshgrid(x,y);
plot(X,Y,'o');
x和y是向量,产生出来的X和Y就是矩阵了
画出来的图是这样的
绘制三维网格图mesh
x=-8:0.5:8;
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
mesh(X,Y,Z);
可以对比下几个相近的接口使用效果
x=-8:0.5:8;
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
subplot(2,2,1);
plot3(X,Y,Z);%只能连成一条一条线,不能做成网格线
subplot(2,2,2);
mesh(X,Y,Z);
subplot(2,2,3);
meshc(X,Y,Z);%在z=0的面上绘制等值线
subplot(2,2,4);
meshz(X,Y,Z);%在图形底部跟外侧添加边框线,感觉就像加了外壁
隐藏线显示和关闭hidden
hidden的使用时机跟hold不同,hold是绘制图形之前就要执行,hidden是绘制图形之后再执行。
hidden on是开启隐藏线功能,可以理解为关闭透视效果,Matlab是正人君子,所以默认是这个。
hidden off是关闭隐藏线功能,可以理解为开启透视效果。
x=-8:0.5:8;
y=x;
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
subplot(2,1,1);
mesh(X,Y,Z);
hidden on;
subplot(2,1,2);
mesh(X,Y,Z);
hidden off;