您当前的位置: 首页 >  matlab

MATLAB 三维曲面

发布时间:2022-01-12 20:41:59 ,浏览量:5

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

在这里插入图片描述

关注
打赏
1688896170
查看更多评论

暂无认证

  • 5浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0518s