版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 MATLAB計算的可視化 三維圖形具有更強的表現(xiàn)力。Matlab提供了豐富的函數(shù)來繪制三維圖形。繪制三維圖形與繪制二維圖形的方法類似,很多是從二維繪圖的基礎(chǔ)上擴展而來的。4.2 三維圖形的繪制4.2.1 三維曲線 plot3函數(shù) 最基本的三維圖形函數(shù)為plot3,其調(diào)用格式為plot3(x,y,z) :其中x,y和z為3個相同維數(shù)的向量。函數(shù)繪出這些向量所表示的點的曲線。plot3(X,Y,Z):其中X,Y和Z為3個相同階數(shù)的矩陣,函數(shù)繪出3矩陣的列向量的曲線;4.2 三維圖形的繪制 若要定義不同的線型,使用以下形式: plot3(X,Y,Z,s):其中s為定義線型的字符串,形式同pl
2、ot函數(shù)。 plot3(x1,y1,z1,s1,x2,y2,z2,s2,xn,yn,zn,sn) 其中,每一組x,y,z組成一組曲線的坐標參數(shù),選項的定義和plot函數(shù)相同。當x、y、z是同維向量時,則x、y、z對應(yīng)元素構(gòu)成一條三維曲線;當x、y、z是同維矩陣時,則以x、y、z對應(yīng)列元素繪制三維曲線,曲線條數(shù)等于矩陣列數(shù)4.2 三維圖形的繪制【例4.23】繪制三維曲線。程序如下:t=0:pi/10:10*pi;x=sin(t)+t.*cos(t);y=cos(t)-t.*sin(t);z=t;plot3(x,y,z);axis(-30 30 -30 30 0 35)title(Line in
3、3-D Space);xlabel(X);ylabel(Y);zlabel(Z);grid on;4.2 三維圖形的繪制【例4.24】繪制三維螺旋線。 x=0:pi/50:10*pi; y=sin(x); z=cos(x); plot3(x,y,z);4.2 三維圖形的繪制【例4.25】繪制參數(shù)為矩陣的三維圖。x,y=meshgrid(-2:0.1:2,-2:0.1:2); z=x.*exp(-x.2-y.2); plot3(x,y,z)4.2 三維圖形的繪制4.2.2三維曲面1、網(wǎng)圖函數(shù) 上例中用到了meshgrid函數(shù),該函數(shù)為網(wǎng)圖函數(shù)的一種,matlab語言提供了一系列的網(wǎng)圖函數(shù),如下表
4、: 函數(shù)名說明mesh三維網(wǎng)格圖meshc將網(wǎng)格與等高線結(jié)合meshz屏蔽的網(wǎng)格圖meshgrid生成網(wǎng)格點4.2 三維圖形的繪制 matlab語言對于網(wǎng)格的處理方法是:將xy平面按指定方式分隔成平面網(wǎng)格,然后根據(jù)程序中給定的方式計算第三維變量的值,即z軸的值,與對應(yīng)的xy平面的坐標構(gòu)成三維點元素,根據(jù)由此得到的(x,z),(y,z)計算各平面的曲線,彼此相連就構(gòu)成了網(wǎng)格圖。 4.2 三維圖形的繪制 函數(shù)meshgrid是網(wǎng)圖函數(shù)中最簡單的一個,其作用是將給定的區(qū)域按一定的方式劃分成平面網(wǎng)格,該平面網(wǎng)格可以用來繪制三維曲面,具體調(diào)用格式如下: X,Y=meshgrid(x,y): 其中x,y為
5、給定的向量,一方面可以用來定義網(wǎng)格劃分區(qū)域;另一方面也可以用來定義網(wǎng)格劃分方法。矩陣X和Y則是網(wǎng)格劃分后的數(shù)據(jù)矩陣。 4.2 三維圖形的繪制【例4.26】 x=1:3; y=22:25; X,Y=meshgrid(x,y) %在1,3 22,25區(qū)域生成為網(wǎng) 格坐標X = 1 2 3 1 2 3 1 2 3 1 2 3Y = 22 22 22 23 23 23 24 24 24 25 25 254.2 三維圖形的繪制函數(shù)mesh用來繪制三維的網(wǎng)圖,調(diào)用格式如下; Mesh(X,Y,Z,C) %繪制四個矩陣變量的彩色網(wǎng)格面圖形。觀測點可由函數(shù)view定義,坐標軸可由axis函數(shù)定義,顏色由C設(shè)置
6、,默認時,matlab中c=z,即顏色設(shè)定正比于圖形的高度,也可由函數(shù)colormap實現(xiàn)。mesh(X,Y,Z) %使C=Z,即網(wǎng)圖高度正比于圖高 mesh(x,y,Z)和mesh(x,y,Z,C)此處使用兩個向量代替兩個矩陣,同時要求length(x)=n,length(y)=m且m,n=size(Z)。在這種情況下,網(wǎng)格線的頂點為(x(j),y(i),z(i,j)的三倍。4.2 三維圖形的繪制注意:x對應(yīng)于Z的列,而y對應(yīng)于Z的行。mesh(Z)和mesh(Z,C)使用x=1:n及y=1:m。在此情況下,高度Z為單值函數(shù)?!纠?.27】 x=-8:0.5:8;y=x; a=ones(si
7、ze(y)*x; b=y*ones(size(x); c=sqrt(a.2+b.2)+eps; z=sin(c)./c; mesh(z)4.2 三維圖形的繪制 Mesh函數(shù)的第三個輸入?yún)?shù)將設(shè)置生成圖中的顏色,matlab允許用戶增加一個輸入變量專門設(shè)置面圖色彩。當mesh函數(shù)僅有一個輸入變量時,將以輸入矩陣的下標生成平面網(wǎng)格系,并由此生成三維面圖?!纠?.28】mesh函數(shù)繪制的Hilbert矩陣三維面圖。 z=hilb(10); mesh(z)4.2 三維圖形的繪制【例4.29】繪制三維曲面圖X,Y=meshgrid(0:pi/100:pi,0:pi/100:pi/2);z=sin(X.2
8、)+cos(Y.2);mesh(X,Y,z)axis(0 4 0 1.8 -1.5 1.5);4.2 三維圖形的繪制 函數(shù)meshc與函數(shù)mesh調(diào)用的方式相同,只是該函數(shù)在mesh的作用之上又增加了contour函數(shù)的功能,即繪制相應(yīng)的等高線。【例4.30】meshc函數(shù)繪制的三維面圖。X,Y=meshgrid(-4:0.5:4);Z=sqrt(X.2+Y.2); meshc(Z);4.2 三維圖形的繪制 函數(shù)meshz(帶底座的三維網(wǎng)格曲面函數(shù))與mesh調(diào)用的方式也相同,不同的是該函數(shù)在mesh函數(shù)的作用之上增加了屏蔽的作用,即增加了邊界面屏蔽?!纠?.31】使用meshz函數(shù)繪制的三維
9、面圖。X,Y=meshgrid(-4:0.5:4); Z=sqrt(X.2+Y.2);meshz(Z);4.2 三維圖形的繪制2.著色函數(shù) 繪制著色圖的函數(shù)surf也是matlab語言中較為常用的三維圖形函數(shù),其調(diào)用格式如下; surf(X,Y,Z,C) 輸入?yún)?shù)的設(shè)置與函數(shù)mesh相同,不同的是mesh函數(shù)繪制的圖形是一網(wǎng)格圖,而surf函數(shù)繪制的圖形是著色的三維表面。Matlab語言對表面進行著色的方法是,在得到相應(yīng)的網(wǎng)格后,對每一網(wǎng)格依據(jù)該網(wǎng)格所代表的節(jié)點的色值(由變量C控制),來定義這一網(wǎng)格的顏色。4.2 三維圖形的繪制【例4.32】繪制三維著色圖。 X,Y=meshgrid(-4:0
10、.5:4); Z=sqrt(X.2+Y.2); surf(Z)4.2 三維圖形的繪制【例4.33】在xy平面內(nèi)選擇區(qū)域-2,2 -2,2,繪制函數(shù) 的4種三維曲面圖。程序轉(zhuǎn)下頁:4.2 三維圖形的繪制 xx=linspace(-2,2,25);yy=xx; X,Y=meshgrid(xx,yy); Z=-exp(-X.2-Y.2); subplot(2,2,1); mesh(X,Y,Z); title(mesh(X,Y,Z);subplot(2,2,2); surf(X,Y,Z); title(surf(X,Y,Z); subplot(2,2,3); meshz(X,Y,Z); title(m
11、eshz(X,Y,Z); subplot(2,2,4); meshc(X,Y,Z); title(meshc(X,Y,Z); axis(-2 2 -2 2 -1.2 0);4.2 三維圖形的繪制3.特殊的三維圖形函數(shù) matlab語言中的三維圖形函數(shù)函數(shù)名說明函數(shù)名說明bar3三維條形圖surfc著色圖與等高線圖結(jié)合comet3三維彗星圖trisurf三角形表面圖ezgraph3函數(shù)控制繪制三維圖trimesh三角形網(wǎng)格圖pie3三維餅狀圖waterfall瀑布圖scatter3三維散射圖cylinder柱面圖stem3三維離散數(shù)據(jù)圖sphere球面圖4.2 三維圖形的繪制【例4.34】繪制三
12、維餅狀圖。 x=2,4,6,8; pie3(x,0,0,1,0); 4.2 三維圖形的繪制【例4.35】繪制著色圖與三維等高線圖。 X,Y=meshgrid(-4:0.5:4); Z=sqrt(X.2+Y.2); surfc(X,Y,Z);4.2 三維圖形的繪制 與二維圖形部分的等高線函數(shù)contour相類似,三維圖形繪制函數(shù)中也有相應(yīng)的等高線函數(shù)contour3,其調(diào)用格式與函數(shù)contour相同?!纠?.36】繪制三維等高線圖。X,Y=meshgrid(-4:0.5:4);contour3(peaks(X,Y),25);4.2 三維圖形的繪制 peaks函數(shù):peaks函數(shù)(多峰函數(shù))常用
13、于三維曲面的演示。該函數(shù)可以用來生成繪圖數(shù)據(jù)矩陣,矩陣元素由函數(shù)在矩形區(qū)域-3,3 -3,3的等分網(wǎng)格點上的函數(shù)值確定。例如: z = peaks(30); 將生成一個3030的矩陣z,即分別沿x和y方向?qū)^(qū)間3,3等分成29份,并計算這些網(wǎng)格點上的函數(shù)值。默認參數(shù)時將生成一個4949的矩陣。也可以根據(jù)網(wǎng)格坐標矩陣x、y重新計算函數(shù)值矩陣。4.2 三維圖形的繪制例如:x,y=meshgrid(-5:0.1:5);z=peaks(x,y);生成的數(shù)值矩陣可以作為mesh、surf等函數(shù)的參數(shù)而繪制出多峰函數(shù)曲面圖。另外,若在調(diào)用peaks函數(shù)時不帶輸出參數(shù),則直接繪制出多峰函數(shù)曲面圖。4.2 三
14、維圖形的繪制cylinder函數(shù):cylinder函數(shù)用于繪制柱面,其調(diào)用格式為 x,y,z= cylinder(R,n) 其中,R是一個向量,存放柱面各個等間隔高度上的半徑;n表示在圓柱圓周上有n個間隔點,默認時表示有20個間隔點。例如,cylinder(3)生成一個圓柱,cylinder(10,1)生成一個圓錐,而t=0:pi/100:4*pi;R=sin(t);cylinder(R,30)生成一個正弦型柱面。4.2 三維圖形的繪制【例4.37】繪制三維曲面圖形。t=0:pi/20:2*pi; subplot(1,2,1); x,y,z=cylinder(sin(t),30); surf(
15、x,y,z); subplot(1,2,2); x,y,z=peaks(100); mesh(x,y,z); 4.2 三維圖形的繪制【例4.38】繪制柱面圖。 x=0:pi/20:pi*3; r=5+cos(x); a,b,c=cylinder(r,30); mesh(a,b,c)4.2 三維圖形的繪制 sphere函數(shù):sphere函數(shù)用于繪制三維球面,其調(diào)用格式為 x,y,z=sphere(n) 該函數(shù)將產(chǎn)生(n+1)(n+1)矩陣x、y、z,采用這3個矩陣可以繪制出圓心位于原點、半徑為1的單位球體。若在調(diào)用該函數(shù)時不帶輸出參數(shù),則直接繪制所需球面。n決定了球面的圓滑程度,其默認值為20。
16、若n值取得較小,則將繪制出多面體表面圖。4.2 三維圖形的繪制【例4.39】繪制地球表面的氣溫分布示意圖。 a,b,c=sphere(40); t=abs(c); surf(a,b,c,t); axis(equal); axis(square); colormap(hot)4.2 三維圖形的繪制bar3和bar3h函數(shù):分別繪制垂直和水平三維條形圖,其調(diào)用格式: bar3(x,y); bar3h(x,y); 其中,x是向量,y是向量或矩陣,x向量元素的個數(shù)與y的行數(shù)相同。bar3和bar3h函數(shù)在x指定的位置上繪制y中元素的條形圖,x默認時,若y是長度為n的向量,則x軸坐標從1變化到n;若y是
17、mn的矩陣,則x軸坐標從1變化到n,y中的元素按行分組。4.2 三維圖形的繪制【例4.40】繪制三維條形圖x=51 82 34 47;67 78 68 90;78 85 65 50;bar3(x);Bar3h(x);4.2 三維圖形的繪制 三維多邊形函數(shù)fill3:可在三維空間內(nèi)繪制出多邊形,并填充顏色。其調(diào)用格式: fill3(x,y,z,c) 其中,使用x,y,z作為多邊形的頂點,而c指定填充的顏色。【例4.41】X = 0 1 1 2;1 1 2 2;0 0 1 1;Y = 1 1 1 1;1 0 1 0;0 0 0 0;Z = 1 1 1 1;1 0 1 0;0 0 0 0;C = 0
18、.5000 1.0000 1.0000 0.5000; 1.0000 0.5000 0.5000 0.1667 0.3330 0.3330 0.5000 0.5000;fill3(X,Y,Z,C)4.2 三維圖形的繪制4.2 三維圖形的繪制 瀑布圖函數(shù)waterfall:它的用法及圖形效果與meshz函數(shù)相似,只是它的網(wǎng)格線是在x軸方向出現(xiàn),具有瀑布效果?!纠?.42】 繪制多峰函數(shù)的瀑布圖和等高線圖。程序如下:subplot(1,2,1);X,Y,Z=peaks(30);waterfall(X,Y,Z)xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis);
19、subplot(1,2,2);contour3(X,Y,Z,12,k); %其中12代表高度的等級數(shù)xlabel(X-axis),ylabel(Y-axis),zlabel(Z-axis);4.2 三維圖形的繪制4.2 三維圖形的繪制trimesh函數(shù):生成三角形網(wǎng)格圖,調(diào)用格式如下: trimesh(Tri,X,Y,Z):顯示由m3的矩陣Tri定義的三角形網(wǎng)格。Tri的每行數(shù)據(jù)通過索引包含X,Y,Z頂點的矢量或矩陣來定義一個三角形。 trimesh(Tri,X,Y,Z,C):用與surf函數(shù)相同的方式指定C定義的顏色。 trimesh(,PropertyName,PropertyValue)
20、:為函數(shù)創(chuàng)建的patch圖形對象指定其他屬性名和屬性值。4.2 三維圖形的繪制【例4.43】創(chuàng)建頂點矢量和網(wǎng)格矩陣,然后創(chuàng)建一個三角形網(wǎng)格圖。 x=rand(1,50); y=rand(1,50); z=peaks(6*x-3,6*x-3); tri=delaunay(x,y); trimesh(tri,x,y,z);4.2 三維圖形的繪制三角形刻面圖函數(shù)trisurf:生成三角形表面圖,調(diào)用格式如下: trisurf(Tri,X,Y,Z):顯示由m3的矩陣Tri定義的三角形網(wǎng)格,并作為刻面。Tri的每行數(shù)據(jù)通過矢量或矩陣X,Y和Z賦索引值來定義一個三角形。 trisurf(Tri,X,Y,Z,C):用與surf函數(shù)相同的方式指定C定義的顏色。4.2 三維圖形的繪制【例4.43】創(chuàng)建頂點矢量和刻面矩陣,然后創(chuàng)建一個三角形刻面圖。x=rand(1,50); y=rand(1,50); z=peaks(6*x-3,6*x-3); tri=delaunay(x,y);trisurf(tri,x,y,z);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 34912-2024工業(yè)鍋爐系統(tǒng)節(jié)能設(shè)計指南
- 果園經(jīng)營權(quán)轉(zhuǎn)讓合同模板
- 個人與公司間借款協(xié)議書范本2024年
- 婚前財產(chǎn)協(xié)議書公證流程
- 展覽延期協(xié)議書范本
- 自由職業(yè)者合作工作室合伙協(xié)議
- 房屋中介服務(wù)協(xié)議書樣式
- 設(shè)計合同補充協(xié)議范本
- 瀝青運輸合同模板
- 建筑施工合同補充協(xié)議模板
- 工程項目建設(shè)程序
- 新蘇教版科學三年級上冊學生活動手冊答案
- 壓瘡用具的使用護理課件
- 臨床醫(yī)學概論課程研究報告
- 長春工業(yè)大學開題報告模板
- 中學信息技術(shù)教學中如何滲透德育教育
- TWI培訓教材完整版
- 家庭農(nóng)場創(chuàng)業(yè)項目計劃書
- 第5.3課《聯(lián)系生活實際弘揚工匠精神》(課件)-【中職專用】高二語文同步課件(高教版2023·職業(yè)模塊)
- 斐樂管理制度
- 15《我與地壇(節(jié)選)》說課稿2023-2024學年高中語文必修上冊
評論
0/150
提交評論