當(dāng)我們學(xué)習(xí)surface命令時(shí),已經(jīng)看到了三維作圖的一些端倪。在matlab中我么可以調(diào)用mesh(x,y,z)函數(shù)來(lái)產(chǎn)生三維圖像。
首先,我們用z=cos(x)sin(y)在-2pi ≤x,y≤ 2pi內(nèi)的圖像來(lái)看看:
[x,y] = meshgrid(-2*pi:0.1:2*pi);
z = cos(x).*sin(y);
mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')
顯示圖像如下:

同樣用mesh命令產(chǎn)生z = ye-(x2+y2)的三維圖像:
[x,y] = meshgrid(-2:0.1:2);
z = y.*exp(-x.^2-y.^2);
mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

下面繪制表面帶有漸變顏色的圖像,可以通過(guò) surf 和 surfc 命令實(shí)現(xiàn),只要簡(jiǎn)單更改上面例子中的命令為:
surf(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')
則圖像如下所示,圖像表面的顏色與高度是相稱的:

若使用surfc則會(huì)在圖像中留下映像:
surfc(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

還可以調(diào)用surfl(命令中的'l'表示這是一個(gè)光照表面 lighted surface)命令顯示三維光照物體的表面,可以使用這個(gè)命令產(chǎn)生沒(méi)有線條的三維圖像,圖像還可以是彩色的或灰度的。例如仍然產(chǎn)生函數(shù)z = ye-(x2+y2)的灰度圖像,圖像中的陰影可設(shè)置為flat、interp、faceted:
surfl(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap(gray);

下面我們使用matlab內(nèi)置函數(shù)來(lái)產(chǎn)生像球形或圓柱形這樣的基本圖像,例如:
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(1+sin(t));
surf(X,Y,Z),colormap('default');
axis square
會(huì)得到如下圖像:

試試另一個(gè)稍微有點(diǎn)不同的函數(shù),陰影設(shè)置為faceted:
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(1+cos(t));
surf(X,Y,Z),shading faceted;
axis square

若將陰影設(shè)置為shading flat,則圖像顯示為:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MATLAB實(shí)現(xiàn)五子棋游戲(雙人對(duì)戰(zhàn)、可悔棋)
- java和matlab畫多邊形閉合折線圖示例講解
- matlab 計(jì)算灰度圖像的一階矩,二階矩,三階矩實(shí)例
- MATLAB數(shù)學(xué)建模之畫圖匯總
- Matlab中plot基本用法的具體使用
- 利用Matlab繪制各類特殊圖形的實(shí)例代碼