2. Modelowanie oświetlenia powierzchni

2.1. Odbicie rozproszone

Najprostszym sposobem uzyskania wrażenia oświetlonej, trójwymiarowej powierzchni jest modelowanie odbicia rozproszonego. Odbiciem rozproszonym charakteryzują się powierzchnie matowe, bez połysku, odbijające promień padającego światła w najrozmaitszych kierunkach, co jest spowodowane występującymi na nich mikronierównościami:

Rysunek 14. Odbicie promieni światła na mikronierównościach powierzchni

 

Intensywność światła rozpraszanego zależna jest wyłącznie od kierunku padania światła na powierzchnię: im bardziej prostopadle pada promień światła na powierzchnię, tym silniej jest ono odbijane:


 

Rysunek 15. Intensywność odbicia rozproszonego maleje wraz ze wzrostem kąta padania światła na powierzchnię

 

Intensywność odbicia rozproszonego jest przy tym niezależna od kierunku patrzenia, czyli od położenia obserwatora. Do obliczenia odbicia rozproszonego potrzebne są zatem dwa wersory, czyli wektory o długości jednostkowej, określające kierunek padania promienia i kierunek normalnej do powierzchni. Pierwszy z tych wersorów wyznacza się jako wersor skierowany z danego punktu powierzchni do źródła światła (oznaczany zwykle jako L - od słowa light). Jeśli źródło światła leży w nieskończonej odległości od oświetlonej powierzchni (np. jest to światło słoneczne), mamy do czynienia z tzw. kierunkowym źródłem światła, dla którego wersor L ma stały zwrot i kierunek:

Rysunek 16. Wersor L jest zawsze skierowany do źródła światła

 

Drugim wersorem jest wersor normalny do powierzchni, znany już z wykładu o modelowaniu 3D. Nadal będziemy go oznaczać jako N. Intensywność odbicia rozproszonego, zależna od kąta padania światła na powierzchnię, jest więc funkcją kąta pomiędzy tymi dwoma wersorami.

Zgodnie z prawem fizyki, znanym jako prawo Lamberta, intensywność odbicia rozproszonego jest funkcją cosinusa kąta między wersorami N oraz L:

 

I_d=I_pk_d\cos{\theta}

 

Rysunek 17. Wersory niezbędne do wyznaczenia intensywności odbicia rozproszonego

gdzie:

Ip - intensywność światła padającego

Id - intensywność światła odbitego (rozpraszanego - ang. diffuse)

kd - współczynnik odbicia rozproszonego, zawarty w przedziale <0, 1>, określający, jaka część światła padającego jest rozpraszana.

Ponieważ N oraz L są wersorami (czyli mają długość jednostkową), to wartość cosinusa kąta między nimi można - zgodnie z regułami matematyki - zastąpić ich iloczynem skalarnym, czyli:

 

I_{d} =I_{p} k_{d}( N\cdot L)

 

W ten sposób otrzymujemy niezwykle prosty wzór, pozwalający na szybkie w obliczeniach uzyskanie wrażenia oświetlonej powierzchni 3D. Wpływ współczynnika odbicia rozproszonego kd na intensywność odbitego światła zilustrowano na Rys. 18.

 

Rysunek 18. Wpływ współczynnika odbicia rozproszonego na wygląd oświetlonej powierzchni

 

Symulując odbicie rozproszone możemy spotkać się z sytuacją, gdy rzuty dwóch równoległych płaszczyzn będą się nakładać w obrazie. Nie będzie można ich wówczas rozróżnić, gdyż obie będą miały ten sam wersor normalny. W celu ominięcia tej niedogodności  wprowadzono współczynnik tłumienia źródła światła, pozwalający wyznaczać intensywność odbicia w zależności od odległości (d_{L})
 oświetlonego obiektu od źródła światła. Najczęściej używa się wzoru

 

I_{d} =f( d_{L}) I_{p} k_{d}( N\cdot L)

 

gdzie współczynnik tłumienia f( d_{L})  jest liczony z zależności empirycznej:

 

f\left(d_L\right)=min\left(\frac{1}{c_1+c_2d_L+c_3d_L^2}\ ,\ 1\right)

 

Wzór ten zapewnia, że współczynnik tłumienia nie przekroczy wartości 1, niezależnie od sposobu liczenia wielkości d_{L} . Wielkość ta jest odległością powierzchni od źródła światła; najlepiej jest liczyć ją w sposób względny, tak by na powierzchni znajdującej się najbliżej źródła światła tłumienie nie następowało.

 

Uogólnieniem modelu Lamberta, lepiej oddającym  własności odbijające mikronierówności, jest model odbicia rozproszonego Orena-Nayara http://en.wikipedia.org/wiki/Oren%E2%80%93Nayar_reflectance_model