450 likes | 956 Views
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
E N D
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.
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
Notare 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
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
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% laexamenul final • Restanta (septembrie 2011): pentru participare minim30% din activitatea pe parcurs (se pot recupera max 15 puncte din activitatea de pe parcurs)
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
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
Sistemedesinteza Sistemedeanaliza a imaginilor Sistemedeprelucrare a imaginilor Sistemedeanimatie Grafica pe calculator Grafica pe calculator
Hardware Software Sistem grafic/ UPG Program aplicatie Biblioteca grafica Modelul aplicatiei/ baza de date Grafica interactiva
Aplicatie Geometrie Randare Etapele unei aplicatii grafice • Etapa aplicatie • Etapa geometrie • Etapa randare Etapa aplicatie: • Specificare modele • Stabilirea pozitiei camerei • Interactiunile utilizator – modele • Calculele necesare animatiei
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
Dispozitive grafice de afisare raster Pixel Scan Line • Raster– displayuri, imprimante laser • Matrice de pixeli Raster
Scan Line Primitive cu interior Primitive prin contur Aliasing Dispozitive grafice de afisare raster Revenire orizontala Revenire verticala
Y Y P(x,y) P(x,y) P’(x’,y’) X X O O Y’ X’ O’ Transformari grafice 2D Transformarea unui punct raportat la un sistem de coordonate fix->TRANSFORMARI GEOMETRICE Transformarea sistemului de coordonate si raportatrea unui punct raportat la noul sistem de coordonate -> TRANSFORMARI ALE SISTEMELOR DE COORDONATE
Transformari geometrice 2D • Transformari geometrice elementare • Translatia • Scalarea fata de origine • Rotatia fata de origine • Oglindirea • Forfecarea
P’ Y P X O Translatia tx • tx, ty – factori de translatie pe axa ox, respectiv oy x’ = x + tx y’ = y + ty • Sunt pastrate lungimile • Sunt pastrate unghiurile ty P(x, y) P’(x’, y’)
sx, sy – factori de scalare pe axa ox, respectiv oy Nu se pastreaza lungimile Nu se pastreaza unghiurile Scalarea fata de origine
x’ = x cosӨ – y sinӨ y’ = x sinӨ + y cosӨ Se pastreaza lungimile si unghiurile Rotatia fata de origine Rotatia cu unghiul q fata de origine
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:
Reprezentarea matriceala a transformarilor geometrice • Translatia
Reprezentarea matriceala a transformarilor geometrice • Scalarea fata de origine
Reprezentarea matriceala a transformarilor geometrice • Rotatia fata de origine
Transformari geometrice elementare • Translatia: • Scalarea fata de origine • Rotatia fata de origine
Compunerea transformarilor 6 6 5 5 4 4 Y 3 3 2 2 1 1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 X Translatie cu tx=6, ty=0 si rotatie si 45º Rotatie cu 45º si translatie cu tx=6, ty=0
Transformari geometrice elementare - inverse • Translatia inversa: • Scalarea inversa fata de origine • Rotatia inversa fata de origine
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)
Rotatia fata de un punct fix F • 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)
Transformari geometrice • Oglindirea fata de ox
Transformari geometrice • Oglindirea fata de oy
Transformari geometrice • Oglindirea fata de origine
Transformari geometrice • Oglindirea fata de o dreapta oarecare d Translatie astfel incat dreapta d sa treaca prin origine: T(-x1, -y1) Rotatie astfel incat dreapta d sa se suprapuna peste ox: R(-u) Oglindire fata de ox: Ox Rotatia inversa de la punctul 2: R(u) Translatia inversa de la punctul 1: T(x1, y1) Oglindirea fata de dreapta y=x: x’ = y, y’ = x
Transformari geometrice Forfecarea fata de ox • fx factor de forfecare de-a lungul axei ox
Transformari geometrice Forfecarea fata de oy • fy factor de forfecare de-a lungul axei oy
Transformari geometrice • Forfecarea fata de ambele axe
Transformari 2D ale sistemelor de coordonate • Translatia P(x,y) – in sistemul xoy P(x’, y’) – in sistemul x’o’y’
Transformari 2D ale sistemelor de coordonate • Scalarea • xoy – sistem de coordonate cu unitatea de masura m • x’o’y’ – sistem de coordonate cu unitatea de masura mm • 1 unitate de masura in xoy 1/1000 unitate de masura in x’o’y’ => factorii de scalare sx = sy = 1/1000 • punctul de coordonate (1, 2) din xoy (1000, 2000) in x’o’y’
Transformari 2D ale sistemelor de coordonate • Rotatia P(x,y) – in sistemul xoy P(x’, y’) – in sistemul x’o’y’