Создайте cdata
и палитра для теневого облегчения
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap)
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap,[azim
elev])
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap,[azim
elev],cmapl)
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap,[azim
elev],cmapl,clim)
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap)
создает палитру и цветные индексы, чтобы позволить поверхности быть отображенной в цветном теневом облегчении. Цвета пропорциональны величине Z
, но измененный оттенками серого на основе поверхностных нормалей, чтобы симулировать поверхностную подсветку. Это представление позволяет и большим и небольшим различиям быть замеченными. X
Y
, и Z
задайте поверхность. cmap
палитра, используемая, чтобы создать новую теневую палитру cimap
. cindx
матрица цветных индексов к cimap
, на основе вертикального изменения и поверхности, нормальной из Z
элемент матрицы. clim
содержит цветные пределы по осям.
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap,[azim
elev])
помещает свет в заданном азимуте и вертикальном изменении. По умолчанию направление света является Востоком (90º азимут) при вертикальном изменении 45º.
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap,[azim
elev],cmapl)
выбирает количество серых, чтобы дать cimap
из длины cmapl
. По умолчанию количество шкал полутонов выбрано, чтобы сохранить теневую палитру ниже 256. Если вектор из азимута и вертикального изменения пуст, местоположения по умолчанию используются.
[cindx,cimap,clim] = shaderel(X,Y,Z,cmap,[azim
elev],cmapl,clim)
использует цветные пределы, чтобы индексировать Z
в cmap
.
Отобразите peaks
поверхность с теневой палитрой:
[X,Y,Z] = peaks(100); cmap = hot(16); [cindx,cimap,clim] = shaderel(X,Y,Z,cmap); surf(X,Y,Z,cindx); colormap(cimap); caxis(clim) shading flat
Эта функция эффективно умножает две палитры, один с цветом на основе вертикального изменения, другого со шкалой полутонов на основе наклона поверхности, чтобы создать новую палитру. Это производит эффект, похожий на использование света на поверхности, но со всеми видимыми цветами на самом деле в палитре. Освещающие вычисления выполняются на неспроектированных данных.