То В этом примере показано, как создать световой объект, чтобы подражать карте, произвело в Цветном Поверхностном Теневом Облегчении, которое использует теневые вспомогательные расчеты, а не световые объекты.
meshlsrm
и surflsrm
функции симулируют подсветку путем изменения палитры с полосами легких и темного. Матрица карты затем преобразована в индексы для новой "теневой" палитры на основе расчетных поверхностных нормалей. Используя световые объекты допускает широкий спектр эффектов освещения. Тулбокс управляет световыми объектами с lightm
функция, которая зависит от MATLAB®
light
функция. Световые сигналы являются отдельными графическими объектами MATLAB.
Для получения дополнительной информации консультируйтесь со страницами с описанием для lightm
, daspectm
, material
, lighting
, и view
, наряду с Освещением, прозрачность и затенение.
Добавьте источник света в поверхность, окрашенную сеткой данных с помощью lightm
. Во-первых, загрузите данные о вертикальном изменении и географический объект ссылки ячеек для корейского полуострова. Отобразите данные без эффектов освещения с помощью meshm
. Примените палитру, подходящую для данных о вертикальном изменении с помощью demcmap
. Устраните дополнительный пробел вокруг карты с помощью tightmap
.
load korea5c axesm('miller','MapLatLimit',[30 45],'MapLonLimit',[115 135]) meshm(korea5c,korea5cR,size(korea5c),korea5c) demcmap(korea5c) tightmap
Поместите источник света в северо-западном углу сетки, одна степень высоко, с помощью lightm
. lightm
функция похожа на функцию MATLAB® light
, но принимает входные параметры широты и долготы вместо x, y, и z. Обратите внимание на то, что фигура становится более темной.
lightm(45,115,1)
Преувеличьте измерение по вертикали, чтобы сделать любое облегчение просматриваемым в перспективе. Обратите внимание на то, что фигура становится более темной все еще.
daspectm('meters',50)
Установите окружающую среду (прямую), рассеянную (окно в крыше), и зеркальный (подсветка) характеристики отражающей способности поверхности, соответственно.
material([0.7 0.9 0.8])
По умолчанию подсветка является плоской (плоские фасеты). Измените свет, чтобы использовать штриховку Гура (интерполированные векторы нормали в фасетных углах).
lighting Gouraud
Удалите ребра ограничительной рамки. Измените представление путем определения азимута-30º и высоты 30º.
ax = gca;
ax.Box = 'off';
view(-30,30)
Если существует только один свет в текущей фигуре, можно удалить его с помощью clmo
.
clmo(handlem('light'))