Объемная поверхностная диаграмма с основанной на палитре подсветкой
![]()
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.