Характеристики коэффициента отражения графических объектов

Зеркальное и рассеянное отражение

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

Также смотрите material команда для удобного способа произвести определенные эффекты освещения.

Можно управлять объемом зеркального и рассеянного отражения от поверхности объекта путем установки SpecularStrength и DiffuseStrength свойства. Это изображение иллюстрирует различные настройки.

Рассеянный свет

Рассеянный свет является бесцельным светом, который сияет однородно на всех объектах в сцене. Рассеянный свет отображается только, когда существуют световые объекты в осях. Существует два свойства, которые управляют рассеянным светом — AmbientLightColor свойство осей, которое выбирает цвет и AmbientStrength свойство закрашенной фигуры и объектов подложки, который определяет интенсивность рассеянного света на конкретном объекте.

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

Зеленый [0 1 0] рассеянный свет не влияет на сцену, потому что нет никакого красного компонента в зеленом свете. Однако цвет, заданный значениями RGB [.5 0 1], действительно имеет красный компонент, таким образом, он способствует свету на сфере (но меньше, чем белый [1 1 1] рассеянный свет).

SpecularExponent

Размер пятна зеркальной подсветки зависит от значения закрашенной фигуры и 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].