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

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

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

Команда

Цель

camlight

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

lightangle

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

свет

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

подсветка

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

материал

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Свойство

Эффект

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, чтобы оценить выражение

грешите (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 можно установить свойства, которые влияют, как свет отражается от поверхности. См. Свойства Та Подсветка Влияния для более подробных описаний этих свойств.

Была ли эта тема полезной?