Проста модель освітлення

Світлова енергія, що падає на поверхню, може бути поглинена, відображена або пропущена. Частково вона поглинається і перетворюється в тепло, а частково відбивається або пропускається. Об'єкт можна побачити, тільки якщо він відображає або пропускає світло. Якщо ж об'єкт поглинає весь падаючий світло, то він невидимий і називається абсолютно чорним тілом.

Кількість поглиненої, відбитої або пропущеної енергії залежить від довжини хвилі світла. При висвітленні білим світлом, в якому інтенсивність всіх довжин хвиль знижена приблизно однаково, об'єкт виглядає сірим. Якщо поглинається майже весь світ, то об'єкт здається чорним, а якщо тільки невелика його частина - білим. Якщо поглинаються лише певні довжини хвиль, то у світла, що виходить від об'єкта, змінюється розподіл енергії і об'єкт виглядає кольоровим. Колір об'єкта визначається поглинаються довжинами хвиль.

Властивості відбитого світла залежать від будови, напрями і форми джерела світла, від орієнтації і властивостей поверхні. Відбитий від об'єкта світло може також бути дифузним або дзеркальним.

Дифузійне відбиття світла відбувається, коли світло як би проникає під поверхню об'єкта, поглинається, а потім знову випускається. При цьому положення спостерігача не має значення, так як дифузно відбите світло розсіюється рівномірно в усіх напрямках. Дзеркальне відображення походить від зовнішньої поверхні об'єкта.

Світло точкового джерела відбивається від ідеального розсіювача за законом косинусів Ламберта: інтенсивність відбитого світла пропорційна косинусу кута між напрямком світла і нормаллю до поверхні:
I = Il * kd * cosq, де
I - інтенсивність відбитого світла,
Il - інтенсивність точкового джерела,
kd - коефіцієнт дифузного віддзеркалення (0 <= kd <= 1); kd зависит от материала и длины волны света, но в простых моделях освещения обычно считается постоянным (0 — энергия полностью рассеялась от очень шерховатой поверхности, 1 — энергия полностью отразилась от абсолютно гладкой поверхности),
q - кут між напрямком світла і нормаллю до поверхні (див. рис. 23.1), 0 <= q <= p/2; если q> p / 2, то джерело світла позаду об'єкта.

Поверхня предметів, зображених за допомогою простої моделі освітлення з ламбертовим дифузним відображенням, виглядає блідою і матовою. Передбачається, що джерело точковий, і тому об'єкти, на які не падає пряме світло, здаються чорними. Якщо джерело точковий і являє собою вузький промінь, то:
I = Il * kd * cosq * cos c b, де
b - кут, утворений променем прожектора і напрямком на точку (див. рис. 23.2),
с - коефіцієнт вузькості: чим більше с. тим вже пучок.
Закон не враховує розсіяне світло.

днако на об'єкти реальних сцен падає ще й розсіяне світло, відбите від предметів навколишнього оточення, наприклад від стін кімнати. Розсіяному світлі відповідає розподілений джерело. Оскільки для розрахунку таких джерел потрібні великі обчислювальні витрати, в машинній графіці вони замінюються на коефіцієнт інтенсивності для розсіяного світла - константу, яка входить в формулу в лінійної комбінації з членом Ламберта:
I = Ia * ka + Il * kd * cosq, де
Ia - інтенсивність розсіяного світла,
ka - коефіцієнт інтенсивності для розсіяного світла (0 <= ka <= 1).

Нехай дано два об'єкти, однаково орієнтовані щодо джерела, але розташовані на різній відстані від нього. Якщо знайти їх інтенсивність по даній формулі, то вона виявиться однаковою. Це означає, що коли предмети перекриваються, їх неможливо розрізнити, хоча інтенсивність світла обернено пропорційна квадрату відстані від джерела, і об'єкт, що лежить далі від нього, повинен бути темнішим.

Якщо припустити, що джерело світла знаходиться в нескінченності, то дифузний член моделі освітлення звернеться в нуль. У разі перспективного перетворення сцени в якості коефіцієнта пропорційності для дифузного члена можна взяти відстань r від центру проекції до об'єкта. Але якщо центр проекції лежить близько до об'єкта, то 1 / r 2 змінюється дуже швидко, тобто у об'єктів, що лежать приблизно на однаковій відстані від джерела, різниця інтенсивностей надмірно велика.

Як показує досвід, більшої реалістичності можна досягти при лінійному загасання. У цьому випадку модель освітленості виглядає так:
I = Ia * ka + (Il * kd * cosq * cos c b) / (r + const),
r необхідно, щоб не було дискотечного ефекту (ефекту різких переходів),
сonst - щоб не сталося розподіл на нуль.

Якщо передбачається, що точка спостереження знаходиться в нескінченності, то r визначається положенням об'єкта, найближчого до точки спостереження. Це означає, що найближчий об'єкт висвітлюється з повною інтенсивністю джерела, а більш далекі - зі зменшеною. Для кольорових поверхонь модель освітлення застосовується до кожного з трьох основних кольорів: червоного (R), зеленого (G) і синього (B):

Інтенсивність дзеркально відбитого світла залежить від кута падіння q, довжини хвилі падаючого світла L і властивостей речовини. Добре відоме основне рівняння Френеля є в будь-якій книзі по геометричній оптиці. Дзеркальне відображення світла є спрямованим. Кут відображення від ідеальної поверхні, що відбиває (дзеркала) дорівнює куту падіння, в будь-якому іншому положенні спостерігач не бачить дзеркально відбите світло. Це означає, що вектор спостереження S збігається з вектором відображення R. Якщо поверхня не ідеальна, то кількість світла, що досягає спостерігача, залежить від просторового розподілу дзеркально відбитого світла. У гладких поверхонь розподіл вузьке або сфокусоване, у шорсткуватих - ширше.

У простих моделях освітлення зазвичай користуються емпіричної моделлю Буї-Туонг Фонга, так як фізичні властивості дзеркального відображення дуже складні. Модель Фонга має вигляд:
Is = Il * w (i, l) * cos n a, де
Is - інтенсивність світла, що потрапив в око спостерігача,
Il - інтенсивність падаючого світла,
w (i, l) - крива відображення, що представляє відношення дзеркально відбитого світла до падаючого як функцію кута падіння i та довжини хвилі l,
a - кут між напрямком світла і нормаллю до поверхні,
n - ступінь, апроксимуюча просторовий розподіл дзеркально відбитого світла.

Завдяки дзеркального відображення на блискучих предметах з'являються світлові відблиски. Через те, що дзеркально відбите світло сфокусований уздовж вектора відображення, відблиски при русі спостерігача теж переміщаються. Більш того, так як світло відбивається від зовнішньої поверхні (за винятком металів і деяких твердих барвників), то відбитий промінь зберігає властивості падаючого. Наприклад, при освітленні блискучою синьою поверхні білим світлом виникають білі, а не сині відблиски. Коефіцієнт дзеркального відображення w залежить від кута падіння, проте навіть при перпендикулярному падінні дзеркально відбивається тільки частина світла, а інша частина або поглинається, або відбивається дифузно. Ці співвідношення визначаються властивостями речовини і довжиною хвилі. Коефіцієнт відображення для деяких неметалів може дорівнювати всього 4%, в той час як для металевих матеріалів - понад 80%.

Об'єднуючи ці результати з формулою розсіяного світла і дифузного віддзеркалення, отримаємо модель освітлення:
I = Ia ka + (Il / (d + K)) * (kd * cosq + w (i, l) * cos n a).

Функція w (i, l) досить складна, тому її зазвичай замінюють константою ks. яка або вибирається з естетичних міркувань, або визначається експериментально. З урахуванням цього:
I = Ia ka + (Il / (d + K)) * (kd * cosq + ks * cos n a).

У машинній графіці ця модель часто називається функцією зафарбовування і застосовується для розрахунку інтенсивності або тони точок об'єкта або пікселів зображення. Щоб отримати кольорове зображення, потрібно визначити функції зафарбовування для кожного з трьох основних кольорів. Константа ks зазвичай однакова для всіх трьох основних кольорів, оскільки колір дзеркально відбитого світла визначається кольором падаючого. За наявності кількох джерел світла, то їх ефекти сумуються. У цьому випадку модель освітлення визначається так:
I = Ia ka + S (Ili / (d + K)) * (kd * cosqi + ks * cos n i ai),
де підсумовування по i йде від 1 до кількості джерел m.

Застосовуючи формулу скалярного добутку двох векторів, запишемо:
cosq = (n * L) / (| n | * | L |) = n '* L',
де n 'і L' - одиничні вектори відповідно нормалі до поверхні і напрямки до джерела. Так само:
cosa = (R * S) / (| R | * | S |) = R '* S',
де R 'і S' - одиничні вектори, що визначають напрямки відбитого променя і променя спостереження. Отже, модель освітлення для одного джерела визначається так:
I = Ia ka + (Il / (d + K)) * (kd * (n '* L') + ks * (R '* S') n).

Схожі статті