Объемная поверхностная диаграмма с основанной на палитре подсветкой
surfl(Z)
surfl(...,'light')
surfl(...,s)
surfl(X,Y,Z,s,k)
surfl(ax,...)
h = surfl(...)
Функция surfl
отображает теневую поверхность на основе комбинации окружающей среды, рассеянных, и зеркальных моделей подсветки.
surfl(Z)
и surfl(X,Y,Z)
создает 3D теневые поверхности с помощью направления по умолчанию для источника света и коэффициентов подсветки значения по умолчанию для модели штриховки. X
, Y
и Z
являются векторами или матрицами, которые задают x, y, и z компоненты поверхности.
surfl(...,'light')
создает цветную, освещенную поверхность с помощью светового объекта MATLAB®. Это приводит к результатам, отличающимся от метода подсветки значения по умолчанию, surfl(...,'cdata')
, который изменяет цветные данные для поверхности, чтобы быть коэффициентом отражения поверхности.
surfl(...,s)
задает направление источника света. s
является 2D или трехэлементным вектором, который задает направление от поверхности до источника света. s
=
[sx
sy
sz]
или s
=
[azimuth elevation]
. s
по умолчанию составляет 45 ° против часовой стрелки от направления текущего представления.
surfl(X,Y,Z,s,k)
задает постоянный коэффициент отражения. k
является четырехэлементным вектором, задающим относительные вклады рассеянного света, рассеянного отражения, зеркального отражения и зеркального коэффициента сияния. k = [ka kd ks shine]
и значения по умолчанию к [.55,.6,.4,10]
.
surfl(ax,...)
создает поверхность в осях, заданных ax
вместо в текущей системе координат (gca
). Опция ax может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.
h = surfl(...)
возвращает объект подложки графика. Если вы задаете опцию 'light'
, то h
содержит и поверхность и световые объекты.
surfl
не принимает комплексные входные параметры.
Для более сглаженных цветовых переходов используйте палитры, которые имеют линейные изменения интенсивности (например, gray
, copper
, bone
, pink
).
Упорядоченное расположение точек в X
, Y
и матрицах Z
задает внутреннюю и внешнюю часть параметрических поверхностей. Если вы хотите, чтобы противоположная сторона поверхности отразила источник света, используйте surfl(X',Y',Z')
. Из-за пути вычисляются векторы нормали поверхности, surfl
требует матриц, которые, по крайней мере, 3х3.