三维图形绘制
三维曲线
plot3 螺旋图绘制
% %三维图像:螺旋图绘制
clear;
clc;
t = [0:0.1:10*pi];% 向量
x = sin(t) + t.*cos(t);%t是向量,用点乘
y = cos(t) - t.*sin(t);
z = t;
plot3(x,y,z);
grid on;
plot3 绘制同型矩阵
%%
% plot3绘制同型矩阵
t = [0:0.1:10*pi];% 向量
t = t.';% 转置
x = [t,t,t];% n行*3列
y = [sin(t),sin(t)+2,sin(t)+4];
z = t;
plot3(x,y,z);
grid on;
fplot3 绘制曲线
%%
% fplot3 绘制曲线
x = @(t) exp(-t/10).*sin(5*t);
y = @(t) exp(-t/10).*cos(5*t);
z = @(t) t;
fplot3(x,y,z,[-12,12],'r');
曲面绘制
生成平面网格数据,再拔高。
% 曲面绘制中,生成平面网格数据
x = [2:6];% 2 3 4 5 6
y = [3:8]';
% 3
% 4
% 5
% 6
% 7
% 8
%1.矩阵运算生成平面网格
% ones创建全部为 1 的数组:ones(size(y)) 6行1列
X = ones(size(y))*x; % 6行5列
Y = y*ones(size(x));% 6行5列
%2.利用meshgrid函数生成平面网格
%meshgrid(x,y) 基于向量 x 和 y 中包含的坐标返回二维网格坐标。X 是一个矩阵,每一行是 x 的一个副本;Y 也是一个矩阵,每一列是 y 的一个副本。坐标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列
[X,Y] = meshgrid(x,y);
plot3 绘制曲线效果
x = -1:0.2:2;
[X,Y] = meshgrid(x);
Z = X.*exp(-X.^2-Y.^2);
plot3(X,Y,Z);
grid on;
mesh 绘制曲面
x = -1:0.2:2;
[X,Y] = meshgrid(x);
Z = X.*exp(-X.^2-Y.^2);
%plot3(X,Y,Z);
mesh(X,Y,Z);
grid on;
surf 绘制曲面
%%
% 曲面绘图
x = -1:0.2:2;
[X,Y] = meshgrid(x);
Z = X.*exp(-X.^2-Y.^2);
%plot3(X,Y,Z);
%mesh(X,Y,Z);
surf(X,Y,Z);
grid on;
% x和y是两个向量,使用meshgrid函数生成对应的平面网格。Z可以是任意的值绘制空间曲线。
x = [2:6];
y = [3:8]';
[X,Y] = meshgrid(x,y);
Z = randn(size(X));
plot3(X,Y,Z);
grid on;
surf(X,Y,Z);//生成曲面效果