(translator=Kuo, ChineseSource=Kuo-20020713-9.5\surf.html, EnglishSource=c:\matlabr12\help\techdoc\ref\surf.html)
MATLAB Function Reference    
surf, surfc

立體曲面圖

Syntax

Description

我們可以使用 surfsurfc 來看一些數學函式的圖形,根據矩陣 XYZ 來繪製的,而顏色可以由矩陣 ZC 決定。

surf(Z) 會建立一個由矩陣 Z 所繪製的立體曲面圖,而 x = 1:ny = 1:m[m,n] = size(Z)。曲面的顏色會根據矩陣 Z 作變化,所以顏色是與曲面高度有關係的。

surf(X,Y,Z) 圖形中的顏色會由 Z 決定,所以呈現的顏色會與表面的高度有關係。若 XY 為向量的話,則 length(X) = nlength(Y) = m[m,n] = size(Z)。在這種情況下,曲面上的頂點為

surf(X,Y,Z,C) 可以用矩陣 C 來決定呈現的顏色。 MATLAB 會對 C 中的資料作線性轉換來取得顏色的對應。

surf(...,'PropertyName',PropertyValue) 可以設定圖形表面的性質。

surfc(...) 曲面圖加等高線。

h = surf(...)h = surfc(...) 傳回一個曲面控制物件。

Algorithm

參數型的曲面可由兩個在矩形中連續變化的參數, ij 繪製成,譬如說 1 i m1 j nx(i,j)y(i,j)z(i,j), 描述了整個曲面。當 ij 為整數時,則會定義格子點的座標點也為整數。函式 x(i,j)y(i,j)z(i,j) 會變成 m-by-n 的矩陣, XYZ。而 c(i,j)(定義在矩陣 C)可以描述欲呈現的顏色。

在格子中的每一個頂點可想像成與四個鄰居點相鄰,如下圖

若點在角落上,則它會有兩個鄰居。若點在邊上,則它會有三個鄰居。若點在中間的話,則它會有四個鄰居。

曲面的顏色可用兩種方法呈現 : 在頂點著色或是在每一片的中心點著色。而曲面的圖形不一定要是平面的,也可以用極座標、柱座標以及球座標系統。

shading 函式可以設定陰影。若設定為 interp ,則 C 的大小必須與 XYZ 相同,它指定了頂點所呈現的顏色。曲面上每一塊的顏色都是由區域座標系中雙線性函式所決定的。若設定為 faceted (預設值) 或 flatC(i,j) 會指定曲面上每一塊的顏色 :

在這種情況下, C 的大小必須與 XYZ 相同,且它的最後一行與最後一列會被忽略,所以它列與行的維度可以比 XYZ 少一維。

surfsurfc 函式可以用 view(3) 來指定視角。

XYZ 的範圍,或是 XLimModeYLimModeZLimMode 的性質會取決於軸的限制。 axis 會設定這些性質。

C 的範圍,或是 CLimCLimMode 的性質(也會被 caxis 函式設定)會取決於顏色的延展。延伸的顏色會塗在頂點上(以目前的顏色對應)。

Examples

同時畫出 peaks 的曲面圖加等高線 :

對一個介於 -1 ~ 1 Hadamard 矩陣所構成的球體上色。

See Also

axis, caxis, colormap, contour, mesh, pcolor, shading, view


 support surf2patch