4.5 matlab三维曲面(mesh、fmesh、meshc、meshz、surf、fsurf、surfc、surfl)
1、平面網(wǎng)格數(shù)據(jù)的生成
(1)利用矩陣運(yùn)算生成
(2)利用meshgrid函數(shù)生成
[X,Y]=meshgrid(x, y);
其中,參數(shù)x、y為向量,存儲(chǔ)網(wǎng)格點(diǎn)坐標(biāo)的X、Y為矩陣。
例1:繪制空間曲線
x = 2:6; y = (3:8)'; [X,Y] = meshgrid(x,y); Z = randn(size(X)); %randn函數(shù)生成與X同型的矩陣Z,Z的大小也是6行5列 plot3(X,Y,Z) %圖形窗口出現(xiàn)5條折線 xlabel('X') ylabel('Y') zlabel('Z') grid on legend()
2、繪制三維曲面的函數(shù)
mesh(x, y,z,c)
mesh函數(shù)用于繪制三維網(wǎng)格圖
surf(x, y,z,c)
surf函數(shù)用于繪制三維曲面圖,各線條之間的補(bǔ)面用顏色填充
一般情況下xyz是同型矩陣,其中,x、y是網(wǎng)格坐標(biāo)矩陣,z是網(wǎng)格點(diǎn)上的高度矩陣,c用于指定在不同高度下的曲面顏色。
mesh函數(shù)和surf函數(shù)的其他調(diào)用格式:
mesh(z, c)
surf(z, c)
當(dāng)x、y省略時(shí),z矩陣的第2維下標(biāo)當(dāng)作x軸坐標(biāo),z矩陣的第1維下標(biāo)當(dāng)作y軸坐標(biāo)。
帶等高線的三維網(wǎng)格曲面函數(shù)meshc
在xy平面上繪制曲面,在z軸方向的等高線
帶底座的三維網(wǎng)格曲面函數(shù)meshz
在xy平面止繪制曲面的底座
具有等高線的曲面函數(shù)surfc
具有光照效果的曲面函數(shù)surfl
例3 :用4種方式繪制函數(shù)z=(x- 1 ) ^2+(y-2) ^2-1的曲面圖,其中x ∈ [0,2],y∈ [1,3]。
[X,Y] = meshgrid(0:0.1:2,1:0.1:3); %生成網(wǎng)格矩陣x,y Z = (X-1).^2+(Y-2).^2-1; %生成高度矩陣zsubplot(2,2,1) meshc(X,Y,Z) title('meshc(X,Y,Z)','color','r')subplot(2,2,2) meshz(X,Y,Z) title('meshz(X,Y,Z)','color','r')subplot(2,2,3) surfc(X,Y,Z) title('surfc(X,Y,Z)','color','r')subplot(2,2,4) surfl(X,Y,Z) title('surfl(X,Y,Z)','color','r')
3、標(biāo)準(zhǔn)三維曲面
( 1 ) sphere函數(shù):繪制三維球面
[x, y,z]=sphere(n)
sphere函數(shù)將新產(chǎn)生3個(gè)n加階的方陣,采用這3個(gè)矩陣可以繪制出圓心位于原點(diǎn),半徑為1的單位球體
( 2 ) cylinder函數(shù):繪制三維柱面
[x, y, z]=cylinder(R, n)
參數(shù)R是個(gè)向量,存放柱面各個(gè)等間隔高度上的半徑,n表示在圓桂圓周上有n個(gè)間隔點(diǎn)
例4:用cylinder函數(shù)分別繪制柱面、花瓶和圓錐面。
subplot(1,3,1) [x,y,z] = cylinder; %不帶參數(shù),默認(rèn)生成2行21列的網(wǎng)格坐標(biāo)矩陣 surf(x,y,z) %繪制柱面 title('柱面','color','r','fontsize',20)subplot(1,3,2) t = linspace(0,2*pi,40); [x,y,z] = cylinder(2+cos(t),30); %向量有40個(gè)元素,生成40行31列的網(wǎng)格坐標(biāo)矩陣 surf(x,y,z) %繪制花瓶 title('花瓶','color','r','fontsize',20)subplot(1,3,3) [x,y,z] = cylinder(0:0.2:2,30); surf(x,y,z) %繪制圓錐面 title('圓錐面','color','r','fontsize',20)
例5 :用cylinder數(shù)繪制兩個(gè)相互垂直且直徑相等的圓柱面的相交圖形。
總結(jié)
以上是生活随笔為你收集整理的4.5 matlab三维曲面(mesh、fmesh、meshc、meshz、surf、fsurf、surfc、surfl)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.3 matlab常用的特殊图形(条形
- 下一篇: 4.6 matlab图形修饰处理(视点处