Вспомогательное отображение со световыми объектами

В осуществлении Освещают Глобальную Карту Ландшафта, вы создали световые объекты, чтобы осветить отображение Земного шара. В следующем вы создаете световой объект, чтобы подражать карте, произведенной в Цветном Поверхностном Теневом Облегчении, которое использует теневые вспомогательные вычисления, а не световые объекты.

meshlsrm и функции surflsrm моделируют подсветку путем изменения палитры с полосами легких и темного. Матрица карты затем преобразована в индексы для новой "теневой" палитры на основе расчетных поверхностных нормалей. Используя световые объекты допускает широкий спектр эффектов освещения. Тулбокс управляет световыми объектами с функцией lightm, которая зависит от функции MATLAB® light. Световые сигналы являются отдельными графическими объектами MATLAB.

Для получения дополнительной информации консультируйтесь со страницами с описанием для lightm, daspectm, material, lighting и view, наряду с Освещением, прозрачность и затенение (MATLAB).

Осветите цветные 3-D вспомогательные карты со световыми объектами

Этот пример показывает, как добавить источник света в поверхность, окрашенную сеткой данных. Тулбокс управляет световыми объектами с функцией lightm.

Загрузите данные о Цифровой модели повышения (DEM) и отобразите их. Этот пример загружает данные DEM, сосредоточенные на корейском полуострове. Пример использует функцию meshm, чтобы отобразить данные без эффектов освещения, и окрасить его с оттенками ландшафта.

load korea
figure; axesm('MapProjection','miller',...
     'MapLatLimit',[30 45],'MapLonLimit',[115 135])
meshm(map,refvec,size(map),map);
demcmap(map)

Создайте световой объект с lightm, функционируют и помещают свет в северо-западном углу сетки, одна степень высоко. (Функция lightm подобна функции light MATLAB, но это принимает широту и долготу для расположения информации, а не x, y, и z.) Обратите внимание на то, что фигура становится более темной.

h=lightm(45,115,1);

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

daspectm('meters',50)

Установите окружающую среду (прямую), рассеянную (окно в крыше), и зеркальный (подсветка) характеристики отражающей способности поверхности, соответственно.

material([.7,.9,.8])

По умолчанию подсветка является плоской (плоские фасеты). Измените это на штриховку Гура (интерполированные векторы нормали в фасетных углах).

lighting Gouraud

Удалите ребра ограничительной рамки и установите точку зрения-30 азимутов степеней и 30 высот степеней.

ax = gca;
ax.Box = 'off';
view(-30,30)

Чтобы удалить свет (когда будет только один) от текущей фигуры, используйте функцию clmo.

clmo(handlem('light'))