使用matlab繪制三維圖形的方法_第1頁
使用matlab繪制三維圖形的方法_第2頁
使用matlab繪制三維圖形的方法_第3頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

使用matlab繪制三維圖形的方法三維曲線plot3函數(shù)與plot函數(shù)用法格外相像,其調(diào)用格式為:plot3(x1,y1,z1,1,x2,y2,z2,選2,…,xn,yn,zn),其中每一組x,y,z組成一組曲線的坐標參數(shù),選項的定義和plot函x,y,zx,y,z對應元素構成一條三維曲線。當x,y,z是同維矩陣時,則以x,y,z對應列元素繪制三維曲線,曲線條數(shù)等于矩陣列數(shù)。例繪制三維曲線。程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);gridtitle(”Linein3-DSpace”);xlabel(”X”);ylabel(”Y”);zlabel(”Z”);如以以下圖:Linein3-DSpace4020Z 0-20-401

0.5

0-0.5

0-0.5

10.5Y -1 -1 X三維曲面1.產(chǎn)生三維數(shù)據(jù)x=a:d1:b;y=c:d2:d;[X,Y]=meshgrid(x,y);語句執(zhí)行后,矩陣Xx,行數(shù)等于向量yY的每一列都是向量y,列數(shù)等于向量x的元素的個數(shù)。2.繪制三維曲面的函數(shù)surf函數(shù)和mesh函數(shù)的調(diào)用格式為:surf(x,y,z,c):畫完整曲面,將數(shù)據(jù)點所表示曲面畫出。x,yzc例 。程序如下:[x,y]=meshgrid(0:0.25:4*pi);[0,4pi]×[0,4pi]區(qū)域生成網(wǎng)格坐標z=sin(x+sin(y))-x/10;mesh(x,y,z);10105510105510.50-0.5-1-1.5-2-2.50 0meshcmeshcxyzmeshzxy例 繪制4種三維曲面圖。程序如下:[x,y]=meshgrid(-8:0.5:8);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);subplot(2,2,1);mesh(x,y,z);title(”mesh(x,y,z)”)subplot(2,2,2);meshc(x,y,z);title(”meshc(x,y,z)”)subplot(2,2,3);meshz(x,y,z)title(”meshz(x,y,z)”)subplot(2,2,4);surf(x,y,z);title(”surf(x,y,z)”)如以以下圖:mesh(x,y,z) meshc(x,y,z)1 10 0-1100 -10 -10meshz(x,y,z)

-11010

100-10 -10surf(x,y,z)1 10 0-1 -110 1010 100 0-10 -10

0 0-10 -103.標準三維曲面sphere[x,y,z]=sphere(n):generatesthree(N+1)-by-(N+1) matricessothatSURF(X,Y,Z)producesaunitsphere.cylinder[x,y,z]=cylinder(R,n),r,n稱為多峰函數(shù),常用于三維曲面的演示。例 繪制標準三維曲面圖形。程序如下:t=0:pi/20:2*pi;[x,y,z]=cylinder(2+sin(t),30);subplot(2,2,1);surf(x,y,z);subplot(2,2,2);[x,y,z]=sphere;surf(x,y,z);subplot(2,1,2);[x,y,z]=peaks(30);surf(x,y,z);如以以下圖:1 10.5 00 -15 15 10 0-5 -5

0 0-1 -1100-104

20-2-4

4-2 0 2其他三維圖形bar3、stem3、pie3fill3。bar3bar3(y)bar3(x,y)stem3函數(shù)繪制離散序列數(shù)據(jù)的三維桿圖,常用格式為:stem3(z)stem3(x,y,z)pie3(x)格式為:fill3(x,y,z,c)例 繪制三維圖形:繪制魔方陣的三維條形圖。以三維桿圖形式繪制曲線y=2sin(x)。(3)x=[2347,1827,2043,3025],繪制餅圖。(4)程序如下:subplot(2,2,1);bar3(magic(4))subplot(2,2,2);y=2*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3([2347,1827,2043,3025]);subplot(2,2,4);fill3(rand(3,5),rand(3,5),rand(3,5),”y”)20 210 002123 3 4 1 2

-22401 200 025%

33%

122%20%22%20%01

0.50

10.5例 數(shù)的瀑布圖和等高線圖。程序如下:subplot(1,2,1);[X,Y,Z]=peaks(30);waterfall(X,Y,Z)xlabel(”X-axis”),ylabel(”Y-axis”),zlabel(”Z-axis”);subplot(1,2,2);00contour3(X,Y,Z,12,”k”); xlabel(”X-axis”),ylabel(”Y-axis”),zlabel(”Z-axis”);0010 105 50a-Z

0aZ-5 -5-105

-105 2200Y-axis

-5 -5

Y-axis -2

X-axis視點處理其調(diào)用格式為:view(az,el)-37.5°,30°。例 從不同視點繪制多峰函數(shù)曲面。程序如下:subplot(2,2,1);mesh(peaks);view(-37.5,30); title(”azimuth=-37.5,elevation=30”)subplot(2,2,2);mesh(peaks);view(0,90); title(”azimuth=0,elevation=90”)subplot(2,2,3);mesh(peaks);view(90,0); 3title(”azimuth=90,elevation=0”)subplot(2,2,4);mesh(peaks);view(-7,-10); title(”azimuth=-7,elevation=-10”)100-1050

azimuth=-37.5,elevation=3050

azimuth=0,elevation=90504030201000 0 0 20 40 601050-5-10

azimuth=90,elevation=00 20 40

1050-5-100

azimuth=-7,elevation=-10020 40 60 50顏色處理顏色的向量表示33RGB色圖色圖(Colormap)是MATLAB系統(tǒng)引入的概念。在MATLAB中,每個圖形窗口只能有一個色圖。色圖是m×3的數(shù)值矩陣,它的每一行是RGB以人為地生成,也可以調(diào)用MATLAB供給的函數(shù)來定義色圖矩陣。3.三維外表圖形的著色三維外表圖實際上就是在網(wǎng)格圖的每一個網(wǎng)格片上涂上顏色。surfshadingshadingfaceted命令將每個網(wǎng)格片用其高度對應的顏色進展著色,但網(wǎng)格線仍保存著,其shadingflat命令將每個網(wǎng)格片用同一個顏色進展著色,且網(wǎng)格線也用相應的顏色,從而使得圖形外表顯得更加光滑。顏色是黑色。這是系統(tǒng)的缺省著色方式例 程序如下:[x,y,z]=sphere(20);colormap(copper);subplot(1,3,1);surf(x,y,z);axisequalsubplot(1,3,2);surf(x,y,z);shadingflat;axisequalsubplot(1,3,3);surf(x,y,z);shadinginterp;axisequal111000-1-1-110 -1 -1

1 10 -1 -1

101 100-1 -1光照處理MATLAB2,”Position”,3)光照處理后的球面。程序如下:[x,y,z]=sphere(20);subplot(1,2,1);surf(x,y,z);axisequal;light(”Posi”,[0,1,1]);shadinginterp;holdon;plot3(0,1,1,”p”);text(0,1,1,”light”);subplot(1,2,2);surf(x,y,z);axisequal;light(”Posi”,[1,0,1]);shadinginterp;holdon;plot3(1,0,1,’p’);text(1,0,1,’light’);plot3(1,0,1,”p”);text(1,0,1,”light”);10.50-0.5-11

light

10.50-0.5-11

light1 10 0-1 -1

0 0-1 -1圖形的裁剪處理例4-22 繪制三維曲面圖,并進展插值著色處理,裁掉圖中x和y都小于0局部。程序如下:[x,y]=meshgrid(-5:0.1:5);z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);surf(x,y,z);shadinginterp;pause %程序暫停i=find(x<=0&y<=0);z1=z;z1(i)=NaN;surf(x,y,z1);shadinginterp;00000.50-0.555-5 -5為了呈現(xiàn)裁剪效果,第一個曲面繪制完成后暫停,然后顯示裁剪后的曲面。圖像處理與動畫制作圖像處理imreadimwriteimread和imwrite函數(shù)分別用于將圖像文件讀入MATLAB如.bmp、.jpg、.jpeg、.tifimageimagesccolormap函數(shù)設置圖像色圖。例5-23 形窗口顯示該圖像。程序如下:[x,cmap]=imread(”flower.jpg”); image(x);colormap(cmap);axisimageoff 動畫制作movieinmoviennn據(jù),以備播放。之所以要事先建立一個大矩陣,是為了提高程序運行速度。3.movie

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論