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

Surf 用到的低階指令

Syntax

Description

surface 是一些用來建立曲面繪圖物件的低階指令。 x- 與 y-座標為每個元素的位置,z-座標為每個元素的值。

surface(Z) 根據矩陣 Z 來畫出曲面圖, Z 是一個定義在方形格子點上的單值函數(single-valued function)。

surface(Z,C) 根據矩陣 Z 來畫出曲面圖且根據矩陣 C 來決定顏色 (參考 "Examples")。

surface(X,Y,Z) C = Z,所以顏色將與曲面的高度有關係。

surface(X,Y,Z,C) 根據矩陣 XYZ來繪製曲面圖,顏色為矩陣 C 控制。

surface(x,y,Z), surface(x,y,Z,C) 以向量置換前兩個矩陣,且 length(x) = nlength(y) = m[m,n] = size(Z)。在這種情況下,頂點的座標為 (x(j),y(i),Z(i,j))x 會對應到 Z 的行和 y 會對應到 Z 的列。可參考 surf 有更完整的說明。

surface(...'PropertyName',PropertyValue,...) XYZC 可以設定額外的曲面屬性,定義在 "Surface Properties"。

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

Remarks

與高階指令不同的是(如 surfmesh), surface 不會遵照圖形的設定以及軸 NextPlot 的性質,它會簡單的把曲面物件加進目前的座標軸中。

如果你沒有指定顏色於矩陣 C ,MATLAB 會用矩陣 Z 來決定曲面的顏色。在這種情況下,顏色與 Z 中的值會有關係,所以你也可以另外的在指定顏色。

您可以以屬性名稱/屬性的值、結構陣列與異質陣列來指定屬性(參考 setget )。

surface 提供了更方便的型式讓你可以去操控屬性的名稱,如 XDataYDataZDataCData 這些性質。例如:

就等價於 :

當只有一個矩陣參數輸入時

MATLAB 會分配你所指定的一些性質

axiscaxiscolormapholdshadingview 會設定一些繪圖的性質來改變曲面。在建立它們之後你也可以用 setget 來設定及查詢曲面的屬性值。

Example

這個範例會用 peaks M-file 產生資料來建立曲面,用一張小丑的圖作背景。 ZData 是一個 49-by-49 的陣列, CData 是一個 200-by-320 的陣列。你必須在不同的維度中,使用 ZDataCData 來設定曲面的 FaceColor 對於 texturemap

surface(Z,C) 可以很容易的使用成對的"屬性名稱/屬性的值"。

由於小丑的資料 (X) 可以看做 image 的命令,MATLAB 會作直接的 CDataMapping。這個範例是用 direct 來設定 CDataMapping 的屬性。

See Also

ColorSpec, mesh, patch, pcolor, surf

Object Hierarchy



Setting Default Properties

你可以設定曲面屬性的預設值 :

Property 是屬性的名稱以及 PropertyValue 是屬性值,用 setget 可以去取得修改這些性質。

Property List

曲面圖的屬性表列如下

屬性名稱
屬性描述
屬性值
物件的定義
XData
頂點的 x-座標
vector or matrix
YData
頂點的 y-座標
vector or matrix
ZData
頂點的 z-座標
matrix
指定顏色
CData
顏色的資料
Values: scalar, vector, or matrix
Default: [] empty matrix
CDataMapping
CData 的顏色對應
Values: scaled, direct
Default: scaled
EdgeColor
邊的顏色
Values: ColorSpec, none, flat, interp
Default: ColorSpec
FaceColor
面的顏色
Values: ColorSpec, none, flat, interp
Default: ColorSpec
MarkerEdgeColor
標記邊的顏色
Values: ColorSpec, none, auto
Default: auto
MarkerFaceColor
標記面的顏色
Values: ColorSpec, none, auto
Default: none
指定透明度


AlphaData
透明的資料
m-by-n matrix of double or uint8
AlphaDataMapping
對應到透明的方法
none, direct, scaled
Default: scaled
EdgeAlpha
區塊邊的透明度
scalar, flat, interp
Default: 1 (opaque)
FaceAlpha
區塊面的透明度
scalar, flat, interp, texture
Default: 1 (opaque)
控制光的影響度
AmbientStrength
周圍光的強度
Values: scalar >=0 and <=1
Default: 0.3
BackFaceLighting
表面上光的強度
Values: unlit, lit, reverselit
Default: reverselit
DiffuseStrength
發散光的強度
Values: scalar >=0 and <=1
Default: 0.6
EdgeLighting
邊的光線控制方法
Values: none, flat, gouraud, phong
Default: none
FaceLighting
面的光線控制方法
Values: none, flat, gouraud, phong
Default: none
NormalMode
MATLAB-產生或使用者指定的正規向量
Values: auto, manual
Default: auto
SpecularColorReflectance
混合的反射光
Values: scalar 0 to 1
Default: 1
SpecularExponent
粗操表面的反射
Values: scalar >= 1
Default: 10
SpecularStrength
反射光的強度
Values: scalar >=0 and <=1
Default: 0.9
VertexNormals
頂點正規的向量
Values: matrix
邊與標記的定義
LineStyle
選擇線條的風格Select from five line styles.
Values: -, --, :, -., none
Default: -
LineWidth
邊的寬度(單位為點)
Values: scalar
Default: 0.5 points
Marker
標記的圖案
Values: see Marker property
Default: none
MarkerSize
標記的大小(單位為點)
Values: size in points
Default: 6
外型的控制
Clipping
剪裁至軸上的矩形
Values: on, off
Default: on
EraseMode
著色以及抹去曲面的方法 (可用在動畫製作)
Values: normal, none, xor, background
Default: normal
MeshStyle
指定是否要畫全部的邊線或只是行或列的邊
Values: both, row, column
Defaults: both
SelectionHighlight
強化被選擇的曲面
Values: on, off
Default: on
Visible
控制曲面是否為可見
Values: on, off
Default: on
控制物件的使用
HandleVisibility
決定曲面是否可以被其他函式控制
Values: on, callback, off
Default: on
HitTest
決定曲面是否可以變成目前的物件(可參考CurrentObject )
Values: on, off
Default: on
回應程序的執行
BusyAction
指定如何去控制回應程序的中斷
Values: cancel, queue
Default: queue
ButtonDownFcn
定義一個可以經由滑鼠的按下就可以執行的回應程序
Values: string
Default: '' (empty string)
CreateFcn
當曲面建立時就會執行回應程序
Values: string
Default: '' (empty string)
DeleteFcn
當曲面刪除時就會執行回應程序 (可經由 closedelete 刪除)
Values: string
Default: '' (empty string)
Interruptible
決定回應程序使否可以被中斷
Values: on, off
Default: on (can be interrupted)
UIContextMenu
結合文字的選單
Values: handle of a uicontextmenu
曲面一般的資訊
Children
曲面物件沒有孩子(children)
Values: [] (empty matrix)
Parent
曲面物件的父母(parent) 一定是 axes 物件
Value: axes handle
Selected
指出曲面是否為"選擇"的狀態
Values: on, off
Default: on
Tag
使用者指定的標籤
Value: any string
Default: '' (empty string)
Type
繪圖物件的型態(唯讀)
Value: the string 'surface'
UserData
使用者指定的資料
Values: any matrix
Default: [] (empty matrix)


 surf2patch Surface Properties