Matlab绘制常见三维图形

%% a.画椭球
a=1;b=2;c=3;
figure(1),title('椭球')
ellipsoid(0,0,0,a,b,c)
%
shading interp
box on;
grid off
colormap hsv
%% b.单叶双曲面
[x,y]=meshgrid(-2:0.2:2,-2:0.2:2);
z=sqrt(c.^2*(x.^2/(a.^2)+y.^2/(b.^2)-1));
%
figure(2)
subplot(121),title('单叶双曲面')
surf(x,y,real(z))
hold on;
surf(x,y,-real(z))
%
[u,v]=meshgrid(linspace(0,2*pi,50),linspace(-1*pi/2,pi/2,50));
x=a.*sec(v).*cos(u);
y=a.*sec(v).*sin(u);
z=c.*tan(v);
subplot(122),title('单叶双曲面')
surf(x,y,z)
%
shading interp
box on;
grid off
colormap hsv
%% c.双叶双曲面
[x,y]=meshgrid(-2:0.2:2,-2:0.2:2);
z=sqrt(c.^2*(x.^2/(a.^2)-y.^2/(b.^2)-1));
%
figure(3)
subplot(121),title('双叶双曲面')
surf(x,y,real(z))
hold on;
surf(x,y,-real(z))
%
[u,v]=meshgrid(linspace(0,2*pi,50),linspace(-1*pi/2,3*pi/2,50));
x=a.*tan(v).*cos(u);
y=a.*tan(v).*sin(u);
z=c.*sec(v);
subplot(122),title('单叶双曲面')
mesh(x,y,z)
%
shading interp
box on;
grid off
colormap hsv
%% d.椭圆抛物面
[x,y]=meshgrid(-2:0.2:2,-2:0.2:2);
z=(x.^2/(a.^2)+y.^2/(b.^2))./2;
%
figure(4),title('椭圆抛物面')
surf(x,y,z)
%
colormap gray


%% e.马鞍面
[x,y]=meshgrid(-2:0.2:2,-2:0.2:2);
z=(x.^2/(a.^2) - 2.*y.^2/(b.^2));
%
figure(5),title('马鞍面')
surf(x,y,z)
%
shading interp
box on;
grid off
colormap hsv
%% f.圆环面
r=2;
R=4;
[u,v]=meshgrid(linspace(0,2*pi,50),linspace(0,2*pi,50));
x=(R+r.*cos(v)).*cos(u);
y=(R-r.*cos(v)).*sin(u);
z=r.*sin(v);
%
figure(6)
subplot(131),title('圆环面1')
surf(x,y,z)
%
syms u v
subplot(132),title('圆环面2')
ezmesh('(4+2*cos(v))*cos(u)','(4-2*cos(v))*sin(u)',...
    '2*sin(v)',[0,2*pi,0,2*pi])
subplot(133),title('圆环面3')
ezsurf('(4+2*cos(v))*cos(u)','(4-2*cos(v))*sin(u)',...
    '2*sin(v)',[0,2*pi,0,2*pi])
%
shading interp
box on;
grid off
colormap hsv
%% g.螺旋面
u=linspace(0,2*pi);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
x=(4+sin(20*U)).*cos(V);
y=(4+sin(20*U)).*sin(V);
z=2*V;
figure(7),title('螺旋面')
mesh(x,y,z)
axis equal
%% h.螺旋卷筒
clear all
R=2;
b=2;
u=linspace(0,2);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
x=U.*cos(V);
y=U.*sin(V);
z=U.*V;
figure(8),title('螺旋卷筒')
mesh(x,y,z)
axis equal
axis off
%% i.螺旋管,俗称“弹簧”
u=linspace(0,2*pi,100);
v=linspace(0,6*pi,100);
[U,V]=meshgrid(u,v);
X=(4+sin(U)).*cos(V);
Y=(4+sin(U)).*sin(V);
Z=cos(U)+V;
figure(9),title('螺旋管')
mesh(X,Y,Z)
axis equal
axis off
%% j.圆柱上的缎带
u=linspace(0,2);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
X=2*cos(V);
Y=2*sin(V);
Z=U+V;
figure(10),title('圆柱上的缎带')
mesh(X,Y,Z)
axis equal
axis off
%% k.纽带
u=linspace(0,2);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
X=U.*cos(V);
Y=U.*sin(V);
Z=5*V;
figure(10),title('纽带')
mesh(X,Y,Z)
axis equal

axis off



椭球面

  


  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值