matlab绘制三维图

时间:2024-11-21 08:46:19

matlab绘制三维图

1.1绘制三维图命令

plot3(x,y,z,’s’);
plot3(x,y,z,’s’,x1,y1,z1,’s1’….); % 绘制多条三维图
s指定线形,色彩,数据点形状的字符串

x = 0:0.1:20*pi;
plot3(x,sin(x),cos(x));
  • 1
  • 2

这里写图片描述

1.2绘制三维网线图和曲面图

1.2.1 meshgrid命令

[X,Y]=meshgrid(x,y);
% 以x,y为基准,产生x-y平面的各个栅格点坐标值

1.2.2三维网格图

mesh(z); % 画三维网线图
mesh(x,y,z,c);

x,y,z,c都是维数相同的矩阵
c是指定各点的颜色矩阵

z = peaks;
figure(2);
mesh(z);
  • 1
  • 2
  • 3

这里写图片描述

1.2.3三维曲面图

surf(z); % 画三维曲面图
surf(x,y,z,c);

x,y,z,c都是维数相同的矩阵
c是指定各点的颜色矩阵

这里写图片描述

1.2.4其他立体网线图,曲面图

三维曲面图:

meshz(x,y,z);
meshc(x,y,z);
三维网线图
surfc(x,y,z,c); % 加等高线
surf(x,yx,z,c,S); % 给三维网线图加光源,S为光源方向三维数组

x1 = -4:0.1:4;
y1 = -4:0.1:4;
[x2,y2]=meshgrid(x1,y1);
z = peaks(x2,y2);
figure(2);
mesh(x1,y1,z);
figure(3);
surf(z);
figure(4);
meshz(x1,y1,z);  % 曲面加’围裙‘图
figure(5);
meshc(x1,y1,z);  % 曲面图加等高线
figure(6);
surfc(x1,y1,z);  % 网线图加等高线
figure(7);
surfl(x1,y1,z);  % 网线图加光源
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
figure(4):

这里写图片描述

figure(5):

这里写图片描述

figure(6):

这里写图片描述

figure(7):

这里写图片描述

1.3立体图形与图轴控制

view([az,el]); % az方位角(与x轴之间的角度),el俯角(与y轴之间的角度)
view(vx,vy,vz) % 通过直角坐标系改变视角

[x,y,z] = peaks;
mesh(x,y,z);
hidden off;
view(0,0);  % 方位角,俯角全为0
  • 1
  • 2
  • 3
  • 4

这里写图片描述

[x,y,z] = peaks;
mesh(x,y,z);
hidden off;
view(0,90);  % 方位角0,俯角90
  • 1
  • 2
  • 3
  • 4

这里写图片描述

1.4曲面的镂空

空位置使用nan取代矩阵在该部分数值,所有函数会忽略nan数据点,实现镂空效果

figure(2);
z(10:20,10:20)=nan;  % 将一部分值用nan代替
surf(x,y,z);
  • 1
  • 2
  • 3

这里写图片描述