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

Внести искажения в компоненты вектора нормали можно разными способами- ниже будет продемонстрировано, как это делается, если поверхность задана в параметрической форме. Пусть р(и, v) - точка на поверхности, описываемой параметрическими уравнениями. Единичный вектор нормали к поверхности в этой точке есть векторное произведение векторов касательных, образуемых как частные производные по основным параметрам: Р„ХР,

|Р„хр,|

где

Предположим, что в некоторой точке выполнено смещение в направлении нормали малого участка поверхности. Это смещение описывается известной функцией микрорельефа (bump function), d(u, v), причем значения функции достаточно малы (\d(u, v)| « 1): р' = р + d(u, v)n.

Операции с изображением на уровне растрового представления

Но нам требуется не изменять геометрию объекта, а только создать у наблюдателя иллюзию такого изменения. Для этого будем изменять не координаты точки р, а компоненты вектора нормали в этой точке п, а затем измененный вектор передавать алгоритму тонирования. Нормаль в точке р' есть векторное произведение п' = р„ X р\„

Векторы р'„ и р\, можно вычислить следующим образом:

P„ =P„ +-п + d(u,v)аи, ди

dd Л, W.

Pv = Р> +-п +д( U,V )tlv .

ov

Если d мало, то последними членами в правой части обоих уравнений можно пренебречь и, учитывая п х п=0, после их подстановки в выражение для векторного произведения получим выражения для вычисления компонентов искаженной нормали:

dd dd n =n +-nxp( +- nxpu.
du ov

Вектор разности между исходной и искаженной нормалями лежит в плоскости, касательной к поверхности в точке р. Чтобы выполнить наложение карты микрорельефа, нам потребуются два массива, которые будут содержать значения dd/du и dd/dv. Элементы этих массивов следует вычислить заранее, воспользовавшись методами, аналогичными тем, которые применялись при формировании проективных структур. Искажение компонентов нормалей реализуется в процессе тонирования.


⇐ Предыдущая| |Следующая ⇒