Подсветка обзора

Подсветка команд

MATLAB® графическая среда обеспечивает команды, которые позволяют вам расположить источники света и настроить характеристики объектов, которые отражают световые сигналы. Эти команды включают следующее.

Команда

Цель

camlight

Создавайте или перемещайте свет относительно положения камеры

lightangle

Создайте или расположите свет в сферические координаты

light

Создайте световой объект

lighting

Выберите метод подсветки

material

Установите свойства коэффициента отражения освещенных объектов

Можно зажечь и освещенные свойства объектов, чтобы достигнуть определенных результатов. В дополнение к материалу в этом тематическом охвате можно исследовать примеры подсветки как введение в подсветку для визуализации.

Световые объекты

Вы создаете световой объект с помощью light функция. Три важных свойства светового объекта

  • Color — Цвет света брошен световым объектом

  • Style — Любой бесконечно далеко (значение по умолчанию) или локальный

  • Position — Направление (для бесконечных источников света) или местоположение (для локальных источников света)

Color свойство определяет цвет направленного света от источника света. Цвет объекта в сцене определяется цветом объекта и источника света.

Style свойство определяет, является ли источник света точечным источником (Style установите на local), который исходит от заданного положения во всех направлениях или источника света, помещенного в бесконечность (Style установите на infinite), который сияет от направления заданного положения с параллельными лучами.

Position свойство задает местоположение источника света в модулях данных об осях. В случае источника света в бесконечности, Position задает направление к источнику света.

Световые сигналы влияют на поверхность и исправляют объекты, которые находятся в тех же осях как свет. Эти объекты имеют много свойств, которые изменяют способ, которым они смотрят, когда освещено световыми сигналами.

Свойства, которые влияют на подсветку

Вы не видите самих световых объектов, но вы видите их эффекты на любой закрашенной фигуре и объектах подложки, существующих в осях, содержащих свет. Много функций создают эти объекты, включая surf, mesh, pcolor, fill, и fill3 а также surface и patch функции.

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

Свойство

Эффект

AmbientLightColor

Свойство осей, которое задает цвет фонового освещения в сцене, которая не имеет никакого направления и влияет на все объекты однородно. Эффекты рассеянного света происходят только, когда существует видимый световой объект в осях.

AmbientStrength

Закрашенная фигура и поверхностное свойство, которое определяет интенсивность окружающего компонента света, отраженного от объекта.

DiffuseStrength

Закрашенная фигура и поверхностное свойство, которое определяет интенсивность рассеянного компонента света, отраженного от объекта.

SpecularStrength

Закрашенная фигура и поверхностное свойство, которое определяет интенсивность зеркального компонента света, отраженного от объекта.

SpecularExponent

Закрашенная фигура и поверхностное свойство, которое определяет размер зеркальной подсветки.

Зеркальный цветной коэффициент отражения

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

'FaceLighting'

Закрашенная фигура и поверхностное свойство, которое определяет метод, раньше вычисляли эффект света на поверхностях объекта. Выбором является или никакая подсветка, плоская, или Гуро, освещая алгоритм.

EdgeLighting

Закрашенная фигура и поверхностное свойство, которое определяет метод, раньше вычисляли эффект света на ребрах объекта. Выбором является или никакая подсветка, плоская, или алгоритм подсветки Гура.

Освещение задней поверхности

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

'FaceColor'

Закрашенная фигура и поверхностное свойство, которое задает цвет объектных поверхностей.

'EdgeColor'

Закрашенная фигура и поверхностное свойство, которое задает цвет краев объекта.

VertexNormals

Закрашенная фигура и поверхностное свойство, которое содержит векторы нормали для каждой вершины объекта. MATLAB использует векторы нормали вершин, чтобы выполнить вычисления подсветки. В то время как MATLAB автоматически генерирует эти данные, можно также задать собственные нормали вершин.

NormalMode

Закрашенная фигура и поверхностное свойство, которое определяет, повторно вычисляет ли MATLAB нормали вершин, если вы изменяете данные объектов (auto) или использует текущие значения VertexNormals свойство (manual). Если вы задаете значения для VertexNormals, MATLAB устанавливает это свойство на manual.

Для получения дополнительной информации смотрите Свойства осей графика, Surface Properties и Свойства исправления.

Примеры контроля освещения

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

Пример - добавляющие световые сигналы к сцене

Этот пример отображает мембранную поверхность и освещает ее с источником света, происходящим от местоположения справа от положения камеры.

membrane
camlight

Создание света активирует много связанных с подсветкой свойств, управляющих характеристиками, такими как рассеянный свет и свойства коэффициента отражения объектов.

Пример - освещающий математические функции

Подсветка может улучшить поверхностные графики математических функций. Например, используйте ezsurf команда, чтобы выполнить выражение

sin(x2+y2)÷(x2+y2)

по области-6π к 6π.

h = ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)',[-6*pi,6*pi]);

Теперь добавьте подсветку с помощью lightangle функция, которая принимает легкое положение в терминах азимута и вертикального изменения.

view(0,75)
shading interp
lightangle(-45,30)
h.FaceLighting = 'gouraud';
h.AmbientStrength = 0.3;
h.DiffuseStrength = 0.8;
h.SpecularStrength = 0.9;
h.SpecularExponent = 25;
h.BackFaceLighting = 'unlit';

После получения использования указателя объекта подложки findobj, можно установить свойства, которые влияют, как свет отражается от поверхности. См. Свойства Та Подсветка Влияния для более подробных описаний этих свойств.