Grafica pe calculator, Seria 35 - Semestrul al II-lea, 2015-2016


Program

Curs: (M.S. Stupariu) Laboratoare: (M.S. Stupariu)

Continut

    Suport de curs
    Materiale laborator

Material auxiliar

    Geometrie analitica

Evaluare

Punctaj Nota finala se obtine impartind punctajul la 10 si rotunjind. Pentru a promova examenul trebuie obtinute minim 50 de puncte, din care minim 15 puncte la laborator si minim 25 de puncte la lucrarea finala.

ATENTIE!

Teme laborator

  • Tema 1 (Laborator 1). (2p) (i) Efectuati schimbari in codul sursa 01_L_1_exemplu. Modificati pozitia segmentelor, reprezentati extremitatile acestora, etc. (ii) Se dau punctele M si N in plan. Programul determina si afiseaza ecuatia dreptei MN. (iii) Se dau patru puncte A, B, C, D in plan. Programul stabileste daca punctele A si B sunt de aceeasi parte sau de o parte si alta a dreptei CD.

  • Tema 2 (Laborator 2 si 3). (6p) Se da un sir de n varfuri, P1, ..., Pn. Programul detecteaza eventualele autointersectii ale liniei poligonale P1...Pn si deseneaza folosind sabloane si culori diferite muchiile cu intersectii si muchiile fara intersectii. Suplimentar (2p). Punctele sunt selectate cu mouse-ul si pot fi mutate cu ajutorul acestuia.

  • Tema 3 (Laborator 4, 5 si 6). (i) (1p) Ilustrati folosirea optiunii GL_TRIANGLE_STRIP, folosind codul sursa 03_3_poligoane_quads. Ilustrati folosirea optiunii GL_POLYGON in cazul in care sirul de varfuri determina un poligon concav. (ii) (1p) Implementati o functie pentru calculul produsului vectorial. (iii) (1p) Se dau punctele necoliniare A,B,C si punctul M din planul R^2. Procedura stabileste daca punctul M este in interiorul sau pe laturile triunghiului ABC. (iv) (3p) Se da un poligon concav P1....Pn. Programul realizeaza o triangulare a poligonului si deseneaza triunghiurile acesteia.

  • Tema 4* (Laborator 6, Suplimentar, 2p) Coloreaza in mod diferit interiorul si exteriorul liniei poligonale cu autointersectii de la Tema 2, folosind regula par/impar sau regula indexului.

  • Tema 5. (Laborator 7, 8 si 9) (8p) (Detaliere punctaj: 2p utilizarea transformarilor (indicate cu functii standard sau folosind matrice); 2p compunerea transformarilor; stive de matrice; 4p originalitate, caracter inovativ, detalii, etc.).
    LA ALEGERE:
    1. STOL DE PASARI: Creati un "stol de pasari" (2D), acesta se deplaseaza; in timpul deplasarii pasarile isi schimba locurile intre ele.
    2. DOMINO 2D: De reprezentat este un domino 2D format din dreptunghiuri avand aceeasi dimensiune. Primul incepe sa se miste (rotatie in jurul unui punct -indicat in figura) si le angreneaza si pe celelalte.
    3. DEPASIRE: Simulati o "depasire": un dreptunghi se deplaseaza uniform (prin translatie), un alt dreptunghi vine din spate (tot prin translatii), la un moment dat intra in depasire, apoi trece in fata primului.
    4. JOC DE BILIARD: Creati un biliard 2D (cu reguli pe care le definiti voi); coliziunile sa fie reprezentate cat mai realist.
    5. TEMA LIBER ALEASA: Creati o scena 2D in care sa folositi transformari, compunerea transformarilor, gestionarea stivei de matrice de modelare.

  • Tema 6 (Laborator 10-11; prezentare la inceputul laboratorului 12). (6p) Modificati codul sursa 10_L1_keyboard astfel ca: (i) sa adaugati elemente noi; (ii) miscarea in scena sa se realizeze cu ajutorul unor taste asociate unor litere; (iii) in scena sa existe cel putin un obiect creat folosind liste de display (cf. 10_L2_hexagon, 10_L3_tor); (iv) Utilizati meniuri GLUT (cf. 10_L4_menu).

  • Tema 7 (Laborator 12-14). (16p) Realizati o scena 3D complexa, care include: iluminare (2p) , tehnici de amestecare (2p) , efect de ceata (2p) , umbre (2p) , texturare (2p) , obiecte cuadrice (2p) , curbe / suprafete Bezier (2p) (se acorda max. 8p pentru aceste cerinte punctuale).


Informatii restanta (7 septembrie 2016). Dupa lucrarea scrisa va avea loc o proba practica, pentru studentii care nu au acumulat punctaj la laborator. Cerinte: cunostinte minimale de OpenGL; capacitatea de a adapta / dezvolta o aplicatie grafica. Pot fi realizate in avans unele teme din lista de mai sus (de exemplu Tema 5, Tema 6, Tema 7) modificand coduri sursa din lista propusa in sectiunea ("Materiale laborator"). Vor fi intrebari despre codul sursa si acesta va trebui modificat / adaptat. Pentru a obtine nota finala, punctajul de la proba scrisa si cel de la proba practica vor fi cumulate.

Bibliografie

  1. G. Albeanu, Grafi ca pe calculator. Algoritmi fundamentali, Editura Universitatii din Bucuresti, 2001.
  2. R. Baciu, Programarea aplicatiilor gra ce 3D cu OpenGL , Editura Albastra, 2005.
  3. J. Foley, A. van Dam, S. Feiner si J. Hughes, Computer Graphics: Principles and Practice (2nd edition in C) , Addison Wesley, 1995.
  4. D. Hearn si M. Baker, Computer Graphics with OpenGL , Prentice Hall, 2003.
  5. M.Woo, J. Neider, D. Shreiner si T. Davis OpenGL Programming Guide, Addison Wesley.