Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MII0002	Grafică pe calculator (Számítógépi geometria és grafika)	

Félév	Órák: E+Sz+L	Kategória	Típus	
6	2+0+2	speciális	opcionális	

II. Főállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
MAKÓ Zoltán	Dr.	Lect.	Mecanică şi Astronomie	*			

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. A tantárgy célkitűzései
1.	Parametrikus görbék és felületek differenciálgeometriája
2.	Interpolációs illetve approximációs módszerek görbék és felületek előállítására
3.	Parametrikus, interpolációs illetve approximációs görbék és felületek interaktív és objektum orientált programozása
4.	Bevezetés az OpenGL (Open Graphic Library), a GLUT (Utility Toolkit) és GLUI (User Interface) platform független grafikus könyvtárak használatába
5.	A GLSL (OpenGL Shading Language) nyelv bemutatása. Az OpenGL rögzített funkcionalitásának emulálása illetve különböző effektusok (bucka leképzés, környezet leképzés, árnyékok, árnyéktestek, vízmozgás, részecskék, stb.) létrehozása vertex- és fragment-shaderekkel (árnyalókkal)	

IV. A tantárgy tartalma

Előadások tematikája

1. Fejezet. Transzformációk. Vetítések. Láthatósági, takarási feladatok
1.1. Homogén koordináták
1.2. Koordináta- és ponttranszformációk
1.2.1. Koordináta- és ponttranszformációk síkon
1.2.2. Koordináta- és ponttranszformációk a térben
1.3. Vetítések
1.3.1. Párhuzamos vetítés 
1.3.1.1. Merőleges vetítés
1.3.2. Centrális/perspektivikus vetítés
1.4. Láthatósági, takarási problémák

2. Fejezet. Differenciálgeometriai és numerikus analízisbeli alapok 
2.1. Analitikus geometriai elemek: skaláris illetve vektoriális szorzat, egyenes egyenletei, sík egyenletei, pont távolsága egyenestől illetve síktól, stb.
2.2. Görbék és felületek differenciálgeometriai alapjai
2.2.1. Parametrikus görbék
2.2.1.1. Parametrikus görbék ábrázolása 
2.2.2. Parametrikus felületek
2.2.2.1. Parametrikus felületek megjelenítése
2.2.2.1.1. Négyszögű háló
2.2.2.1.2. Háromszögű háló
2.2.2.1.3. Szintvonalak. Esésvonalak
2.2.3. Geometriai folytonosság
2.2.4. Felületi görbék és görbület
2.2.5. Sajátságos felületek (vonal-, forgás-, domborzatjellegű felületek)
2.2.6. Szabályos testek. Csillagszerű poliéderek
2.3. Görbe- és felületinterpoláció
2.3.1. Görbeinterpoláció általában
2.3.1.1. Görbeinterpoláció monomokkal
2.3.1.2. Görbeinterpoláció Lagrange-polinomokkal 
2.3.1.3. Görbeinterpoláció Newton-polinomokkal
2.3.1.4. Görbeinterpoláció harmadfokú Hermite-féle keverőfüggvényekkel. Tulajdonságok
2.3.1.5. Görbeinterpoláció ötödfokú Hermite-féle keverőfüggvényekkel. Tulajdonságok
2.3.1.6. Racionális görbeinterpoláció
2.3.1.7. Harmadfokú spline görbeinterpoláció. Tulajdonságok
2.3.1.8. Interpolációs görbék objektumorientált és interaktív előállítása
2.3.2. Felületi interpoláció általában
2.3.2.1. Harmadfokú Coons-Hermite foltok sima illesztése
2.3.2.2. Harmadfokú spline foltok sima illesztése 
2.3.2.3. Interpolációs felületek objektumorientált és interaktív előállítása 
2.4. Görbe- és felületapproximáció
2.4.1. (Racionális) Bézier-görbék
2.4.1.1. A de Casteljau algoritmus és Bernstein-polinomok kapcsolata 
2.4.1.2. (Racionális) Bézier-görbék tulajdonságai
2.4.1.3. (Harmadfokú) (racionális) Bézier-görbék sima illesztése
2.4.2. (Racionális) Bézier-felületek. Tulajdonságok
2.4.2.1. (Harmadfokú) (racionális) Bézier-felületfoltok sima illesztése 
2.4.3. (Racionális) B-spline görbék. Tulajdonságok
2.4.3.1. Nyílt és zárt (racionális) B-spline görbék sima illesztése 
2.4.4. (Racionális) B-spline felületek. Tulajdonságok
2.4.4.1. Nyílt és zárt (racionális) B-spline felületfoltok sima illesztése

3. Fejezet. Bevezetés az OpenGL árnyaló nyelvébe (OpenGL Shading Language/GLSL)
3.1. Alapok
3.2. Nyelv értelmezése
3.3. A programozható OpenGL csővezeték
3.4. Beépített függvények
3.5. Az OpenGL árnyaló nyelv API-ja
3.6. Árnyalók (shaders) fejlesztése
3.7. Az OpenGL rögzített funkcionalitásának emulálása
3.8. Tárolt textúra árnyalók
3.9. Procedurális textúra árnyalók
3.10. Fények
3.11. Árnyékok
3.12. Felületi jellemzők
3.13. Zaj
3.14. Animáció
3.15. Simított procedurális textúrák
3.16. Nem-fotórealisztikus árnyalók

Gyakorlati órák tematikája

1.1. Egy objektum orientált OpenGL munkakörnyezet létrehozása
1.2. Koordináta- és ponttranszformációk
2.1. Parametrikus görbék megjelenítése. Görbék felületeken
3.1. Parametrikus felületek közelítése/megjelenítése négyszögű hálóval 
3.2. Parametrikus felületek közelítése/megjelenítése háromszögű hálóval
4. Kontrollobjektumok létrehozása a GLUI könyvtár segítségével
5. Harmadfokú Hermite-interpoláció
6. Ötödfokú Hermite-interpoláció
7. Harmadfokú interpolációs spline-ok
8. Harmadfokú Coons-Hermite foltok sima illesztése
9. Harmadfokú spline foltok sima illesztése
10. (Harmadfokú) (racionális) Bézier-görbék sima illesztése
11. (Harmadfokú) (racionális) Bézier-felületfoltok sima illesztése
12. (Racionális) B-spline görbék sima illesztése
13. (Racionális) B-spline felületfoltok sima illesztése
14. Vertex és fragment-árnyalók GLSL alatt	

V. Könyvészet
1. J. Hoschek, D. Lasser: Fundamentals of Computer Aided Geometric Design, A K Peters Ltd., Wellesley, Massachusetts, USA (1993)
2. Juhász Imre: Számítógépi geometria és grafika, Miskolci Egyetemi Kiadó, Miskolc, Hungary (1995)
3. Füzi János: Interaktív grafika, ComputerBooks, Budapest, Hungary (1997)
4. Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2 (5th Edition), Addison-Wesley Professional  (2005)
5. Randi J. Rost: OpenGL Shading Language (Second Edition), Addison-Wesley Professional  (2006)	

VI. Az oktatói tevékenység heti tematikája

VII. Alkalmazott didaktikai módszerek

VIII. Értékelés
Ellenőrzési mód: kollokvium
Kötelező a jelenlét: laboron
Önálló munka: heti programok, egyéni vagy csoportos projekt
Megjegyzések: A végső jegyben 60%-ban számít a labor tevékenység (programok, projekt)	

IX. Kiegészítő könyvészet

	Dátum,						Előadás felelőse,
	2007. május 17.					Lect. Dr. MAKÓ Zoltán