Continut curs

Post on 06-Jan-2016

133 views 9 download

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

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