surfl

Объемная поверхностная диаграмма с основанной на палитре подсветкой

  • Surface plot with colormap-based lighting

Описание

пример

surfl(X,Y,Z) создает 3D объемную поверхностную диаграмму с подсветками от источника света. Графики функций значения в матричном Z когда высоты выше сетки в x-y плоскость заданы X и Y. Функция использует направление по умолчанию для источника света и коэффициенты подсветки значения по умолчанию для модели штриховки. Это устанавливает цветные данные для поверхности быть коэффициентом отражения поверхности.

Из-за пути поверхностные векторы нормали вычисляются, surfl требует матриц, которые, по крайней мере, 3х3.

surfl(Z) создает поверхность и использует столбец и индексы строки элементов в Z как x - и y - координаты.

пример

surfl(___,'light') создает поверхность с подсветками из MATLAB® световой объект. Это производит различные результаты основанного на палитре метода подсветки по умолчанию. Задайте 'light' возразите как последний входной параметр.

пример

surfl(___,s) дополнительно задает направление источника света.

пример

surfl(X,Y,Z,s,k) дополнительно задает постоянный коэффициент отражения.

surfl(ax,___) графики в осях заданы ax вместо текущей системы координат. Задайте оси как первый входной параметр.

пример

s = surfl(___) возвращает объект подложки графика. Если источник света задан как световой объект с помощью 'light' опция, затем s возвращен как графический массив, который включает объект подложки графика и световой объект. Используйте s изменить объект подложки и световой объект после того, как это создается. Для списка свойств смотрите Surface Properties и Light Properties.

Примеры

свернуть все

Создайте три матрицы, одного размера. Затем постройте их как поверхность с помощью основанной на палитре подсветки. Поверхность использует Z для высоты и обоих Z и источник света для цвета.

[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
surfl(X,Y,Z)

Figure contains an axes object. The axes object contains an object of type surface.

Создайте три матрицы, одного размера. Затем постройте их как поверхность с подсветками от светового объекта MATLAB®. Поверхность использует Z для высоты и обоих Z и световой объект для цвета. Функция возвращает массив, содержащий объект подложки и объект подсветки. Присвойте его переменной sl.

[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
sl = surfl(X,Y,Z,'light');

Figure contains an axes object. The axes object contains an object of type surface.

Индексируйте в sl получить доступ и изменить свойства объекта подложки и светового объекта после того, как они создаются. Объемная поверхностная диаграмма доступна как sl(1) и световой объект как sl(2). Например, измените цвет света путем установки Color свойство светового объекта.

sl(2).Color = 'r';

Figure contains an axes object. The axes object contains an object of type surface.

Создайте три матрицы, одного размера, чтобы построить как поверхность. Задайте направление источника света, чтобы иметь азимут 45 градусов и вертикальное изменение 20 градусов. Увеличьте коэффициент отражения поверхности путем увеличения вклада рассеянного света и уменьшения contibutions рассеянного и зеркального отражения. Присвойте объект подложки переменной sl.

[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
s = [-45 20];
k = [.65 .4 .3 10];

Отобразите данные на графике с помощью векторов коэффициента отражения и источника.

sl = surfl(X,Y,Z,s,k);

Figure contains an axes object. The axes object contains an object of type surface.

Используйте sl получить доступ и изменить свойства объекта подложки после того, как это создается. Например, скройте ребра путем установки EdgeColor свойство.

sl.EdgeColor = 'none';

Figure contains an axes object. The axes object contains an object of type surface.

Входные параметры

свернуть все

x- в виде матрицы тот же размер как Z, или как вектор с длиной n, где [m,n] = size(Z). Если вы не задаете значения для X и Y, surfl использует векторы (1:n) и (1:m).

Можно использовать meshgrid функция, чтобы создать X и Y матрицы.

XData свойство Surface объектно-ориентированная память x - координаты.

Пример: X = 1:10

Пример: X = [1 2 3; 1 2 3; 1 2 3]

Пример: [X,Y] = meshgrid(-5:0.5:5)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y- в виде матрицы тот же размер как Z или как вектор с длиной m, где [m,n] = size(Z). Если вы не задаете значения для X и Y, surfl использует векторы (1:n) и (1:m).

Можно использовать meshgrid функция, чтобы создать X и Y матрицы.

YData свойство объекта подложки хранит y - координаты.

Пример: Y = 1:10

Пример: Y = [1 1 1; 2 2 2; 3 3 3]

Пример: [X,Y] = meshgrid(-5:0.5:5)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

z- в виде матрицы. Z должен иметь по крайней мере две строки и два столбца.

ZData свойство объекта подложки хранит z - координаты.

Пример: Z = [1 2 3; 4 5 6]

Пример: Z = sin(x) + cos(y)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Направление от поверхности до источника света в виде 2D или трехэлементного вектора. Вектор имеет форму [sx sy sz] или [azimuth elevation]. Направление по умолчанию составляет 45 ° против часовой стрелки от направления текущего представления.

Коэффициент отражения, постоянный в виде четырехэлементного вектора. Вектор задает относительные вклады рассеянного света, рассеянного отражения, зеркального отражения и зеркального коэффициента сияния с помощью формы [ka kd ks shine]. По умолчанию, k [.55 .6 .4 10].

Оси, чтобы построить в в виде axes объект. Если вы не задаете оси, то surfl графики в текущую систему координат.

Советы

  • Упорядоченное расположение точек в XY, и Z матрицы задают внутреннюю и внешнюю часть параметрических поверхностей. Чтобы иметь противоположную сторону поверхностного отражения источник света, используйте surfl(X',Y',Z').

Расширенные возможности

Представлено до R2006a