matlab学习笔记|三维动画演示

Posted by wzc on 2020-08-24

一、三维绘图

​ 1、三维曲线绘图命令

plot3命令:

​ plot3命令时plot命令的扩展,格式和plot命令基本相同,例如:plot3(x,y,z,s)

ezplot3命令:

​ 与二维绘图相同,ezplot3是三维绘图中专门绘制符号函数的命令。

​ 实例:

1
2
3
4
5
%绘制螺旋曲线
t=0:pi/100:10*pi;
plot3(sin(t),cos(t),t);
title('螺旋曲线')
xlabel('sint'),ylabel('cost'),zlabel('t')
image-20200206173327330
1
2
3
4
5
6
%绘制圆锥螺旋线
t=linspace(0.2*pi,800);%一直不理解这句
x=t.*sin(t);
y=t.*cos(t);
z=t;
plot3(x,y,z)

二、三维图形修饰处理

视角处理

view命令用来控制三维图形的观察点和视角。

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
%绘制马鞍面
[x,y]=meshgrid(-5:0.25:5);
z=-x.^4+y.^4-x.^2-y.^2-2*x*y;
subplot(2,2,1);
surf(x,y,z),title('三维图形');
subplot(2,2,2);
surf(x,y,z),view(90,0);
title('侧视图');
subplot(2,2,3);
surf(x,y,z),view(0,0);
title('正视图');
subplot(2,2,4);
surf(x,y,z),view(0,90);
title('俯视图')
image-20200206212307507

三、特殊图形

直方图:

1
2
3
4
5
6
7
8
9
10
%% bar bar3 竖直  bar(  ,'style')  group 默认,stack 堆叠
Income=[0.5,0.7,0.8;0.7,0.8,0.4;0.4,0.3,0.9;0.3,0.6,0.9;0.2,0.1,0.6];
subplot(221)
bar(Income,'group');title('group')
subplot(222)
bar(Income,'stack');title('stack') %第二个的高度=第一个数+第二个数
subplot(223)
barh(Income,'stack');title('stack')
subplot(224)
bar(Income,1);title('Width=1') % 比较第一张图,width=1时,条形之间没有间距
image-20200206204209892

三维直方图:

1
2
3
4
5
6
Y=cool(8);
subplot(221);bar3(Y,'detached');title('Detached');
subplot(222);bar3(Y,'grouped');title('Grouped');
subplot(223);bar3(Y,'stacked');title('Stacked');
subplot(224);bar3(Y,0.3,'stacked');title('Stacked');
colormap([1,0,0;0,1,0;0,0,1])
image-20200206204324757

饼图:

1
2
3
4
5
6
7
8
%%  pie(x,explode),explode 是一个与x同纬的矩阵,非0 时 使对应的部分突出
x=[1 2.5 1.8 3.6 2.4];
subplot(221);pie(x,1:5,{'Dep1','Dep2','Dep3','Dep4','Dep5'});
subplot(222);pie(x);
subplot('Position',[0.2,0.05,0.6,0.45]);
explode=[1 0 0 1 0];
pie(x,explode)
colormap spring;%色度图
image-20200206204422201

向量图形:

四、图像处理及动画演示

……