MATLAB Functions | Help Desk |
surfl
Surface plot with colormap-based lightingsurfl(Z) surfl(X,Y,Z) surfl(...,s) surfl(X,Y,Z,s,k) h = surfl(...)The
surfl
function displays a shaded Surface based on a combination of ambient, diffuse, and specular lighting models.
surfl(Z) and surfl(X,Y,Z)
create three-dimensional shaded Surfaces using the default direction for the light source and the default lighting coefficients for the shading model. X
, Y
, and Z
are vectors or matrices that define the x, y, and z components of a Surface.
surfl(...,'light')
produces a colored lighted surface using the Light object. This produces different results than the default lighting method, surfl(...,'cdata'), which changes the color data for the surface to be the reflectance of the surface.
surfl(...,s)
specifies the direction of the light source. s
is a two- or three-element vector that specifies the direction from a Surface to a light source. s
=
[sx
sy
sz]
or s
=
[azimuth elevation]
. The default s
is 45° counterclockwise from the current view direction.
surfl(X,Y,Z,s,k)
specifies the reflectance constant. k
is a four-element vector defining the relative contributions of ambient light, diffuse reflection, specular reflection, and the specular shine coefficient. k = [ka kd ks shine]
and defaults to [.55,.6,.4,10]
.
h = surfl(...)
returns a handle to a Surface graphics object.
For smoother color transitions, use colormaps that have linear intensity variations (e.g., gray
, copper
, bone
, pink
).
The ordering of points in the X
, Y
, and Z
matrices define the inside and outside of parametric surfaces. If you want the opposite side of the surface to reflect the light source, use surfl(X',Y',Z')
. Due to the way surface normal vectors are computed, surfl
requires matrices that are at least 3-by-3.
View the peaks
function using colormap-based lighting:
[xTo plot a lighted surface from a view direction other than the default:,
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])
cla
hold on
view([10 10])
surfl(peaks)
shading interp
colormap(gray)
hold off
colormap
, shading
, light