MATLAB 三维曲面

您所在的位置:网站首页 matlab绘制两个曲面 MATLAB 三维曲面

MATLAB 三维曲面

2023-06-29 18:58| 来源: 网络整理| 查看: 265

MATLAB 三维曲面

平面网格数据的生成

1.利用矩阵运算生成

x=2:6; y=(3:8)'; X=ones(size(y))*x; Y=y*ones(size(x));

2.利用meshgrid函数生成

[X,Y]=meshgrid(x,y); x=2:6; y=(3:8)'; [X,Y]=meshgrid(x,y);

eg:绘制空间曲线

x=2:6; y=(3:8)'; [X,Y]=meshgrid(x,y); Z=randn(size(X)); plot3(X,Y,Z); grid on;

在这里插入图片描述

eg:

在这里插入图片描述

t=-2:0.2:2; [X,Y]=meshgrid(t); Z=X.*exp(-X.^2-Y.^2); subplot(1,3,1) mesh(X,Y,Z); subplot(1,3,2) surf(X,Y,Z); subplot(1,3,3) plot3(X,Y,Z); grid on

在这里插入图片描述 eg:

t=1:5; z=[0.5*t;2*t;3*t]; mesh(z);

在这里插入图片描述

%带等高线的三维网络曲面函数meshc %带底座的三维网络曲面函数meshz %具有等高线的曲面函数surfc %具有光照效果的曲面函数surfl

eg:

在这里插入图片描述

[x,y]=meshgrid(0:0.1:2,1:0.1:3); z=(x-1).^2+(y-2).^2-1; subplot(2,2,1); meshc(x,y,z); title('meshz(x,y,z)') subplot(2,2,3); surfc(x,y,z); title('surfc(x,y,z)') subplot(2,2,4); surfl(x,y,z); title('surfl(x,y,z)')

在这里插入图片描述

标准三维曲面:

%sphere函数 [x,y,z]=sphere(n) %cylinder函数 [x,y,z]=cylinder(R,n)

eg:用cylinder函数分别绘制柱面,花瓶和圆锥面。

subplot(1,3,1); [x,y,z]=cylinder; surf(x,y,z); subplot(1,3,2); t=linspace(0,2*pi,40); [x,y,z]=cylinder(2+cos(t),30); surf(x,y,z); subplot(1,3,3); [x,y,z]=cylinder(0:0.2:2,30); surf(x,y,z);

在这里插入图片描述

eg:用cylinder函数绘制两个相互垂直且直径相等的圆柱面的相交图形。

[x,y,z]=cylinder(1,60); z=[-1*z(2,:);z(2,:)]; surf(x,y,z); hold on surf(y,z,x); axis equal

在这里插入图片描述 eg:(peaks函数)

p1=peaks(10); p2=peaks; p3=peaks(-3:0.2:3); [x,y]=meshgrid(-2:0.1:2,0:0.1:5); p4=peaks(x,y);

%fsurf函数和fmesh函数 %fsurf(funx,funy,funz,uvlims) %fmesh(funx,funy,funz,uvlims)

eg:

在这里插入图片描述

funx=@(u,v)u.*sin(v); funy=@(u,v)-u.*cos(v); funz=@(u,v)v; fsurf(funx,funy,funz,[-5,5,-5,-2]) hold on fmesh(funx,funy,funz,[-5,5,-2,2]) hold off

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3