Можно задать характеристики коэффициента отражения закрашенной фигуры и объектов подложки и таким образом влиять на способ, которым они смотрят, когда световые сигналы применяются к сцене. Вероятно, что вы настроите эти характеристики в комбинации, чтобы привести к конкретным результатам.
Также смотрите
material
команда для удобного способа произвести определенные эффекты освещения.
Можно управлять объемом зеркального и рассеянного отражения от поверхности объекта путем установки SpecularStrength
и DiffuseStrength
свойства. Это изображение иллюстрирует различные настройки.
Рассеянный свет является бесцельным светом, который сияет однородно на всех объектах в сцене. Рассеянный свет отображается только, когда существуют световые объекты в осях. Существует два свойства, которые управляют рассеянным светом — AmbientLightColor
свойство осей, которое выбирает цвет и AmbientStrength
свойство закрашенной фигуры и объектов подложки, который определяет интенсивность рассеянного света на конкретном объекте.
Этот рисунок показывает три различных цвета рассеянного света в различной интенсивности. Сфера является красной и существует белый существующий световой объект.
Зеленый [0 1 0] рассеянный свет не влияет на сцену, потому что нет никакого красного компонента в зеленом свете. Однако цвет, заданный значениями RGB [.5 0 1], действительно имеет красный компонент, таким образом, он способствует свету на сфере (но меньше, чем белый [1 1 1] рассеянный свет).
Размер пятна зеркальной подсветки зависит от значения закрашенной фигуры и SpecularExponent
объекта подложки свойство. Типичные значения для этого свойства лежат в диапазоне от 1 до 500 с обычными объектами, имеющими значения в области значений 5 - 20.
Этот рисунок показывает красную сферу, освещенную белым светом с тремя различными значениями для SpecularExponent
свойство.
Цвет зеркально отраженного света может лежать в диапазоне от комбинации цвета объекта и цвета источника света к цвету источника света только. Закрашенная фигура и поверхностный SpecularColorReflectance
свойство управляет этим цветом. Этот рисунок показывает красную сферу, освещенную белым светом. Значения SpecularColorReflectance
диапазон свойства от 0 (цвет объекта и светлый цвет) к 1 (светлый цвет).
Подсветка задней стороны полезна для показа различия между внутренними и внешними поверхностями. Эти изображения срезанных цилиндрических поверхностей иллюстрируют эффекты подсветки задней стороны.
Значение по умолчанию для BackFaceLighting
reverselit
. Эта установка инвертирует направление нормалей вершин, которые отворачиваются от камеры, заставляя внутреннюю поверхность отразить свет к камере. Установка BackFaceLighting
к unlit
отключает подсветку на поверхностях с нормалями, которые указывают далеко от камеры.
Можно также использовать BackFaceLighting
удалить краевые эффекты для замкнутых объектов. Эти эффекты происходят когда BackFaceLighting
установлен в reverselit
и пиксели вдоль ребра замкнутого объекта освещены, как будто их нормали вершин стояли перед камерой. Это производит неправильно освещенный пиксель, потому что пиксель отображается, но действительно отворачивается от камеры.
Чтобы проиллюстрировать этот эффект, следующее изображение показывает взрыв ребра освещенной сферы. Установка BackFaceLighting
к lit
предотвращает неподходящую подсветку пикселей.
Этот пример создает сферу и куб и освещает затем с двумя источниками света. Световые объекты расположены в бесконечности, но в направлениях, заданных их радиус-векторами.
% Create a sphere sphere(36); axis([-3 3 -3 3 -3 3]) hold on % Create a cube fac = [1 2 3 4;2 6 7 3;4 3 7 8;1 5 8 4;1 2 6 5;5 6 7 8]; vert = [1 1 1;1 2 1;2 2 1;2 1 1;1 1 2;1 2 2;2 2 2;2 1 2]; patch('faces',fac,'vertices',vert,'FaceColor','y'); % Add lights light('Position',[1 3 2]); light('Position',[-3 -1 3]); hold off
light
функции задают два световых объекта, расположенные в бесконечности в направлении, заданном Position
векторы. Эти векторы заданы в координатах осей [x, y, z].