MATLAB三维绘图(一)三维基础绘图

MATLAB三维绘图(一)三维基础绘图

  三维图就是在二维图的基础上多增加了一维,实质上在MATLAB中绘制的都是三维图。简单看一下二维图是怎样变成三维图的,使用plot3函数可以很清楚的看出来。示例:

%% 简单理解三维画图
clear; clc; close all;
x=0:0.1:5*pi; 
z1=sin(x); 
z2=sin(2.*x); 
z3=sin(3.*x);
y1=zeros(size(x)); 
y3=ones(size(x)); 
y2=y3./2;
plot3(x,y1,z1,'r',x,y2,z2,'b',x,y3,z3,'g');  % 画出三条不同的直线显示的是三维图像
grid on; % 显示网格
xlabel('x-axis'); ylabel('y-axis'); zlabel('z-axis');

效果显示:
在这里插入图片描述
1、使用最简单的三维画图函数plot3来认识一下三维图。示例1:弹簧图

%% 螺旋状图(弹簧)
clear; clc; close all;
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t);  % 使用plot3进行绘制三维曲线图
grid on;   % 显示网格
axis square;   % 坐标边框尺度大小相同

效果显示:
在这里插入图片描述
示例2:螺旋图:

%% 螺旋状图(盘香)
clear; clc; close all;
turns = 40*pi;
t = linspace(0,turns,4000);
x = cos(t).*(turns-t)./turns;
y = sin(t).*(turns-t)./turns;
z = t./turns;
plot3(x,y,z); % 使用plot3绘制
grid on;

效果显示:
在这里插入图片描述
2、通过meshgrid函数生成网格来比较surf函数和mesh函数的区别。示例:

%% 比较surf和mesh的区别
clear; clc; close all;
x = -3.5:0.2:3.5; y = -3.5:0.2:3.5;
[X,Y] = meshgrid(x,y);  % 获取网格
Z = X.*exp(-X.^2-Y.^2);  % 设定Z的范围
subplot(1,2,1); 
mesh(X,Y,Z);  % 显示绘图的线,但是表格中间没有填充颜色
title('mesh draw');
subplot(1,2,2); 
surf(X,Y,Z);  % 显示绘图的线,表格中间有填充的颜色
title('surf draw');

效果显示:
在这里插入图片描述

猜你喜欢

转载自www.cnblogs.com/zhicungaoyuan-mingzhi/p/12447149.html