Графическая среда MATLAB ® предоставляет команды, позволяющие позиционировать источники света и корректировать характеристики объектов, отражающих свет. К таким командам относятся следующие .
Команда | Цель |
|---|---|
Создание или перемещение источника света относительно положения камеры | |
Создание или размещение источника света в сферических координатах | |
Создание объекта-источника света | |
Выбор способа освещения | |
Установка свойств отражательной способности освещенных объектов |
Для достижения определенных результатов можно задать свойства света и освещенного объекта. В дополнение к материалу в этой тематической области можно изучить примеры освещения как введение в освещение для визуализации.
Светлый объект создается с помощью light
функция. Три важных свойства светлых объектов:
Color свойство определяет цвет направленного света от источника света. Цвет объекта в сцене определяется цветом объекта и источника света.
Style определяет, является ли источник света точечным источником (Style установить в значение local), который излучает из указанного положения во всех направлениях, или источник света, размещенный на бесконечности (Style установить в значение infinite), которая светится от направления заданного положения параллельными лучами.
Position свойство определяет местоположение источника света в единицах данных осей. В случае источника света на бесконечности, Position определяет направление к источнику света.
Источники света влияют на поверхности и объекты-участки, находящиеся в тех же осях, что и источник света. Эти объекты имеют ряд свойств, изменяющих их внешний вид при освещении светом.
Сами объекты света не видны, но можно увидеть их влияние на любые объекты сегмента и поверхности, присутствующие в осях, содержащих свет. Ряд функций создает эти объекты, в том числе surf, mesh, pcolor, fill, и fill3 а также surface и patch функции.
Управление эффектами освещения осуществляется путем установки различных параметров осей, света, сегмента и объекта поверхности. Все свойства имеют значения по умолчанию, которые обычно дают желаемые результаты. Однако требуемый эффект можно получить, настроив значения этих свойств.
Собственность | Эффект |
|---|---|
Свойство оси, определяющее цвет фонового источника света в сцене, который не имеет направления и равномерно влияет на все объекты. Эффекты окружающего света возникают только при наличии объекта видимого света в осях. | |
Свойство участка и поверхности, определяющее интенсивность компонента окружающей среды света, отраженного от объекта. | |
Свойство участка и поверхности, определяющее интенсивность диффузного компонента света, отраженного от объекта. | |
Свойство участка и поверхности, определяющее интенсивность зеркальной составляющей света, отраженного от объекта. | |
Свойство участка и поверхности, определяющее размер зеркальной подсветки. | |
Свойство участка и поверхности, которое определяет степень, в которой зеркально отраженный свет окрашивается цветом объекта или цветом источника света. | |
Свойство участка и поверхности, определяющее метод расчета влияния света на грани объекта. Выбор - либо нет освещения, либо плоского, либо Gouraud, алгоритм освещения. | |
Свойство участка и поверхности, определяющее метод расчета влияния света на кромки объекта. Выбор - либо нет освещения, либо плоский, либо Gouraud алгоритм освещения. | |
Свойство участка и поверхности, определяющее способ освещения граней, когда их нормали вершин направлены от камеры. Это свойство полезно для различения внутренней и внешней поверхностей объекта. | |
Свойство участка и поверхности, определяющее цвет граней объекта. | |
Свойство участка и поверхности, определяющее цвет кромок объекта. | |
Свойство участка и поверхности, содержащее нормальные векторы для каждой вершины объекта. MATLAB использует векторы нормали вершин для выполнения расчетов освещения. Хотя MATLAB автоматически генерирует эти данные, можно также указать собственные нормали вершин. | |
Свойство patch и surface, определяющее, пересчитывает ли MATLAB нормали вершин при изменении данных объекта ( |
Дополнительные сведения см. в разделах Свойства осей, Свойства поверхности и Свойства сегмента.
Освещение - это техника добавления реализма к графической сцене. Для этого моделируются подсветки и темные области, возникающие на объектах при естественном освещении (например, направленный свет, исходящий от солнца). Для создания эффектов освещения MATLAB определяет графический объект, называемый источником света. MATLAB применяет освещение к поверхностным объектам и объектам-участкам.
Этот пример отображает поверхность мембраны и освещает ее источником света, исходящим из местоположения справа от положения камеры.
membrane camlight
Создание источника света активирует ряд связанных с освещением свойств, управляющих характеристиками, такими как внешний свет и свойства отражения объектов.

Освещение может улучшить графики поверхности математических функций. Например, используйте ezsurf команда для вычисления выражения
(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можно задать свойства, влияющие на отражение источника света от поверхности. Более подробное описание этих свойств см. в разделе Свойства, влияющие на освещение.