第四节-matlab 绘图和数据可视化
04-三维曲【面】
% 第四节-matlab 绘图和数据可视化
% 04-三维曲【面】
% 平面网格数据的生成
% 绘制三维曲面的mesh函数和surf函数
% fmesh函数和fsurf函数
% 视点处理
% 色彩处理
% 裁剪处理
% view函数的基本用法
% view(az, el)
% 其中,az为方位角,el为仰角。
% 注: 方位角和仰角的概念需要搞清楚,这样在不同角度看看到的图形是不通的
% 例1绘制函数z =(x -1)2+(y -2)2- 1曲面,并从不同视点展示曲面。
[x, y]=meshgrid(0:0.1 :2, 1 :0.1 :3); %生成x,y坐标平面
z=(x-1).^2+(y-2).^2-1 % 获取得到x作坐标
subplot(2, 2, 1)
mesh(x, y, z) %默认绘制的图形方位角
title('方位角=-37.5{\circ},仰角=30{\circ}')
subplot(2, 2, 2)
mesh(x, y, z)
view(0, 90)
title('方位角=0{\circ},仰角=90{\circ}')
subplot(2, 2, 3)
mesh(x, y, z)
view(90, 0)
title('方位角=90{\circ},仰角=0{\circ}')
subplot(2, 2, 4)
mesh(x, y, z)
view(-45, -60)
title('方位角=-45{\circ},仰角= -60{\circ}')
% view函数的其他用法
% viewlx, y, z)
% view(2)
% view(3)
% 色彩处理
% 【R G B 】三种颜色表示
% [001]:蓝色
% [100]:红色
% [010]:绿色
% [111]:白色
% [000]:黑色
cmap=colormap(parula(5))
% 指定当前图形使用的色图
% colormap cmapname
% colormap(cmap)
% eg
figure(2)
surf(peaks) % 绘制的尖峰曲面图
colormap hot % 设置色图颜色类型为 hot类型
% 创建一个灰色系列色图矩阵
c=[0,0.2,0.4,0.6,0.8,1]'
cmap=[c,c,c] % 等价于 cmap=gray(6)
surf(peaks)
colormap(cmap)
% 图形的裁剪处理将图形中需要裁剪部分对应的函
% 数值设置成NaN,这样在绘制图形时,
% 函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。
% eg 绘制3/4个圆
t1= linspace(0, 2*pi, 100)
x1 = sin(t1)
y1 = cos(t1);
p=y1> 0.5;
y1(p)= NaN; %裁剪y>以0.5上的数据部分
plot(x1, y1)
axis([-1.1,1.1,-1.1, 1.1])
axis square
grid on
%例5绘制3/4球面。
colormap default %设置色图为默认颜色
[X, Y, Z] = sphere(60);
surf(X, Y, Z) % 裁剪图形之前
p = Z>0.5;
Z(p) = NaN;
surf(X, Y, Z) % 裁剪图形以后
axis([-1, 1,-1, 1,-1, 1])
axis equal
view(-45, 20)