Professional Documents
Culture Documents
Mihai-Sorin Stupariu
Despre...
Despre pixeli
I Fie P centru al unui pixel virtual. Determinăm ı̂n continuare forma
coordonatelor sale.
Despre pixeli
I Fie P centru al unui pixel virtual. Determinăm ı̂n continuare forma
coordonatelor sale.
I Fie nx numărul de coloane şi ny numărul de linii din structura de
pixeli.
Despre pixeli
I Fie P centru al unui pixel virtual. Determinăm ı̂n continuare forma
coordonatelor sale.
I Fie nx numărul de coloane şi ny numărul de linii din structura de
pixeli.
I Un pixel real s este dat de o pereche (i, j) ∈ N × N, cu
i = 0, . . . , nx − 1, j = 0, . . . , ny − 1, iar pixelul virtual asociat are
coordonatele
(r − l)
us = l + (i + 0.5)
nx
(t − b) (1)
vs = b + (j + 0.5)
ny
ns = ν
Despre pixeli
I Fie P centru al unui pixel virtual. Determinăm ı̂n continuare forma
coordonatelor sale.
I Fie nx numărul de coloane şi ny numărul de linii din structura de
pixeli.
I Un pixel real s este dat de o pereche (i, j) ∈ N × N, cu
i = 0, . . . , nx − 1, j = 0, . . . , ny − 1, iar pixelul virtual asociat are
coordonatele
(r − l)
us = l + (i + 0.5)
nx
(t − b) (1)
vs = b + (j + 0.5)
ny
ns = ν
Paşii algoritmului
Paşii algoritmului
Paşii algoritmului
Paşii algoritmului
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
I Raza dusă prin P0 care trece prin P are reprezentarea (ca dreaptă)
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
I Raza dusă prin P0 care trece prin P are reprezentarea (ca dreaptă)
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
I Raza dusă prin P0 care trece prin P are reprezentarea (ca dreaptă)
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
I Raza dusă prin P0 care trece prin P are reprezentarea (ca dreaptă)
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
I Raza dusă prin P0 care trece prin P are reprezentarea (ca dreaptă)
Reprezentarea razelor
I Fie P0 observatorul şi P un punct de pe ecranul virtual (coordonatele
sale sunt obţinute din ecuaţia (1), transferate ı̂n reperul de modelare.
I Raza dusă prin P0 care trece prin P are reprezentarea (ca dreaptă)
(1 − β − γ)a + βb + γc, β, γ ∈ R,
iar un punct situat pe laturile triunghiului sau ı̂n interiorul său poate fi
reprezentat sub formă de combinaţie convexă
(1 − β − γ)a + βb + γc, β, γ ∈ R,
iar un punct situat pe laturile triunghiului sau ı̂n interiorul său poate fi
reprezentat sub formă de combinaţie convexă
P0 + td = (1 − β − γ)a + βb + γc
P0 + td = (1 − β − γ)a + βb + γc
(X − P1 ) · p = 0.
(r (t) − P1 ) · p = 0,
(r (t) − P1 ) · p = 0,
(P1 − P0 ) · p
t0 = .
d·p
(r (t) − P1 ) · p = 0,
(P1 − P0 ) · p
t0 = .
d·p
I Pasul următor este de a stabili dacă, pentru t0 astfel determinat,
punctul r (t0 ) este pe laturile sau ı̂n interiorul poligonului, ceea ce
revine la a stabili dacă r (t0 ) poate fi exprimat sub formă de
combinaţie convexă a trei dintre vârfurile poligonului. Din punct de
vedere practic, dat fiind faptul că poligonul este convex, el poate fi
triangulat folosind un evantai de triunghiuri având un vârf comun (de
exemplu P1 ), fiind suficiente m − 2 teste.
Tehnica Ray Tracing 12 / 19
Aplicaţii - efecte vizuale
Umbre - figura
Umbre
Se presupune că scena reprezentată are o sursă de lumină (direcţională, cu
direcţia de propagare l); tehnica Ray Tracing poate fi aplicată pentru
determinarea umbrelor obiectelor din scenă.
Umbre
Se presupune că scena reprezentată are o sursă de lumină (direcţională, cu
direcţia de propagare l); tehnica Ray Tracing poate fi aplicată pentru
determinarea umbrelor obiectelor din scenă.
I Aplicarea Ray Tracing se face la nivel de pixel, pentru obiectele ce
sunt reprezentate.
Umbre
Se presupune că scena reprezentată are o sursă de lumină (direcţională, cu
direcţia de propagare l); tehnica Ray Tracing poate fi aplicată pentru
determinarea umbrelor obiectelor din scenă.
I Aplicarea Ray Tracing se face la nivel de pixel, pentru obiectele ce
sunt reprezentate.
I Fie M un punct analizat (de exemplu centrul unui pixel virtual),
aparţinând unui obiect ce trebuie reprezentat şi a cărui umbră trebuie
calculată.
Umbre
Se presupune că scena reprezentată are o sursă de lumină (direcţională, cu
direcţia de propagare l); tehnica Ray Tracing poate fi aplicată pentru
determinarea umbrelor obiectelor din scenă.
I Aplicarea Ray Tracing se face la nivel de pixel, pentru obiectele ce
sunt reprezentate.
I Fie M un punct analizat (de exemplu centrul unui pixel virtual),
aparţinând unui obiect ce trebuie reprezentat şi a cărui umbră trebuie
calculată.
I Se aplică RT(M, −l, ε, ∞) pentru a determina posibilele obiecte
situate ı̂n umbră (primul parametru este ε > 0 şi nu exact 0, pentru a
nu interpreta obiectul căruia ı̂n aparţine punctul M ca fiind interpus ı̂n
tre M şi sursa de lumină).
Umbre
Se presupune că scena reprezentată are o sursă de lumină (direcţională, cu
direcţia de propagare l); tehnica Ray Tracing poate fi aplicată pentru
determinarea umbrelor obiectelor din scenă.
I Aplicarea Ray Tracing se face la nivel de pixel, pentru obiectele ce
sunt reprezentate.
I Fie M un punct analizat (de exemplu centrul unui pixel virtual),
aparţinând unui obiect ce trebuie reprezentat şi a cărui umbră trebuie
calculată.
I Se aplică RT(M, −l, ε, ∞) pentru a determina posibilele obiecte
situate ı̂n umbră (primul parametru este ε > 0 şi nu exact 0, pentru a
nu interpreta obiectul căruia ı̂n aparţine punctul M ca fiind interpus ı̂n
tre M şi sursa de lumină).
I Dacă RT(M, −l, ε, ∞) returnează mulţimea vidă ∅ (i.e. nu există
obiect de intersecţie), se calculează culoarea pixelului cu formula
modelului de iluminare, iar ı̂n caz contrar se utilizează culoarea
umbrei.
Tehnica Ray Tracing 14 / 19
Aplicaţii - efecte vizuale
Reflexie - figura
Reflexie
ρ − δ = w = 2(−δ · s)s,
Reflexie
ρ − δ = w = 2(−δ · s)s,
ρ = δ − 2(δ · s)s.
Reflexie
ρ − δ = w = 2(−δ · s)s,
ρ = δ − 2(δ · s)s.
Refracţie - figura
Refracţie
I Fie δ direcţia razei incidente dintr-un mediu cu indicele de refracţie ν
şi % direcţia urmată după trecerea ı̂ntr-un mediu cu un indice de
refracţie mai mare, νt (a cărui frontieră este o suprafaţă S).
Refracţie
I Fie δ direcţia razei incidente dintr-un mediu cu indicele de refracţie ν
şi % direcţia urmată după trecerea ı̂ntr-un mediu cu un indice de
refracţie mai mare, νt (a cărui frontieră este o suprafaţă S).
I Notăm cu θ şi ϕ unghiurile formate de vectorii −δ şi −% cu normala s
la suprafaţa S.
Refracţie
I Fie δ direcţia razei incidente dintr-un mediu cu indicele de refracţie ν
şi % direcţia urmată după trecerea ı̂ntr-un mediu cu un indice de
refracţie mai mare, νt (a cărui frontieră este o suprafaţă S).
I Notăm cu θ şi ϕ unghiurile formate de vectorii −δ şi −% cu normala s
la suprafaţa S.
I Legea lui Snell stabileşte relaţia ı̂ntre aceste elemente
ν sin θ = νt sin ϕ.
Refracţie
I Fie δ direcţia razei incidente dintr-un mediu cu indicele de refracţie ν
şi % direcţia urmată după trecerea ı̂ntr-un mediu cu un indice de
refracţie mai mare, νt (a cărui frontieră este o suprafaţă S).
I Notăm cu θ şi ϕ unghiurile formate de vectorii −δ şi −% cu normala s
la suprafaţa S.
I Legea lui Snell stabileşte relaţia ı̂ntre aceste elemente
ν sin θ = νt sin ϕ.
I Considerând ca date de intrare δ, indicii ν, ν 0 , normala s şi punctul P,
se poate calcula vectorul %, care indică direcţia razei refractate
"s #
ν ν 2 (1 − (δ · s)2 ) ν
%= δ+ 1− − (δ · s) s.
νt νt2 νt
Refracţie
I Fie δ direcţia razei incidente dintr-un mediu cu indicele de refracţie ν
şi % direcţia urmată după trecerea ı̂ntr-un mediu cu un indice de
refracţie mai mare, νt (a cărui frontieră este o suprafaţă S).
I Notăm cu θ şi ϕ unghiurile formate de vectorii −δ şi −% cu normala s
la suprafaţa S.
I Legea lui Snell stabileşte relaţia ı̂ntre aceste elemente
ν sin θ = νt sin ϕ.
I Considerând ca date de intrare δ, indicii ν, ν 0 , normala s şi punctul P,
se poate calcula vectorul %, care indică direcţia razei refractate
"s #
ν ν 2 (1 − (δ · s)2 ) ν
%= δ+ 1− − (δ · s) s.
νt νt2 νt
Exerciţii
√
1. Fie P0 = (1, 5, 4) şi sfera S de centru (2, 2, 4) şi rază 2. Daţi
exemplu de vector r astfel ca raza dusă prin P0 având direcţia dată
de r să intersecteze sfera S ı̂n exact un punct.
2. Fie P0 = (3, 2, −1) şi vectorul r = (1, 2, 1). Daţi exemplu de sferă
S, indicând centrul şi raza acesteia, astfel ca raza dusă prin P0
având direcţia dată de r să intersecteze sfera S ı̂n exact un punct.