MATLAB學習與使用:三維圖形繪製plot3/mesh/surf

來源:酷知科普網 2.65W

介紹3類(plot3/mesh/surf)7種三維影象繪製的方法。
plot3 三維曲線圖;
mesh 三維網格圖;
meshc 除了生成網格圖外,還在xy平面生成曲面的等高線;
meshz 除了生成網格圖外,還在曲線下面加上個矩形垂簾;
surf   三維著色曲面圖;
surfc  同時畫出三維著色曲面圖與等高線;
surfl   帶光照的三維著色曲面圖。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf

操作方法

(01)第一,plot3三維曲線圖。啟動MATLAB,新建指令碼(.m檔案),在指令碼編輯區輸入以下程式碼,然後儲存執行後,看到以下三維曲線圖。close all;clear all;clcz=linspace(0,10,101);x=sin(z);y=cos(z);plot3(x,y,z,'g','LineWidth',2)hold onplot3(x,y,z,'p','MarkerSize',10)其中,linspace(a1,a2,N) 是生成間距為(a2-a1)/(N-1)、個數為N的陣列的命令。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第2張

(02)第二,mesh三維網格圖。在指令碼編輯區緊接著輸入以下程式碼,儲存執行後,看到以下三維網格圖。[a,b,c]=peaks(50);figure(2)mesh(a,b,c)axis tight其中,peaks(N)是生成一個凹凸有致的曲面,包含三個區域性極大點及三個區域性極小點的函式,其方程式略。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第3張

(03)第三,meshc除了生成網格圖外,還在xy平面生成曲面的等高線。將第二步中的mesh(a,b,c)改為meshc(a,b,c),然後儲存執行後,看到以下三維網格圖+等高線的效果。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第4張

(04)第四,meshz除了生成網格圖外,還在曲線下面加上個矩形垂簾。將第三步中的meshc(a,b,c)改為meshz(a,b,c),然後儲存執行後,看到以下三維網格圖+垂簾的效果。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第5張

(05)第五,surf三維著色曲面圖。將第四步中的meshz(a,b,c)改為surf(a,b,c),然後儲存執行後,看到以下三維著色曲面圖。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第6張

(06)第六,surfc同時畫出三維著色曲面圖與等高線。將第五步的surf(a,b,c)改為surfc(a,b,c),然後儲存執行後,看到以下三維著色曲面圖+等高線的效果。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第7張

(07)第七,surfl帶光照的三維著色曲面圖圖。將第六步的surfc(a,b,c)改為surfl(a,b,c),然後儲存執行後,看到以下帶光照的三維著色曲面圖。

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第8張

(08)第八,新增shading interp去掉網格曲線,新增xlabel等座標說明,新增title標題說明。如下輸入以下程式碼,儲存執行後,得到如下效果。[a,b,c]=peaks(50);figure(2)surfl(a,b,c)shading interpxlabel('X');ylabel('Y');zlabel('Z')title('peaks+surfl')axis tight

MATLAB學習與使用:三維圖形繪製plot3/mesh/surf 第9張

特別提示

shading interp去掉網格線在使用mesh命令時不起作用。

介紹了plot3;mesh, meshc, meshz;surf, surfc, surfl 共3類7種繪製三維圖的方式。

熱門標籤