MatLab三维图形绘制基础

发布于:2024-07-06 ⋅ 阅读:(18) ⋅ 点赞:(0)

三维图形绘制

三维曲线

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)) 61列
X = ones(size(y))*x; % 65列
Y = y*ones(size(x));% 65%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);//生成曲面效果

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到