Documente Academic
Documente Profesional
Documente Cultură
1
Proprietatile luminii(1)
luminii(1)
Atunci cnd cade pe suprafaa unui obiect, ea poate fi: absorbit, reflectat sau transmis
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.
3
EGC Redarea luminii in imagini
Proprietatile luminii(3)
luminii(3)
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)
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.
6
EGC Redarea luminii in imagini
Proprietatile luminii(6)
luminii(6)
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)
HSV i HLS.
8
EGC Redarea luminii in imagini
Modele de culoare(2)
culoare(2)
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)
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!
[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)
11
EGC Redarea luminii in imagini
Modele de culoare(5)
culoare(5)
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)
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:
13
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(1)
luminii(1)
Caracteristicile luminii reflectate de suprafaa unui obiect depind de :
orientarea suprafeei
Expresia care modeleaz intensitatea luminii reflectate ntr-un punct al unei suprafee este definit
In cazul general, lumina reflectat nu este monocromatic, de aceea pentru calculul su expresia ar
14
EGC Redarea luminii in imagini
Modele empirice pentru calculul reflexiei
luminii(2)
luminii(2)
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
- 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)
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
Rezulta:
Is = Isursa*fat*ks*(Ru Vu)n
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
21
EGC Redarea luminii in imagini
Modelul de iluminare locala(2)
locala(2)
Rezulta:
22
EGC Redarea luminii in imagini
Modelul de iluminare locala(3)
locala(3)
23
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (Shading models) (1)
Modelul LAMBERT(1)
(Iluminare constanta sau plata)
28
EGC Redarea luminii in imagini
Calculul culorii fragmentelor la redarea
suprafetelor 3D (2)
Modelul LAMBERT(2)
sursa de lumin este la infinit (produsul scalar (Nu Lu) este atunci constant pe
ntreaga suprafa a 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.
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.
- calculata din ecuatia analitica a suprafetei care a fost descompusa in retea poligonala si atasata
fiecarui varf in programul de aplicatie, sau
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)
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
- Nu permite calculul luminii reflectate specular pentru fragmentele interioare unei fatete (culorile
fragmentelor interioare nu pot fi mai mari decat cele din varfuri)
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
- 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:
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
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
EGC Transparenta,
Transparenta, ceata si umbre
MODELAREA TRANSPARENTEI (3)
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
kt1 = 0 suprafaa vizibil este opac i deci pixelul va fi afiat n culoarea sa, I1;
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.
5
EGC Transparenta,
Transparenta, ceata si umbre
MODELAREA TRANSPARENTEI (5)
unde
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.
13
EGC Transparenta,
Transparenta, ceata si umbre
INTRODUCEREA UMBRELOR IN
IMAGINI(2)
IMAGINI(2)
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.
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