《MATLAB畫三維圖》由會員分享,可在線閱讀,更多相關(guān)《MATLAB畫三維圖(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、MATLAB 畫三維函數(shù)圖
下面將這幾天所做的圖像及程序小記一下(望大蝦指教)
一、螺旋線
1. 靜態(tài)螺旋線
a=0:0.1:20*pi;
h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2);
axis([-50,50,-50,50,0,150]);
grid on
set(h,'erasemode','none','markersize',22);
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸'); title('靜態(tài)螺旋線');
2. 動態(tài)螺旋線
t=0:0.1:10*pi;
2、
i=1;
h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');
grid on
axis([-2 2 -2 2 0 35])
for i=2:length(t)
set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));
drawnow
pause(0.01)
end
title(' 動態(tài)螺旋線 ');
( 圖略 )
3. 圓柱螺旋線
t=0:0.1:10*pi;
x=r.*cos(t);
y=r.*sin(t);
z=t;
plot3(x,y
3、,z,'h','linewidth',2);
grid on
axis('square')
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title(' 圓柱螺旋線 ')
二、旋轉(zhuǎn)拋物面
b=0:0.2:2*pi;
[X,Y]=meshgrid(-6:0.1:6);
Z=(X.A2+Y.A2)./4;
meshc(X,Y,Z);
axis('square')
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('旋轉(zhuǎn)拋物面')
或直接用:ezsurfc('(X.A2+Y.A2
4、)./4')
三、橢圓柱面
load clown
ezsurf('(2*cos(u))','4*sin(u)','v',[0,2*pi,0,2*pi])
view(-105,40) % 視角處理
%添加坐標軸說明
shading interp % colormap(map) grid on
axis equal
xlabel('x 軸');ylabel('y title('橢圓柱面')
燈光處理
%顏色處理
%添加網(wǎng)格線
%使x
5、,y軸比例一致
軸');zlabel('z 軸');
%添加標題
四、橢圓拋物面
b=0:0.2:2*pi;
[X,Y]=meshgrid(-6:0.1:6);
Z=X.A2./9+Y.A2./4;
meshc(X,Y,Z);
axis('square')
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('橢圓拋物面')
或直接用:ezsurfc('X.A2./9+Y.A2./4')
m t搶步阮
五、'雙葉雙曲面
ezsurf('8*tan(u)*cos(v)','8.*tan(u)*sin(v
6、)',2*sec(u)',[-pi./2,3*pi./2,0,2*pi])
axis equal
grid on
axis square
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('雙葉雙曲面')
如l- h
六、雙曲柱面
load clown ezsurf('2*sec(u)','2*tan(u)','v',[-pi/2,pi/2,-3*pi,3*pi])
hold on %在原來的圖上繼續(xù)作圖
ezsurf('2*sec(u)','2*tan(u)','v',[pi/2,3*pi/2,-3*pi,3*pi]
7、) colormap(map)
shading interp
view(-15,30)
axis equal
grid on
axis equal
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('雙曲柱面')
■■:: < >1
s5F
七、雙曲拋物面(馬鞍面)
[X,Y]=meshgrid(-7:0.1:7);
Z=X.A2./8-Y.A2./6;
meshc(X,Y,Z);
view(85,20)
axis('square')
xlabel('x 軸');ylabel('y 軸');zlabel('
8、z 軸');
title('雙曲拋物面')
或直接用:ezsurfc('X.A2./8-Y.A2./6')
八、拋物柱面
[X,Y]=meshgrid(-7:0.1:7);
Z=Y.A2./8;
h=mesh(Z);
rotate(h,[1 0 1],180) % 旋轉(zhuǎn)處理
%axis([-8,8,-8,8,-2,6]);
axis('square')
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('拋物柱面')
或直接用:ezsurfc('Y.A2./8')
eo的眼 do.l0 叭妝極15a
九、環(huán)
9、面
ezmesh('(5+2*cos(u))*cos(v)','(5+2*cos(u))*sin(v)','2*sin(u)', [0,2*pi,0,2*pi]) axis equal
grid on
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('環(huán)面')
Id
十、橢球
ezsurfc('(5*cos(u))*sin(v) ','(3*sin(u))*sin(v)','4*cos(v)',[0,2*pi,0,2*pi])
axis equal
grid on
xlabel('x 軸');ylabel('y 軸'
10、);zlabel('z 軸');
title('橢球')
十一、單葉雙曲面
ezsurf('4*sec(u)*cos(v)',2*sec(u)*sin(v)','3.*tan(u)',[-pi./2,pi./2,0,2*pi])
axis equal
grid on
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('單葉雙曲面')
十二、旋轉(zhuǎn)單葉雙曲面
load clown
ezsurf('8*sec(u)*cos(v)','8.*sec(u)*sin(v)',2*tan(u)',[-pi./2,pi./2,
11、0,2*pi]) colormap(map)
view(-175,30)
%alpha(.2) %透明處理
axis equal
grid on
axis square
xlabel('x 軸');ylabel('y 軸');zlabel('z 軸');
title('旋轉(zhuǎn)單葉雙曲面')
找性c, :O
十三、圓柱面
subplot(1,2,1)
ezsurf('(2*cos(u))','2*sin(u)','v',[0,2*pi,0,2*pi])
grid on
shading interp
axis equal
xlabel('x 軸');ylabel
12、('y 軸');zlabel('z 軸');
title('圓柱面')
subplot(1,2,2)
cylinder(30)
shading interp
axis square
title('調(diào)用cylinder函數(shù)所得圓柱面')
Y槁 xM
下面給出用colormap() 改變圖像顏色的例子:(用了燈光效果"shading interp")
colormap(); %hot/cool/copper/gray/hsv/spring/summer/winter...
colormap(hsv)
HWHHpPl
colormap(gray)
-4:
colormap(cool)
colormap(copper)
下面做了旋轉(zhuǎn)("view([ ])") 、燈光(“ shading interp )、"透明(“ alpha())處理:
X
*1*