GUI三维绘图

发布时间:2024年01月06日

绘制三维图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;

文章来源:https://blog.csdn.net/qiu421/article/details/135423632
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。