Sunteți pe pagina 1din 42

Redarea luminii in imagini

Prof. univ. dr. ing. Florica Moldoveanu

1
Proprietatile luminii(1)
luminii(1)

Lumina este energie electromagnetic (spectrul vizibil) 

 Atunci cnd cade pe suprafaa unui obiect, ea poate fi: absorbit, reflectat sau transmis

Sistemul vizual uman percepe: lumina provenita direct de la o sursa si


lumina reflectata sau transmisa de obiectele din mediu.

Lumina care conine toate lungimile de


und din spectrul vizibil n proporii aproximativ
egale se numete acromatic.

Lumina in care predomina anumite lungimi de und


se numete cromatic.

2
EGC Redarea luminii in imagini
Proprietatile luminii(2)
luminii(2)

Culoarea unui obiect, perceputa de ochiul uman, depinde att de distribuia lungimilor de und n
lumina care cade pe obiect ct i de caracteristicile fizice ale suprafetei obiectului: reflecta/absoarbe
anumite lungimi de unda.
 Energia electromagnetic nu are culoare!
 Culoarea este rezultatul unui proces psiho-fiziologic.

Definiia psiho-fiziologic a unei culori cuprinde: nuanta, luminozitatea (stralucirea), saturatia


Nuana: rou, galben, verde, etc. -determinat de lungimea de und dominant a

distribuiei spectrale a luminii.

Luminozitatea sau strlucirea - reprezint intensitatea luminii.

Luminozitatea: caracteristic a unui obiect emitor de lumin

Strlucirea: caracterizeaz un obiect neemitor, care reflect lumina.

3
EGC Redarea luminii in imagini
Proprietatile luminii(3)
luminii(3)

Saturaia sau puritatea - o msur a amestecului de alb ntr-o culoare pur;


permite s se fac distincie ntre rou i roz, ntre albastru i bleu, etc.

O culoare pur are saturaia 100%.

Lumina acromatic are saturaia 0%.

Culoarea este data de lungimea de unda dominanta.


Ew=0 culoarea are puritatea 100% : monocromatica
(largime de banda de un nanometru)

Cea mai cunoscut dintre teoriile privind formarea culorilor n sistemul ochi-creier este aceea
conform creia n retina ochiului uman exist trei tipuri de conuri, fiecare tip fiind sensibil la una
dintre culorile rou, verde i albastru.

4
EGC Redarea luminii in imagini
Proprietatile luminii(4)
luminii(4)

Culorile percepute de ochi sunt amestecuri de culori pure.

Senzitivitatea maxim corespunde luminii cu lungimea de


und n jur de 550 nm, perceput ca galben-verde.

Culorile rou (Red), verde(Green) i albastru (Blue) se numesc culori primare.


Prin amestecul lor n proporii egale se obine alb.
Dou culori care prin amestec produc lumin alb se numesc complementare.
Culorile complementare culorilor primare sunt : cian (Cyan), magenta (Magenta), galben (Yellow).

5
EGC Redarea luminii in imagini
Proprietatile luminii(5)
luminii(5)

Amestecnd dou culori primare in proportii egale se obine culoarea complementar celei de a
treia:
R G B
C M Y
De exemplu, albastru+verde=cian, rou+verde=galben, rou+albastru= magenta.

Culorile rou, verde i albastru se numesc i primitive aditive deoarece ele permit formarea de
nuane prin adunarea lor n diferite proporii.

Acest mod de definire a culorilor corespunde echipamentelor emitoare de lumin (dispozitive


de vizualizare cu ecran).

6
EGC Redarea luminii in imagini
Proprietatile luminii(6)
luminii(6)

Culorile cian, magenta, galben se numesc primitive extractive.

Se obtin prin extragerea culorilor primare din lumina alba:

cian = alb-rou, magenta = alb-verde, galben = alb-albastru R G B


C M Y
Se folosesc pentru a defini culorile reflectate de un document imprimat: pigmenii existeni n
cernelurile tipografice absorb culorile complementare acelora ale pigmenilor.

Ex: pigmentul de culoare magenta absoarbe din lumina incident componentele corespunztoare

luminii verde, iar cel de culoare galben, componentele corespunztoare luminii albastre.

 O suprafa care conine pigmeni magenta i galben va reflecta (sau transmite) lumin roie.

C, M, Y permit specificarea de nuane prin extragerea lor n diferite proporii din alb. Sczndu-le n
proporii egale din alb se obin diferite nuane de gri.

7
EGC Redarea luminii in imagini
Modele de culoare(1)
culoare(1)

Orientate ctre echipamente


se bazeaz pe culorile primare folosite de echipamente pentru redarea culorilor:

RGB, CMY i YIQ.

Orientate ctre utilizator


se bazeaz pe proprietile psiho-fiziologice ale culorilor :

HSV i HLS.

8
EGC Redarea luminii in imagini
Modele de culoare(2)
culoare(2)

Un model de culoare specific un sistem de coordonate 3D i un subspaiu al culorilor


n sistemul de coordonate respectiv.

Fiecare culoare se reprezint printr-un punct n subspaiul culorilor.

Modelul RGB (Red, Green, Blue)

Rosu: 1,0,0
Verde: 0,1,0
Albastru: 0,0,1
Alb: 1,1,1; Negru: 0,0,0
Cian: 0, 1, 1 - culoarea complementara culorii Rosu !

9
EGC Redarea luminii in imagini
Modele de culoare(3)
culoare(3)

Modelul CMY (Cyan, Magenta, Yellow)

Cian: 1,0,0
Magenta: 0, 1, 0
Galben: 0,0,1
Alb: 0,0,0
Negru: 1,1,1
Rosu: 0, 1, 1 - Complementara culorii Cian!

Coversia RGB  CMY

[C M Y] = [1 1 1] - [R G B]

[R G B] = [1 1 1] - [C M Y]

10
EGC Redarea luminii in imagini
Modele de culoare(4)
culoare(4)

Modelul HSV (Hue, Saturation, Value)


Model de culoare orientat catre utilizator

Artitii specific culorile prin tente, nuane i tonuri

0<= V<= 1, 0<= S <= 1, 0<= H <= 360

V=1 baza hexaconului


S=0 - pe axa hexaconului
H=0 - culoarea Rosu
Culorile complementare la 180 grade pe baza hexaconului

Hexaconul din figura reprezinta subspatiul culorilor in modelul HSV

11
EGC Redarea luminii in imagini
Modele de culoare(5)
culoare(5)

Modelul HLS (Hue, Lightness, Saturation)

Culorile primare cu saturaie maxim i complementarele lor sunt reprezentate prin S=1, L=0.5.

12
EGC Redarea luminii in imagini
Modele de culoare(6)
culoare(6)

Interpolarea n spaiul culorilor

Rezultatul interpolrii ntre dou culori depinde de modelul de culoare n care sunt specificate.

Fie dou culori specificate n modelul RGB, C1=(1,0,0) i C2=(0,1,0). Le interpolm cu ponderi
egale n modelele RGB i HSV:

Interpolare in modelul RGB:


C=t*C2 + (1-t)*C1 unde t=0.5, se obine
C=(0.5, 0.5, 0), care convertit n HSV ne d (60, 1, 0.5)

Interpolare in modelul HSV:


C1 se reprezint n HSV prin (0, 1, 1) iar
C2 prin (120, 1, 1)
C= 0.5*(0,1,1) + 0.5*(120,1,1) = (60, 1, 1)

13
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(1)
luminii(1)
Caracteristicile luminii reflectate de suprafaa unui obiect depind de :

lungimile de und coninute n lumina incident,

direcia i geometria sursei luminoase,

orientarea suprafeei

proprietile materialului din care este construit suprafaa.

Expresia care modeleaz intensitatea luminii reflectate ntr-un punct al unei suprafee este definit

pentru o suprafa necolorat i o lumin incident monocromatic, deci caracterizat printr-o

anumit lungime de und, .

In cazul general, lumina reflectat nu este monocromatic, de aceea pentru calculul su expresia ar

trebui s fie evaluat continuu pe ntregul domeniu al spectrului de modelat.

In practic, expresia se evalueaz separat pentru cele trei culori de baza, R, G, B.

14
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(2)
luminii(2)

Aproximarea reflexiei difuze intr-un punct al unei suprafete 3D

Lumina reflectat difuz de o suprafa este dispersat regulat n toate direciile.


Legea lui Lambert definete reflexia luminii provenite de la o surs punctiform, de ctre un
difuzor perfect:
Id=Isursa * kd * cos(i) 0<= i <= /2

Isursa este intensitatea luminii incidente (provenita de la sursa de lumina)


kd este coeficientul de difuzie a luminii incidente, dependent de materialul
suprafetei
0<=kd<=1.

Dac i este mai mare ca /2, suprafaa nu primete lumin de la surs (sursa de lumin se afl
n spatele suprafeei).

15
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(3)
luminii(3)
Lumina ambianta
- Modeleaza lumina provenind de la celelelte obiecte ale scenei 3D: sursa de lumina distribuita uniform in
spatiu

Id = Ia * ka + Isursa * kd* cos(i)


0 <= i <= /2
unde
Ia este intensitatea luminii ambiante iar
( 0<= ka<= 1) este coeficientul de difuzie a luminii ambiante, dependent de materialul suprafetei.

Sursa directionala: sursa aflata la distanta foarte mare (infinit) de suprafata

- Vectorul L este acelasi in orice punct al suprafetei

- Pentru 2 suprafete paralele, cu aceleasi proprietati de material, rezulta aceeasi Id  daca proiectiile lor
se suprapun, nu se vor distinge in imagine.

16
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(4)
luminii(4)
Modelarea distantei de la sursa de lumina la suprafata
Intensitatea luminii descrete proporional cu inversul ptratului distanei de la sursa de lumin la obiect
Id = Ia* ka + fat * Isursa* kd* cos(i)

fat = 1/d2 este o funcie de atenuare a luminii provenita de la o sursa


d este distana de la surs la punctul de pe suprafa considerat.
Corecia nu satisface cazurile n care sursa este foarte ndeprtat: atenuare prea mare

Dac sursa este la distan foarte mic de scen, intensitile obinute pentru dou suprafee cu acelai
unghi i, ntre L i N, vor fi mult diferite.
Se foloseste:
fat = min(1/(c1 + c2*d + c3*d2), 1)
c1, c2 i c3 sunt trei constante care se asociaz sursei de lumin.
Constanta c1 se alege astfel nct numitorul s nu devin prea mic atunci cnd sursa este
foarte apropiat.
Valoarea funciei este limitat la 1 pentru a se asigura atenuarea.
17
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(5)
luminii(5)
Lumina incidenta poate contine mai multe lungimi de unda:  reflectate in mod diferit de o suprafata
Suprafata poate fi colorata  absorbtia, transmisia, reflexia depind de culoarea suprafetei.

 Expresia luminii reflectate se evalueaza separat pentru cele 3 componente ale luminii incidente, R,G,B:
Id = Ia *ka + fat*Isursa *kd *cos(i)
: lungimea de unda
Se calculeaza IdR, IdG, IdB. Ex:
IdR = IaR * kaR + fat*IsursaR*kdR*cos(i)
kaR, kdR coeficientii de difuzie a componentei Rosu din lumina ambianta si lumina incidenta
In OpenGL, ka (kaR, kaG, kaB) si kd sunt numite: culoarea ambianta si culoarea difuza a materialului.

Stiind c
cos(i)=L N / (|L||N|) = LuNu
rezulta: I = Ia*ka + fat*Isursa *kd* (Lu Nu)
Pentru a include si cazul in care i> /2 (lumina de la sursa nu ajunge in punctul considerat):
I = Ia*ka + fat*Isursa *kd* max((Lu Nu), 0)

18
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(6)
luminii(6)
Reflexia specular
Un reflector perfect, de exemplu o oglind, reflect lumina numai ntr-o singur direcie, R,
care este simetric cu L fa de normala la suprafa  numai un observator situat exact pe
direcia respectiv va percepe raza reflectat:

Pentru materialele imperfect reflectante cantitatea de lumin care ajunge la observator depinde de
distribuia spaial a luminii reflectate specular:
 la suprafeele netede (ex. metale) distribuia este dreapt i focalizat;
 la suprafeele cu rugoziti (ex. hartia) ea este dispersat.
 se aproximeaza prin cos()n (modelul Bui-Tuong Phong) unde n este exponentul de
reflexie specular al materialului.
19
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(7)
luminii(7)
Modelul Phong pentru aproximarea reflexiei speculare intr-un punct al unei
suprafete 3D

Is = Isursa * w(i, ) * cos()n


w(i, ) este funcia de reflectan, i- unghiul de inciden iar -lungimea de und a luminii incidente

In practica, w(i, ) este nlocuit cu o constant determinat experimental, numit coeficientul de


reflexie specular al materialului.

cos()=R V / (|R||V|) = RuVu

Rezulta:
Is = Isursa*fat*ks*(Ru Vu)n

Pentru a include si cazul in care = 90:


Is = Isursa*fat*ks* max ((Ru Vu)n , 0)

20
EGC Redarea luminii in imagini
Modelul de iluminare locala(1)
locala(1)

Reflexia speculara nu poate avea loc daca in punctul considerat nu se primeste lumina de la
sursa: Is = lum* Isursa*fat*ks* max ((Ru Vu)n , 0)
lum = 1 daca (Lu Nu) > 0
= 0 altfel

Modelul de iluminare locala:

I = Ia*ka + fat*Isursa [kd*max((Lu Nu),0) + lum*ks*max((Ru Vu)n ,0)]

Dac scena 3D este luminat de m surse de lumin:

I = Ia*ka + fati*Isursai*[kd*max((Lui Nu),0) + lumi *ks*max((Rui Vu)n,0)]


1<=i<=m

21
EGC Redarea luminii in imagini
Modelul de iluminare locala(2)
locala(2)

Calculul directiei luminii speculare

Vectorul R este simetricul vectorului L fa de N.


Proiecia lui Lu pe N este: Nu cos(i)

R = Nucos(i) + S , Nucos(i) = Lu + S  S = Nucos(i) Lu

Rezulta:

R = 2Nucos(i) - Lu = 2Nu(Lu Nu) - Lu

22
EGC Redarea luminii in imagini
Modelul de iluminare locala(3)
locala(3)

O alt formulare a modelului Phong se bazeaz pe vectorul median, notat cu H n figura.


El face unghiuri egale cu L i cu V.

Dac suprafaa ar fi orientat astfel nct normala sa s aib direcia lui H,


atunci observatorul ar percepe lumina specular maxim (deoarece ar fi pe direcia
razei reflectate specular).

Termenul care exprim reflexia specular este n acest caz:

Is = Isursa*fat*ks*(Nu Hu)n, unde Hu=(Lu+Vu) / |(Lu+Vu)|

Atunci cnd sursa de lumin i observatorul sunt la infinit, utilizarea termenului Nu Hu


este avantajoas deoarece Hu este constant (acelasi in toate punctele unei suprafate).

23
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (Shading models) (1)

Suprafaa se presupune a fi compus din faete poligonale. Ea poate fi reprezentarea exact


a unui corp poliedral sau reprezentarea aproximativ a unei suprafee curbe.

Modelul LAMBERT(1)
(Iluminare constanta sau plata)

Pentru fiecare poligon(faet) se calculeaz o singur intensitate, folosind expresia care


modeleaza intensitatea intr-un punct, de regula considerand numai componenta difuza:

Id = Ia *ka + fat*Isursa * [kd * max((Nu Lu),0) +


facing*max((Nu Hu)n,0)]

Nu este vectorul unitate normal la poligon


Lu este versorul direciei sursei de lumin,

28
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (2)
Modelul LAMBERT(2)

Modelul se bazeaz pe urmtoarele presupuneri:

sursa de lumin este la infinit (produsul scalar (Nu Lu) este atunci constant pe
ntreaga suprafa a poligonului);

observatorul este la infinit ( (Nu Hu ) este constant pe suprafaa poligonului);

poligonul face parte din suprafaa de vizualizat i nu este o aproximare a unui petic de
suprafa curb.

Dac primele dou cerine nu sunt satisfcute, se poate adopta o convenie de calcul al
vectorilor L i V pentru un ntreg poligon. De exemplu, cei doi vectori pot fi calculai n
centrul poligonului.

29
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (3)
Modelul LAMBERT (3)

 Dac ultima cerin nu este ndeplinit, intensitile calculate pentru faete adiacente cu
orientare diferit vor fi diferite, evideniindu-se aproximarea suprafeei curbe prin reeaua
de faete poligonale.

 Percepia diferenei de intensitate dintre faetele adiacente este accentuat de efectul


de band Mach (descoperit de Mach n 1865), cauzat de inhibiia lateral a receptorilor
din ochi: cu ct un receptor primete mai mult lumin cu att mai mult receptorul va
inhiba rspunsul receptorilor adiaceni lui.

 Efectul de band Mach mrete percepia schimbrii de intensitate pe laturile faetelor


adiacente.

30
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (4)
Modelul GOURAUD(1)

Se calculeaz o culoare n fiecare vrf al suprafeei de vizualizat pe baza unui model de iluminare local.

Culorile fragmentelor interioare suprafeei sunt obinute prin interpolarea liniar a culorilor din
vrfuri, pe parcursul rasterizarii fiecarei fatete a retelei poligonale.

1. Culoarea intr-un varf se calculeaza folosind normala in varf:

- calculata din ecuatia analitica a suprafetei care a fost descompusa in retea poligonala si atasata
fiecarui varf in programul de aplicatie, sau

- aproximata ca medie aritmetica a normalelor la fatetele adiacente in varf


2. La rasterizarea unei fatete a retelei, se calculeaza culoarea fiecarui fragment rezultat astfel:
- prin interpolarea liniara a culorilor varfurilor, pentru fragmentele de pe laturi
- prin interpolare liniara intre culorile capetelor fiecarui segment interior, pentru fragmentele
interioare fatetei

31
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (5)
Modelul GOURAUD(2)
Interpolarea liniara
y = y1 +t (y2 y1)  tP = (yS y1)/(y2 y1)
IP = I1 + tP (I2 I1) = I1 + (I2 I1) (yS-y1) / (y2-y1)
IQ = I1 + (I4 I1) (yS-y1) / (y4-y1)
x = xP + t(xQ xP)  tM = (xM xP)/(xQ xP)
IM = IQ + tM (IQ IP) = IQ + (IQ IP) (xM - xP) / (xQ - xP)

Calculul incremental al culorilor:

IP = I1 + (I2 I1) (yS+1 y1) / (y2 y1) = IP + (I2 I1) / (y2 y1)
IP = IP + C1-2 , C1-2 o constanta a laturii 1-2
analog,
IQ = IQ + C1-4
M (xM + 1, ys)
IM = IQ + (IQ IP) (xM +1 - xP)  IM = IM + CP-Q , CP-Q o constanta a segmentului P-Q
32
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (6)
Modelul GOURAUD (3) aprecieri

- Se integreaza foarte usor in algoritmii de rasterizare


- Calcule simple pentru culoarea unui fragment (calcul incremental)  rapid
- Se lucreaza numai cu componenta difuza a luminii reflectate

- Nu permite calculul luminii reflectate specular pentru fragmentele interioare unei fatete (culorile
fragmentelor interioare nu pot fi mai mari decat cele din varfuri)

- Nu elimina complet efectul de banda Mach:

- Asigura continuitatea numerica a valorilor intensitatilor la traversarea laturilor


poligoanelor adiacente (culorile pe latura de adiacenta a 2 poligoane sunt aceleasi)

- Nu tine cont de tangentele la fetele adiacente pe o latura (culorile de pe laturi se calculeaza


folosind numai culorile din varfuri)

- Efectul de banda Mach poate fi observat in vecinatatea siluetei suprafetei si a zonelor de


curbura mare
33
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (7)
Modelul PHONG(1)

In acest model:
Se calculeaza o normala in fiecare varf al suprafetei, la fel ca in modelul Gouraud
Pentru fiecare fragment rezultat din rasterizarea (fatetelor) suprafetei se calculeaz o normala prin
interpolare liniara intre normalele varfurilor
Culoarea pentru fiecare fragment interior suprafetei se obtine pe baza normalei interpolate, folosind
un model de iluminare local

La rasterizarea unei fatete a retelei poligonale se calculeaza o normala pentru fiecare


fragment astfel:

- prin interpolarea liniara a normalelor varfurilor, pentru fragmentele de pe laturi (la fel ca in modelul
Gouraud, pentru culori);

- prin interpolare liniara intre normalele capetelor fiecarui segment interior, pentru fragmentele
interioare fatetei (la fel ca in modelul Gouraud, pentru culori)

34
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (8)
Modelul PHONG (2)
- Componentele Nx, Ny, Nz ale normalei unui fragment se pot obine printr-un calcul incremental
(analog cu cel folosit pentru calculul culorilor in modelul Gouraud) dar, pentru folosirea n calculul
culorii, normala trebuie s fie normalizat:

Nu = N/|Nu|, unde |N| = (Nx2 + Ny2 + Nz2)0.5

 Calcule mai complexe la nivel de fragment decat in modelul Gouraud

- Permite redarea reflexiei speculare in orice fragment al suprafetei

- Reduce mult efectul de banda Mach

 Modelul Gouraud este implementat pe placa grafica si poate fi selectat din OpenGL apeland:

glShadeModel(GL_SMOOTH)

 Modelul Phong poate fi implementat intr-un program fragment shader scris de programator.

35
EGC Redarea luminii in imagini
MODELAREA TRANSPARENTEI (1)

Unele obiecte ale scenei sintetizate pot fi construite din materiale transparente sau
translucide.
Transmisia luminii prin obiectele transparente este specular, n timp ce prin cele
translucide este difuz.

 Atunci cnd lumina trece dintr-un mediu ntr-altul (de exemplu, din aer n ap),
direcia sa se modific datorit refraciei.
 Relaia dintre unghiul razei incidente, i, i cel al razei refractate, r, este dat de
legea lui Snell:

sin(i
sin(i)/sin(r) = n1/n2

n1 i n2 sunt indicii de refracie ai celor dou medii


(materiale) traversate de lumin.

2
EGC Transparenta,
Transparenta, ceata si umbre
MODELAREA TRANSPARENTEI (2)

Indicele de refracie al unui material este dependent de lungimea de und a luminii incidente i
chiar de temperatur, dar n modelele de iluminare el este considerat constant.

Culoarea vizibila intr-un punct al unei suprafete transparente provine de la obiectul aflat pe
directia razei transmise.

3 si 4 sunt poligoane opace


1 si 2 sunt poligoane transparente, aflate in fata poligoanelor 3 si 4
a si b sunt raze de lumina provenind de la surse, incidente in P si Q

Tinand cont de refractie: Neglijand refractia


- Culoarea in P este data de poligonul 4 - Culoarea in P este data de poligonul 3
- Culoarea in Q este data de poligonul 3 - Culoarea in Q este data de poligonul 4

3
EGC Transparenta,
Transparenta, ceata si umbre
MODELAREA TRANSPARENTEI (3)

 Refracia produce, de asemenea, o distorsionare a obiectelor, asemntoare cu aceea


produs de o proiecie perspectiv:  dac se dorete obinerea de imagini realiste, trebuie
s se in cont de refracie.

 Multe metode practice de modelare a transparenei ignor refracia, astfel nct obiectele
vizibile printr-o suprafa transparent sunt cele aflate pe direcia razei incidente.
Motivul ignorrii:
- reducerea volumului de calcule;
- obinerea realismului fotografic n totalitate ( fara deformare)

Atunci cnd suprafaa vizibil ntr-un pixel este transparent, culoarea n care va afiat pixelul
se poate obine combinnd culoarea suprafeei vizibile cu aceea a suprafeei aflat imediat n
spatele su, folosind urmtoarea formul de interpolare:

4
EGC Transparenta,
Transparenta, ceata si umbre
MODELAREA TRANSPARENTEI (4)

I = (1-kt1)*I1 + kt1*I2

Coeficientul de transmisie, kt1 msoar transparena suprafeei vizibile n pixel,

0<= kt1 <=1.

kt1 = 0  suprafaa vizibil este opac i deci pixelul va fi afiat n culoarea sa, I1;

kt1 = 1  suprafaa vizibil este perfect transparent i nu contribuie la culoarea pixelului.


Pixelul va fi afiat n culoarea suprafeei din spate, I2

Dac kt1=1 i suprafaa din spatele celei vizibile este la rndul su transparent, metoda
de calcul se aplic recursiv, pn cnd se ntlnete o suprafa opac sau fondul.

Aproximarea liniar din model nu d rezultate bune pentru suprafeele curbe: n apropierea
laturilor siluetei unei suprafee curbe (de exemplu, o vaz sau o sticl) grosimea materialului
reduce transparena.

Solutia propusa de Kay: kt se calculeaza in functie de normala la suprafata in punctul considerat.

5
EGC Transparenta,
Transparenta, ceata si umbre
MODELAREA TRANSPARENTEI (5)

kt = ktmin + (ktmax ktmin)(1-(1-Nz)m)

unde

ktmin i ktmax reprezint transparena minim i cea maxim a suprafeei,

Nz este componenta z a normalei normalizate la suprafa n punctul pentru care se calculeaz


kt, iar

m este un exponent ce caracterizeaz transparena. Valorile uzuale pentru m sunt 2 i 3.

 Majoritatea algoritmilor de determinare a vizibilitii suprafetelor la afiarea scenelor


3D pot fi adaptai pentru a ngloba transparena.

 In algoritmii care afieaz poligoanele scenei 3D n ordinea din spate n fa (back to front),
de ex. algoritmul Pictorului i BSP, I1 corespunde poligonului care se rasterizeaza la un
moment dat iar I2 este valoarea existent n memoria imagine pentru pixelul considerat.

6
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(1)
IMAGINI(1)

 Atunci cnd un observator privete o scen 3D luminat de o surs de lumin dintr-o poziie
diferit de aceea a sursei de lumin, va vedea umbrele produse de obiectele scenei.

 Umbrele au o contribuie nsemnat la realismul imaginii, mbuntind percepia profunzimii.

In general, se considera numai umbra pura:


calcule mai simple.

Volumul de calcule depinde i de poziia sursei de lumin:


 Dac sursa este la infinit calculele sunt mai simple.
 In cazul unei surse situate la distan finit dar n afara cmpului vizual, este necesar o
proiecie perspectiv din poziia sursei.
 Cazul cel mai dificil este acela n care sursa este situat n cmpul vizual.

13
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(2)
IMAGINI(2)

 Problema determinrii umbrelor este similar aceleia de determinare a vizibilitii


obiectelor: suprafeele care nu sunt vizibile din poziia sursei de lumin sunt n umbr.

 Crearea unei imagini cu umbre presupune rezolvarea de dou ori a problemei


suprafeelor nevizibile: o dat privind scena din poziia fiecrei surse de lumin, a
doua oar privind-o din poziia observatorului.

 Sunt dou tipuri de umbre: umbre proprii i umbre purtate.

14
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(5)
IMAGINI(5) VOLUME DE UMBRE

 Sursa de lumin este considerat punctiform iar obiectele ca avnd faete poligonale.
 Un volum de umbr este definit de o surs de lumin i un poligon luminat (vizibil din
poziia sursei de lumin), pe care-l vom numi poligonul generator.

 Fiecare fa lateral a volumului este numit poligon de umbr. Ea este determinat de


o latur a poligonului generator i de cele dou drepte care pleac din sursa de lumin,
fiecare trecnd printr-un vrf al laturii.
 Normalele la feele laterale puncteaz nspre exteriorul volumului.

17
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(6)
IMAGINI(6) VOLUME DE UMBRE
 Volumul infinit determinat de o surs i un poligon generator este delimitat de o fa care
reprezint poligonul generator scalat. Aceast fa este situat la o distan fa de surs
dincolo de care intensitatea luminii sursei este neglijabil, deci orice punct aflat dincolo de
aceast limit este umbrit.
 Volumul de umbr poate fi decupat la marginile volumului vizual.
 Poligoanele de umbr se folosesc pentru determinarea umbririi produse de poligonul
generator n scen.

Notm cu :
PUV poligoanele de umbr care sunt vizibile din poziia
observatorului (A i B n figura) i cu
PUN poligoanele de umbr care nu sunt vizibile din poziia
observatorului (de exemplu, poligonul C).
Clasificarea poligoanelor de umbra in PUV si PUN se poate face
pe baza normalelor la poligoane (back face culling).

18
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(7)
IMAGINI(7) VOLUME DE UMBRE
Fie
un punct P al unei suprafee i
VP vectorul din poziia observatorului (V) n punctul P.
Punctul P este umbrit dac numrul de poligoane
de tip PUV intersectate de vectorul VP este mai mare
dect numrul de poligoane de tip PUN intersectate de vector.
Acesta este singurul caz, atunci cnd punctul V nu este n umbr.

 In general, pentru a determina dac un punct este n umbr, se poate folosi un contor n
care iniial se memoreaz numrul de volume de umbr care conin poziia observatorului.
Se asociaz poligoanelor de tip PUV valoarea +1 iar celor de tip PUN valoarea -1.
Atunci cnd vectorul VP traverseaz un poligon de umbr, se adun la contor
valoarea asociat poligonului.
Punctul P este umbrit dac valoarea contorului este pozitiv n P.

19
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(8)
IMAGINI(8) VOLUME DE UMBRE

 Volumul de calcul presupus de acest algoritm poate fi redus dac n loc s se calculeze
volumul de umbr pentru fiecare poligon vizibil din poziia sursei, se calculeaz un singur volum
de umbr pentru o suprafa poliedral. In acest scop, se determin poligoanele de umbr
numai pentru laturile care fac parte din silueta suprafeei, vzut din poziia sursei.

 Silueta unei suprafee, corespunztoare unui punct de observare, este un set conectat de
laturi care aparin poligoanelor vizibile din punctul de observare.
 O latur de siluet este fie o latur de margine a unei suprafee deschise, fie o latur
care separ un poligon vizibil de unul nevizibil.
Pentru determinarea laturilor de siluet, este necesar s se foloseasc o structur de
date care reflect adiacena poligoanelor. Cunoscndu-se poligonul adiacent
pe fiecare latur a fiecrui poligon vizibil din poziia observatorului, se pot determina rapid
laturile de siluet.

20
EGC Transparenta,
Transparenta, ceata si umbre

S-ar putea să vă placă și