MATLAB® графическое окружение предоставляет команды, которые позволяют вам позиционировать источники света и корректировать характеристики объектов, которые отражают источники света. Эти команды включают следующие.
Команда | Цель |
---|---|
Создайте или переместите свет относительно положения камеры | |
Создайте или расположите свет в сферических координатах | |
Создайте световой объект | |
Выберите метод подсветки | |
Установите отражательные свойства освещаемых объектов |
Можно задать свойства света и объекта освещения для достижения определенных результатов. В дополнение к материалу в этой тематической области можно исследовать примеры подсветки как введение в подсветку для визуализации.
Вы создаете световой объект, используя light
функция. Три важных свойства светового объекта:
The Color
свойство определяет цвет направленного света от источника света. Цвет объекта в сцене определяется цветом объекта и источника света.
The Style
свойство определяет, является ли источник света точечным источником (Style
установлено на local
), который излучается из заданного положения во всех направлениях, или источник света, помещенный в бесконечность (Style
установлено на infinite
), который светит от направления заданного положения параллельными лучами.
The Position
свойство задает местоположение источника света в единицах данных осей. В случае источника света в бесконечности, Position
задает направление к источнику света.
Освещает влияние поверхность и закрашенная фигура объектов, которые находятся в тех же осях, что и свет. Эти объекты имеют ряд свойств, которые изменяют их внешний вид при освещении огнями.
Вы не можете увидеть сами световые объекты, но можете увидеть их эффекты на любой закрашенной фигуре и объектах поверхности, присутствующих в осях, содержащих свет. Ряд функций создают эти объекты, включая surf
, mesh
, pcolor
, fill
, и fill3
а также surface
и patch
функций.
Вы управляете эффектами подсветки, задавая различные свойства осей, света, закрашенной фигуры и объекта поверхности. Все свойства имеют значения по умолчанию, которые обычно дают желаемые результаты. Однако можно достичь нужного эффекта, скорректировав значения этих свойств.
Свойство | Эффект |
---|---|
Свойство axes, которое задает цвет фонового света в сцене, который не имеет направления и равномерно влияет на все объекты. Эффекты окружающего света возникают только, когда в осях есть видимый объект света. | |
Свойство закрашенной фигуры и поверхности, которое определяет интенсивность окружающего компонента света, отраженного от объекта. | |
Закрашенная фигура и свойство поверхности, которое определяет интенсивность диффузного компонента света, отраженного от объекта. | |
Закрашенная фигура и свойство поверхности, которое определяет интенсивность зеркального компонента света, отраженного от объекта. | |
Свойство закрашенной фигуры и поверхности, которое определяет размер зеркального выделения. | |
Свойство закрашенной фигуры и поверхности, которое определяет степень, до которой зеркально отраженный свет окрашен цветом объекта или цветом источника света. | |
Свойство закрашенной фигуры и поверхности, которое определяет метод, используемый для вычисления эффекта света на гранях объекта. Выбор не является либо подсветкой, либо алгоритмом плоского освещения, либо алгоритмом Гуро. | |
Свойство закрашенной фигуры и поверхности, которое определяет метод, используемый для вычисления эффекта света на ребра объекта. Выбор не является либо подсветкой, либо алгоритмом плоской подсветки, либо алгоритмом Гуро. | |
Свойство patch и surface, которое определяет, как грани освещаются, когда их вершинные нормали указывают от камеры. Это свойство полезно для различения внутренних и внешних поверхностей объекта. | |
Свойство закрашенной фигуры и поверхности, которое задает цвет граней объекта. | |
Свойство patch и surface, которое задает цвет ребер объекта. | |
Свойство patch и surface, которое содержит нормальные векторы для каждой вершины объекта. MATLAB использует вершинные нормальные векторы для вычисления подсветки. В то время как MATLAB автоматически генерирует эти данные, можно также задать свои собственные вершинные нормали. | |
Свойство закрашенной фигуры и поверхности, которое определяет, пересчитывает ли MATLAB нормали вершин, если вы изменяете данные объекта ( |
Для получения дополнительной информации см. Свойства осей графика, Свойства поверхности и Закрашенной фигуры Свойств.
Подсветка - это метод добавления реализма в графическую сцену. Он делает это путем симуляции светлых и темных областей, которые происходят на объектах под естественной подсветкой (например, направленный свет, который приходит от солнца). Чтобы создать эффекты подсветки, MATLAB задает графический объект, называемый светом. MATLAB применяет подсветку к объектам поверхности и патча.
Этот пример отображает поверхность мембраны и освещает ее источником света, исходящим из положения справа от положения камеры.
membrane camlight
Создание света активирует ряд связанных с освещением свойств, управляющих характеристиками, такими как свойства окружающего света и отражающей способности объектов.
Подсветка может улучшить поверхностные графики математических функций. Для примера используйте ezsurf
команда для вычисления выражения
по области -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
можно задать свойства, влияющие на отражение света с поверхности. Более подробное описание этих свойств см. в разделе «Свойства, влияющие на подсветку».