Осветите карту ландшафта области

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

Создайте карту ландшафта.

latlim = [ 41.20  41.95];
lonlim = [-70.95 -70.10];
cd dted\w071 % Note: Your absolute path may vary.
samplefactor = 1;
[capeterrain, caperef] = dted('n41.dt0', samplefactor, ...
   latlim, lonlim);
capeterrain(capeterrain == 0) = -1;
capecoast = shaperead('usastatehi', ...
   'UseGeoCoords', true, ...
   'BoundingBox', [lonlim' latlim']);

Создайте карту области в заданных пределах широты и долготы.

figure
ax = usamap(latlim,lonlim);
geoshow(ax,capecoast,'FaceColor','none');
geoshow(ax,capeterrain,caperef,'DisplayType','texturemap');
demcmap(capeterrain)

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

daspectm('m',20)

Убедитесь, что данные о строке видимы. Чтобы гарантировать, что это не затенено ландшафтом, используйте zdatam, чтобы установить его на самое высокое повышение данных о ландшафте cape1.

zdatam('allline',max(capeterrain(:)))

Задайте местоположение для источника света с функцией lightm. (Если вы не используете аргументы, графический интерфейс пользователя для установки позиционных свойств для нового света открывается.)

lightm(42,-71)

Вычисления подсветки заставили карту становиться довольно темной с зеркальными подсветками. Теперь восстановите его яркость путем определения трех поверхностных свойств отражающей способности в области значений от 0 до 1.

ambient = 0.7; diffuse = 1; specular = 0.6;
material([ambient diffuse specular])

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

lighting Gouraud

Чтобы сравнить освещенную карту с неосвещенной версией, отключите подсветку.

lighting none