exponenta event banner

Обзор освещения

Команды освещения

Графическая среда 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

Свойство участка и поверхности, определяющее размер зеркальной подсветки.

SpecularColorReflectance

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

FaceLighting

Свойство участка и поверхности, определяющее метод расчета влияния света на грани объекта. Выбор - либо нет освещения, либо плоского, либо Gouraud, алгоритм освещения.

EdgeLighting

Свойство участка и поверхности, определяющее метод расчета влияния света на кромки объекта. Выбор - либо нет освещения, либо плоский, либо Gouraud алгоритм освещения.

BackFaceLighting

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

FaceColor

Свойство участка и поверхности, определяющее цвет граней объекта.

EdgeColor

Свойство участка и поверхности, определяющее цвет кромок объекта.

VertexNormals

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

NormalMode

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

Дополнительные сведения см. в разделах Свойства осей, Свойства поверхности и Свойства сегмента.

Примеры управления освещением

Освещение - это техника добавления реализма к графической сцене. Для этого моделируются подсветки и темные области, возникающие на объектах при естественном освещении (например, направленный свет, исходящий от солнца). Для создания эффектов освещения MATLAB определяет графический объект, называемый источником света. MATLAB применяет освещение к поверхностным объектам и объектам-участкам.

Пример - Добавление источников света в сцену

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

membrane
camlight

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

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

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

грех (x2+y2) ÷ (x2+y2)

над областью от -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можно задать свойства, влияющие на отражение источника света от поверхности. Более подробное описание этих свойств см. в разделе Свойства, влияющие на освещение.