Создайте 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
Эта функция эффективно умножает две палитры, один с цветом на основе повышения, другого со шкалой полутонов на основе наклона поверхности, чтобы создать новую палитру. Это производит эффект, подобный использованию света на поверхности, но со всеми видимыми цветами на самом деле в палитре. Освещающие вычисления выполняются на неспроектированных данных.