continut curs
DESCRIPTION
Continut curs. Introducere Transformari grafice 2D Transformarea de vizualizare 2D Transformari grafice 3D Proiectii plane Transformarea de vizualizare 3D (cu exemplificare pentru OpenGL) Algoritmi de decupare linii, poligoane Algoritmi de rasterizare a primitivelor grafice bidimensionale - PowerPoint PPT PresentationTRANSCRIPT
1
Continut curs
Introducere Transformari grafice 2D Transformarea de vizualizare 2D Transformari grafice 3D Proiectii plane Transformarea de vizualizare 3D
(cu exemplificare pentru OpenGL) Algoritmi de decupare linii,
poligoane Algoritmi de rasterizare a
primitivelor grafice bidimensionale Algoritmi de eliminare a partilor
nevizibile Modele de culoare. Generarea
luminilor si umbrelor in imagini.
2
Bibliografie
Mathematical Elements for Computer Graphics: D.F. Rogers, J. A. Adams, McGraw-Hill
Computer Graphics: Principles and Practice: J. Foley, A. van Dam, Addison-Wesley
3d Computer Graphics: A. Watt, Addison-Wesley
Grafica pe calculator: F. Moldoveanu, S. Petrescu, etc, Teora
3
Activitate pe parcurs: 60 de puncte
Laborator: 15 puncte (5 puncte bonus)
4 Teme : 45 puncte (5 puncte bonus) 2 teme Java, 2 teme OpenGL
tema1 – 10 p (24 octombrie - 7 noiembrie)
tema2 – 10 p (7 noiembrie-21 noiembrie)tema3 – 10 p (21 noiembrie-5 decembrie)tema 4 – 15 p (12 decembrie-9 ianuarie)
Examen final: 40 de puncte
Notare
4
Activitate pe parcurs
Fiecare tema trebuie atat uploadata cat si prezentata
Depunctarea temelor pe motiv de intarziere se face pana la 6 puncte (0.25ppe fiecare zi de intarziere)
Depunctarea se face luand ca referinta momentul in care a fost uploadata
Copierea temelor atrage dupa sine anularea punctajului pe toataactivitatea din timpul semestrului (implicit nepromovarea materiei)
fiecare tema are data ei de prezentare; temaX mai poate fi prezentata si la data
de prezentare pentru temaX+1; In ultima saptamana (la data de
prezentare a temei 4) se mai poate prezenta oricare din temele 1,2 si 3 dar numai o singura tema intre acestea
se accepta mutarea de la un laborator la altul, dar numai cu acordul celor 2 asistenti
5
Reguli de promovare
Conditii minimale: Pentru participare la examenul
final: minim 50% din activitatea de pe parcurs (cel putin 2 teme: 1 tema Java si 1 tema OpenGL)
Pentru promovare: minim 50% la examenul final
Restanta (septembrie 2011): pentru participare minim 30% din activitatea pe parcurs (se pot recupera max 15 puncte din activitatea de pe parcurs)
6
Grafica pe calculator
Grafica pe calculator se ocupa de sinteza picturala a unor obiecte imaginare sau reale pe baza unor modele construite cu ajutorul calculatorului.
Producerea, gestionarea si afisarea imaginilor si animarea acestora folosind calculatorul
7
Grafica pe calculator
•Procesare de imagini
•Interfete/editoare
•Realitate virtuala
•Programe de animatie
•Grafica volumetrica medicina
•Fotografie digitala
•Sisteme CAD/CASE
•Arta
•Educatie
•Jocuri/filme/reclame
8
Grafica pe calculator
Grafica pe calculator
Sisteme de sinteza
Sisteme de analiza a
imaginilor
Sisteme de prelucrare a imaginilor
Sisteme de animatie
9
Sisteme de sinteza
modelul imaginii
algoritm de sinteza
imagine afisata
unitate de afisare
imagine binara
utilizator
programaplicatie
10
Sisteme de analiza
imagine binara
analiza
model de nivel inalt
analiza de nivel inalt
model de nivel coborat
11
Sisteme de prelucrare
imagine binara
imagine afisata
unitate de afisare
algoritm de prelucrare
imagine binara
imbunatatita
12
Grafica interactiva
Sistem grafic/UPG
HardwareSoftware
Biblioteca
grafica
Programaplicatie
Modelul aplicatiei/baza de
date
13
Etapele unei aplicatii grafice
Etapa aplicatie Etapa geometrie Etapa randare
Etapa aplicatie: Specificare modele Stabilirea pozitiei camerei Interactiunile utilizator –
modele Calculele necesare animatiei
Aplicatie Geometrie
Randare
14
Etapele unei aplicatii grafice
Etapa geometrie: Transformari Iluminare Proiectie Decupare Maparea in coordonate
ecran
Etapa randare: algoritm de umplere (trasare
linie, umplere poligon, etc) Z-buffer Texturare
15
Dispozitive grafice de afisare raster
Scan Line
Raster
Pixel
• Raster– displayuri, imprimante laser
• Matrice de pixeli
16
Dispozitive grafice de afisare raster
Primitive prin contur
Primitive cu interior
Revenire orizontala
Revenire verticala
Scan Line
Aliasing
17
Transformari grafice 2D
X
Y
O
P(x,y) P’(x’,y’)
Transformarea unui punct raportat la un sistem de coordonate fix -> TRANSFORMARI
GEOMETRICE
X
Y
O
P(x,y)
X’
Y’
O’
Transformarea sistemului de coordonate si raportatrea unui punct raportat la noul sistem de coordonate -> TRANSFORMARI ALE SISTEMELOR DE
COORDONATE
18
Transformari geometrice 2D
Transformari geometrice elementare Translatia Scalarea fata de origine Rotatia fata de origine Oglindirea Forfecarea
19
Translatia
X
Y
O
tx
ty
tx, ty – factori de translatie pe axa ox, respectiv oy x’ = x + tx
y’ = y + ty
Sunt pastrate lungimile Sunt pastrate unghiurile
P
P’
P(x, y) P’(x’, y’)
20
sx, sy – factori de scalare pe axa ox, respectiv oy
Nu se pastreaza lungimile Nu se pastreaza unghiurile
ysy
xsx
y
x
'
'
2
3
y
x
s
s
1
2
1
3
2
6
2
9
Scalarea fata de origine
21
x’ = x cos Ө – y sin Ө y’ = x sin Ө + y cos Ө
Se pastreaza lungimile si unghiurile
Rotatia fata de origine
Rotatia cu unghiul fata de origine
22
Reprezentarea matriceala a
transformarilor geometrice
• Se folosesc coordonate omogene– (xc, yc) (xw, yw, w)
xw = xc * w
yw = yc * w (xw, yw, w) (xc, yc)
xc = xw / w
yc = yw / w
Punctele reprezentate in coordonate omogene:
1yx
sau 1] y[x
23
Reprezentarea matriceala a
transformarilor geometrice
Translatia
24
Reprezentarea matriceala a
transformarilor geometrice
• Scalarea fata de origine
linie) (vectori
1 0 00sy 00 0sx
1]y [x 1] y' [x'
coloana) (vectori
1yx
1 0 00sy 00 0sx
1y'x'
25
Reprezentarea matriceala a
transformarilor geometrice
• Rotatia fata de origine
linie) (vectori
1 0 0
0 cos(u) sin(u)-0 sin(u) cos(u)
1]y [x 1] y' [x'
coloana) (vectori
1
y
x
1 0 0
0 cos(u) sin(u)
0 sin(u)- cos(u)
1
y'
x'
26
Transformari geometrice elementare
Translatia:
Scalarea fata de origine
Rotatia fata de origine
1
y
x
ty)T(tx,
1
y'
x'
1
y
x
sy)S(sx,
1
y'
x'
1
y
x
R(u)
1
y'
x'
27
Compunerea transformarilor
Translatie cu tx=6, ty=0 si rotatie si 45º
Rotatie cu 45º si translatie cu tx=6, ty=0
0 1
1
2
2
3 4 5 6 7 8 9 10
3
4
5
6
Y
X 0
1
1
2
2
3 4 5 6 7 8 9 10
3
4
5
6
28
Transformari geometrice
elementare - inverse• Translatia
inversa:
• Scalarea inversa fata de origine
• Rotatia inversa fata de origine
ty)- T(-tx, ty)(tx,1-T
)sy1,sx
1S( ty)(tx,1-S
R(-u) (u)1-R
29
Scalarea fata de un punct fix F
Translatie astfel incat punctul F sa ajunga in origine: T(-xf, -yf)
Scalarea fata de origine S(sx, sy) Translatia inversa de la punctul 1:
T(xf, yf)
x
y
P(x,y)P'(x',y')
O
F(xf, yf)
1yx
yf)- T(-xf, sy) S(sx, yf)T(xf, 1
''
yx
30
Rotatia fata de un punct fix F
x
y
P(x,y)
P'(x',y')
O
F(xf, yf)
u
• Translatie astfel incat punctul F sa ajunga in origine: T(-xf, -yf)
• Rotatia fata de origine: R(u)• Translatia inversa de la
punctul 1: T(xf, yf)
1yx
yf)- T(-xf, R(u) yf)T(xf, 1
''
yx
31
Transformari geometrice
• Oglindirea fata de ox
1xOxO
1yx
1 0 0 0 1- 0 0 0 1
1y'x'
y- y'
x x'
x
y
O
x
y
O
32
Transformari geometrice Oglindirea fata de
oy
x
y
O
y y'
x- x'
1yOyO
1
y
x
1 0 0
0 1 0
0 0 1-
1
y'
x'
x
y
O
33
Transformari geometrice
• Oglindirea fata de origine
x
y
O
y- y'
x- x'
1
1
y
x
1 0 0
0 1- 0
0 0 1-
1
y'
x'
oo OO
x
y
O
34
Transformari geometrice
• Oglindirea fata de o dreapta oarecare d
x
y
O
uP1(x1,y1)
P2(x2,y2)
d
1. Translatie astfel incat dreapta d sa treaca prin origine: T(-x1, -y1)
2. Rotatie astfel incat dreapta d sa se suprapuna peste ox: R(-u)
3. Oglindire fata de ox: Ox
4. Rotatia inversa de la punctul 2: R(u)
5. Translatia inversa de la punctul 1: T(x1, y1)
1
y
x
y1)- T(-x1, R(-u) O R(u) y1) T(x1, x
1
'y
'x
Oglindirea fata de dreapta y=x: x’ = y, y’ = x
35
Transformari geometrice
Forfecarea fata de ox fx factor de forfecare de-a lungul axei
ox
x
y
O
1
1
y y'
fx * y x x'
1
y
x
1 0 0
0 1 0
0 f 1
1
y'
x'
x
x
y
O
1
1
fx
36
Transformari geometrice
Forfecarea fata de oy fy factor de forfecare de-a lungul axei
oy
x
y
O
1
1
fy
fy *x y y'
x x'
1
y
x
1 0 0
0 1 f
0 0 1
1
y'
x'
y
x
y
O
1
1
37
Transformari geometrice
Forfecarea fata de ambele axe
x
y
O
1
1
fy
fx
fy *x y y'
fx * y x x'
1
y
x
1 0 0
0 1 f
0 f 1
1
y'
x'
y
x
x
y
O
1
1
38
Transformari 2D ale sistemelor de coordonate
• Translatia
ty y y'
tx x x'
x
y
O
P
x'
y'
O'
ty
tx
P(x,y) – in sistemul xoy
P(x’, y’) – in sistemul x’o’y’
x
y
O
P
39
Transformari 2D ale sistemelor de coordonate Scalarea
xoy – sistem de coordonate cu unitatea de masura mx’o’y’ – sistem de coordonate cu unitatea de masura mm1 unitate de masura in xoy 1/1000 unitate de masura in x’o’y’ => factorii de scalare sx = sy = 1/1000punctul de coordonate (1, 2) din xoy (1000, 2000) in x’o’y’
ys
y y'
xs
x x'
40
Transformari 2D ale sistemelor de coordonate• Rotatia
x
y
O
x'
y'
P
u
cos(u) * y sin(u) *x - y'
sin(u) * y cos(u) *x x'
P(x,y) – in sistemul xoy
P(x’, y’) – in sistemul x’o’y’
x
y
O
P