Continut curs

40
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.

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 Presentation

Transcript of Continut curs

Page 1: Continut curs

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.

Page 2: Continut curs

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

Page 3: Continut curs

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

Page 4: Continut curs

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

Page 5: Continut curs

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)

Page 6: Continut curs

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

Page 7: Continut curs

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

Page 8: Continut curs

8

Grafica pe calculator

Grafica pe calculator

Sisteme de sinteza

Sisteme de analiza a

imaginilor

Sisteme de prelucrare a imaginilor

Sisteme de animatie

Page 9: Continut curs

9

Sisteme de sinteza

modelul imaginii

algoritm de sinteza

imagine afisata

unitate de afisare

imagine binara

utilizator

programaplicatie

Page 10: Continut curs

10

Sisteme de analiza

imagine binara

analiza

model de nivel inalt

analiza de nivel inalt

model de nivel coborat

Page 11: Continut curs

11

Sisteme de prelucrare

imagine binara

imagine afisata

unitate de afisare

algoritm de prelucrare

imagine binara

imbunatatita

Page 12: Continut curs

12

Grafica interactiva

Sistem grafic/UPG

HardwareSoftware

Biblioteca

grafica

Programaplicatie

Modelul aplicatiei/baza de

date

Page 13: Continut curs

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

Page 14: Continut curs

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

Page 15: Continut curs

15

Dispozitive grafice de afisare raster

Scan Line

Raster

Pixel

• Raster– displayuri, imprimante laser

• Matrice de pixeli

Page 16: Continut curs

16

Dispozitive grafice de afisare raster

Primitive prin contur

Primitive cu interior

Revenire orizontala

Revenire verticala

Scan Line

Aliasing

Page 17: Continut curs

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

Page 18: Continut curs

18

Transformari geometrice 2D

Transformari geometrice elementare Translatia Scalarea fata de origine Rotatia fata de origine Oglindirea Forfecarea

Page 19: Continut curs

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’)

Page 20: Continut curs

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

Page 21: Continut curs

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

Page 22: Continut curs

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

Page 23: Continut curs

23

Reprezentarea matriceala a

transformarilor geometrice

Translatia

Page 24: Continut curs

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'

Page 25: Continut curs

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'

Page 26: Continut curs

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'

Page 27: Continut curs

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

Page 28: Continut curs

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

Page 29: Continut curs

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

Page 30: Continut curs

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

Page 31: Continut curs

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

Page 32: Continut curs

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

Page 33: Continut curs

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

Page 34: Continut curs

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

Page 35: Continut curs

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

Page 36: Continut curs

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

Page 37: Continut curs

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

Page 38: Continut curs

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

Page 39: Continut curs

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'

Page 40: Continut curs

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