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