MATLAB Function Reference |
Syntax
surfl(Z) surfl(X,Y,Z) surfl(...,'light') surfl(...,s) surfl(X,Y,Z,s,k) h = surfl(...)
Description
surfl
函式會顯現一個陰影的 surface ,根據周遭的光源、散射的光源以及反射的光源之結合。
surfl(Z) 與 surfl(X,Y,Z)
會建立三維空間具陰影的表面(使用預設的光源)。 X
、 Y
與 Z
為定義在 x、 y 與 z 元件上的向量或矩陣。
會產生一個具有顏色光源的曲面。使用 surfl(...,'cdata') 可以產生不同的效果。surfl(...,'light')
surfl(...,s)
指定了光源的方向。 s
是一個 2 或 3 元素的向量,其說明了從曲面到光源的方向。 s
=
[sx
sy
sz]
或 s
=
[azimuth elevation]
。 s
的預設值為 45° ;從目前的視角以逆時針的方向
surfl(X,Y,Z,s,k)
指定了反射常數。 k
是一個 4 個元素的向量,分別為周遭的光源、散射的光源、反射的光源以及發光的係數, k = [ka kd ks shine]
而預設值為 [.55,.6,.4,10]
。
Remarks
若想要柔順的色調,可以用線性強度的變化來對應 (e.g., gray
, copper
, bone
, pink
)。
若你想反射曲面的反面的光源,可以用 surfl(X',Y',Z')
。 surfl
所傳進的矩陣維度至少是 3-by-3 的。
Examples
加上光的效果來檢視 peaks
函式 :
[x,
y] = meshgrid(-3:1/8:3); z = peaks(x,
y); surfl(x,
y,
z); shading interp colormap(gray); axis([-3 3 -3 3 -8 8])
view([10 10]) grid on hold on surfl(peaks) shading interp colormap copper hold off
See Also
Surface Properties | surfnorm |