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.
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 Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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