surfl

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

Описание

пример

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. The axes 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. The axes contains an object of type surface.

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

sl(2).Color = 'r';

Figure contains an axes. The axes 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. The axes contains an object of type surface.

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

sl.EdgeColor = 'none';

Figure contains an axes. The axes 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