A tantárgy adatlapja
1.	A képzési program adatai
1.1 Felsőoktatási intézmény	Babeș-Bolyai Tudományegyetem	
1.2 Kar 	Matematika és Informatika	
1.3  Intézet	Magyar Matematika és Informatika	
1.4 Szakterület	matematika, informatika	
1.5 Képzési szint	alap	
1.6 Szak / Képesítés	Információ Mérnöki	

2.	A tantárgy adatai
2.1 A tantárgy neve	Számítógépes grafika elemei	
2.2 Az előadásért felelős tanár neve	Róth Ágoston	
2.3 A szemináriumért felelős tanár neve	Róth Ágoston	
2.4 Tanulmányi év	3	2.5 Félév	2	2.6 Értékelés módja	laborfeladatok, projekt és írásbeli vizsga	2.7 Tantárgy típusa	kötelező– alap	

3.	Teljes becsült idő (az oktatási tevékenység féléves óraszáma)
3.1 Heti óraszám	4	melyből: 3.2 előadás	2	3.3 szeminárium/labor	2	
3.4 Tantervben szereplő össz-óraszám	56	melyből: 3.5 előadás	28	3.6 szeminárium/labor	28	
A tanulmányi idő elosztása:	óra	
A tankönyv, a jegyzet, a szakirodalom vagy saját jegyzetek tanulmányozása	20	
Könyvtárban, elektronikus adatbázisokban vagy terepen való további tájékozódás	7	
Szemináriumok / laborok, házi feladatok, portfóliók, referátumok, esszék kidolgozása	30	
Egyéni készségfejlesztés (tutorálás)	6	
Vizsgák	6	
Más tevékenységek: ..................		
3.7 Egyéni munka össz-óraszáma	69	
3.8 A félév össz-óraszáma	125	
3.9 Kreditszám	5	

4.	Előfeltételek (ha vannak)
4.1 Tantervi	•	Nincsen	
4.2 Kompetenciabeli	Alapkompetenciák az alábbi tárgyakból:
•	analitikus mértan;
•	görbék és felületek differenciálgeometriája;
•	numerikus analízis;
•	fejlett C++ objektumorientált programozási technikák.	

5.	Feltételek (ha vannak)
5.1 Az előadás lebonyolításának feltételei	•	Táblával és video projektorral felszerelt előadó	
5.2 A szeminárium / labor lebonyolításának feltételei	•	Fehér táblával és videoprojektorral felszerelt számítógépes terem, melyben a gépek diszkrét/dedikált videokártyája legalább OpenGL 2.0-val kompatibilis, illetve a feltelepített programok között megtalálható a platform független Qt Creator SDK és fejlesztői környezet.	

6.	Elsajátítandó jellemző kompetenciák
Szakmai kompetenciák	•	OpenGL programozási és megjelenítési technikák elsajátítása (rajzolási primitívek, megjelenítési listák, különböző attribútumokat eltároló csúcspont pufferek, csúcspont- és részecskeárnyalók).
•	Affin és projektív transzformációk elsajátítása, ezek implementálása és alkalmazása több szabadságfokú kameraosztályokban.
•	Különböző approximációs és interpolációs görbék/felületek elméleti és geometriai tulajdonságainak elsajátítása, ezekkel kapcsolatos interaktív és objektumorientált programok készítése a Qt Creator fejlesztői környezeten belül.
•	Különböző approximációs és interpolációs görbék/felületek adott simasági rend szerinti interaktív illesztése, bonyolultabb alakzatok kialakítása és hatékony modellezése végett.
•	Egyszerűbb térmodellezési feladatok matematikai leírása és grafikus megjelenítése.
•	Különböző, háromdimenziós modelleket eltároló adatállományok feldolgozása.	
Transzverzális kompetenciák 	•	Sík- és térmodellezésben előforduló problémák közül azok azonosítása, amelyek az elsajátított alapismeretek eszközeivel jellemezhetők és tanulmányozhatók.
•	Bonyolult modellezési problémák interaktív, számítógépes tanulmányozása matematikai, mesterséges intelligenciabeli és statisztikai eszközökkel (például adott geometriai megszorításokat teljesítő görbék/felületek előállítása vagy klasszikus elméleti és numerikus analízisbeli eszközökkel, vagy heurisztikus algoritmusokat ötvöző funkcionális optimalizálással).
•	Kutató jellegű problémák felismerése és tanulmányozása.	

7.	A tantárgy célkitűzései (az elsajátítandó jellemző kompetenciák alapján)
7.1 A tantárgy általános célkitűzése	•	Modellezési, feladatmegoldói, matematikai szövegértési készségek, továbbá hatékony  megjelenítési technikák és fejlett programozási jártasságok fejlesztése OpenGL, QtCreator és C++ alapú platform független környezetben a sík és térmodellezés alapjainak elsajátításával.	
7.2 A tantárgy sajátos célkitűzései

	•	OpenGL renderelési technikák elsajátítatása.
•	Lagrange, Hermite és Ferguson interpolációs, valamint (racionális) Bézier, B-spline és ciklikus approximációs görbék/felületek ismertetése, ezek egységes ős- és absztrakt osztály alapú implementálása, valamint interaktív megjelenítése.
•	Olyan hatékony és C++ alapú (ős/sablon/absztrakt) osztályok kialakítása, melyeket később a hallgatók egyrészt kutatáshoz (feltéve, ha az egyetemünkön maradnak), másrészt mobiliparra és játékfejlesztésre építő cégeknél elhelyezkedve is könnyen felhasználhatnak.	

8.	A tantárgy tartalma
8.1 Előadás	Didaktikai módszerek	Megjegyzések	
1.	Bevezetés görbe- és felületmodellezésbe	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [13]	
2.	Bézier-görbék és felületek modellezése (1)
•	P.E. Bézier és P.F. de Casteljau munkássága;
•	Bézier-görbék rekurzív értelmezése (de Casteljau–algoritmus);
•	Bézier-görbék Bernstein-polinomos leírása és kapcsolata a rekurzív értelmezéssel;
•	Bézier-görbék geometriai tulajdonságai;
•	Bézier-görbék adott simaság szerinti illesztése.
	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [13]	
3.	Bézier-görbék és felületek modellezése (2)
•	de Casteljau–algoritmus pontjainak geometriai jelentése;
•	Bézier-görbék felosztása;
•	hullámzás- és hosszcsökkentés, konvexitás megőrzés;
•	hatékony algoritmusok Bézier-görbék kiértékelésére;
•	fokszámnövelés;
•	interpolálás Bézier-görbékkel.
	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [13]	
4.	Bézier-görbék és felületek modellezése (3)
•	Bézier-felületek tenzor szorzatos alakja;
•	Bézier-felületek geometriai tulajdonságai;
•	Bézier-felületek fokszámnövelése;
•	Bézier-felületek adott simaság szerinti illesztése;
•	Bézier-felületek mátrixalakja;
•	interpoláló Bézier-felületek.
	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [13]	
5.	Bézier-görbék és felületek modellezése (4)
•	Bézier-görbék és felületek racionális alakja és tulajdonságaik.	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [13]	
6.	B-spline-görbék és felületek modellezése (1)
•	Isaac Jacob Schoenberg, Carl de Boor, L. Mansfield, M. Cox, R. Riesenfeld, W. Gordon, W. Böhm munkásságának rövid ismertetése;
•	normalizált B-spline bázisfüggvények értelmezése és tulajdonságaik;
•	B-spline görbék értelmezése, lokális változtathatóságuk, és végpontbeli interpolációs feltételeik és tulajdonságaik.
	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [11], [13]	

7.	B-spline-görbék és felületek modellezése (2)
•	B-spline görbék lokális konvex burok tulajdonsága;
•	Cox–de Boor felosztásos algoritmus;
•	hodográf és magasabb rendű deriváltak;
•	folytonosság tanulmányozása.
	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [11], [13]	
8.	B-spline-görbék és felületek modellezése (3)
•	Böhm csomóérték beszúrási algoritmusa;
•	hullámzáscsökkentés;
•	B-spline felületek értelmezése és tulajdonságaik.	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [11], [13]	
9.	B-spline-görbék és felületek modellezése (4)
•	B-spline görbék és felületek racionális változatai és tulajdonságaik.	Interaktív programokra, projektorra, és táblára épülő előadás	[2]–[6], [11], [13]	
10.	Zárt görbék és felületek modellezése ciklikus bázisfüggvényekkel a véges fokszámú trigonometrikus polinomok terében	Interaktív programokra, projektorra, és táblára épülő előadás	[8]–[10], [13]	
11.	Csúcspont- és részecskeárnyalók/shaderek (1)
•	rögzített és programozható grafikus csővezeték ismertetése;
•	rögzített funkcionalitások helyettesítése;
•	csúcspont és részecske processzor;
•	OpenGL beállítások és bevezetés a GLSL árnyalási programozási nyelvbe;
•	GLSL implementációs technikák és példák.	Interaktív programokra, projektorra, és táblára épülő előadás	[7], [12], [13]	
12.	Csúcspont- és részecskeárnyalók/shaderek (2)
•	a GLSL nyelv részletesebb ismertetése: adattípusok, struktúrák és változók, feltételes utasítások, ciklusok és függvények;
•	kommunikáció csúcspont és részecske árnyalók között;
•	kommunikáció árnyalók és főprogram között.	Interaktív programokra, projektorra, és táblára épülő előadás	[7], [12], [13]	
13.	Csúcspont- és részecskeárnyalók/shaderek (3)
•	effektek implementálása: irányított, pontszerű és reflektor típusú fényforrás.
	Interaktív programokra, projektorra, és táblára épülő előadás	[7], [12], [13]	
14.	Csúcspont- és részecskeárnyalók/shaderek (4)
•	effektek implementálása: kétoldali megvilágítás az összes létező fényforrás figyelembevételével; adaptív élsimítás; futás közbeni textúra generálás; rajzfilm effektus, buckaleképzés.	Interaktív programokra, projektorra, és táblára épülő előadás	[7], [12], [13]	
Könyvészet
1)	Jasmin Blanchette, Mark Summer. C++ GUI Programming with Qt 4, Trolltech Press, 2006.
2)	Gerald Farin: Curves and surfaces for CAGD, fifth edition: a practical guide, The Morgan Kaufmann Series in Computer Graphics, 2001. 
3)	Gerald Farin: NURBS: from projective geometry to practical use, 2nd edition, A K Peters/CRC Press, 1999.
4)	Joseph Hoschek, Dieter Lasser: Fundamentals of Computer Aided Geometric Desing, A K Peters/CRC Press, 1996.
5)	Juhász Imre: Számítógépi geometria és grafika, Miskolci Egyetemi Kiadó, 1995.
6)	Les A. Piegl, Wayne Tiller: The NURBS Book (Monographs in Visual Communication), 2nd edition, Springer, 1999.
7)	Randi J. Rost, Bill M. Licea-Kane, Dan Ginsburg, John M. Kessenich, Barthold Lichtenbelt, Hugh Malan, Mike Weiblen: OpenGL Shading Language, 3rd ed., Addison-Wesley Professional, 2009.
8)	Ágoston Róth, Imre Juhász, Josef Schicho, Miklós Hoffman: A cyclic basis for closed curve and surface modeling, Computer Aided Geometric Design, 26(5):528–546, 2009.
9)	Ágoston Róth, Imre Juhász: Control point based exact description of a class of closed curves and surfaces, Computer Aided Geometric Design, 27(2):179–201, 2010.
10)	Imre Juhász, Ágoston Róth: Closed rational trigonometric curves and surfaces, Journal of Computational and Applied Mathematics, 234(8):2390–2404, 2010.
11)	Ágoston Róth, Imre Juhász: Constrained surface interpolation by means of a genetic algorithm, Computer Aided Design, 43(9):1194–1210, 2011.
12)	Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis: OpenGL Programming Guide, 5th ed., The Official Guide to Learning OpenGL, Version 2, Addison-Wesley, 2006.
13)	Ágoston Róth: https://sites.google.com/site/computeraidedgeometricdesign/curve-and-surface-modeling	
8.2 Szeminárium / Labor	Didaktikai módszerek	Megjegyzések	
1.	OpenGL rajzoló primitívek	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
2.	OpenGL megjelenítési technikák	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
3.	Descartes koordináták, mátrix sablonok, négyzetes mátrixok, LU-faktorizáció, általános görbeosztály implementálása 	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[13]	

4.	Paraméteres görbék továbbá kontrollpontok és tetszőleges bázisfüggvények lineáris kombinációjával leírt görbék implementálása és megjelenítése (sajátos alkalmazásként Bézier-görbék modellezése)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
5.	Projektfeladatok ismertetése és kiosztása.

Kivételkezelést, homogén és textúra koordinátákat, háromszögesített oldallapokat és hálókat, színeket, különböző típusú fényforrásokat és anyagi jellemzőket részlegesen implementáló forrásállományok ismertetése és befejezendő feladatként való kitűzése.

Alkalmazás: háromdimenziós modellállományok feldolgozása és megjelenítése.	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
6.	Általános tenzor szorzatként leírt felületek kiértékelésére és megjelenítésére tervezett absztrakt ősosztály ismertetése.

Alkalmazás: egyéni projekthez tartozó felületi foltok megjelenítése, azok interaktív illesztése és interpolációra való használata.	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
7.	Csúcspont- és részecskeárnyalók implementálása és tesztelése (1)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
8.	Csúcspont- és részecskeárnyalók implementálása és tesztelése (2)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
9.	Egyéni projekt fejlesztése (1)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
10.	Egyéni projekt fejlesztése (2)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
11.	Egyéni projekt fejlesztése (3)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
12.	Egyéni projekt fejlesztése (4)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
13.	Egyéni projekt fejlesztése (5)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
14.	Egyéni projekt fejlesztése (6)	Fehér tábla és projektor használata, laborórán nyomon követhető interaktív PDF állományok bemutatása és elmagyarázása, befejezendő fejléc és forrásállományok házi feladatként való kitűzése	[1], [7], [12], [13]	
Könyvészet: ugyanaz, mint az előadások esetén, a befejezendő laborfeladatokhoz tartozó fejléc és forrásállományok, továbbá az előadások elméleti anyaga a 

https://sites.google.com/site/computeraidedgeometricdesign/curve-and-surface-modeling 

weboldalon érhetőek majd el.	

9.	A tantárgy tartalmának összhangba hozása az episztemikus közösségek képviselői, a szakmai egyesületek és a szakterület reprezentatív munkáltatói elvárásaival.
•	A tantárgy tartalma megegyezik az egyetemi oktatásban a fontosabb egyetemeken oktatott számítógépi grafikába és geometriai modellezésbe vezető tárgyak hagyományos tartalmával és elvárásaival. Mi több, a tantárgy elméleti és laboranyaga sokszor túl is mutat ezen egyetemek elvárásain, megteremtve egyrészt egy esetleges mesteri, később pedig doktori képzés alapjait, másrészt olyan programozási és interaktív modellezési technikákat is biztosít, mely számos ilyen témában érdekelt hazai és külföldi cég igényeinek is megfelel.	

10.	Értékelés
Tevékenység típusa	10.1 Értékelési kritériumok	10.2 Értékelési módszerek	10.3 Aránya a végső jegyben	
10.4 Előadás 	Alapfogalmak, alaptételek és alap geometriai, modellezési fogalmak ismerete és használata.	Félév végi írásbeli vizsga elméleti jellegű feladatokból. Az írásbelire a beugrót egy átmenőnek minősített labortevékenység jelenti.	40 %	
				
10.5 Szeminárium / Labor	Laborfeladatok helyessége. Egyéni projekt fokozatos fejlesztése.	Hétről hétre helyesen implementált és személyesen bemutatott, határidőre kitűzött laborfeladatok ellenőrzése. Egyéni projekt félévvégi személyes bemutatása. Másolt program(ok) bemutatása büntetőpontokkal és ismétlődő esetben írásbeli vizsgáról való kizárással jár.	60 %	

10.6 A teljesítmény minimumkövetelményei	
•	Összes kitűzött laborfeladat határidőre való megoldása.
•	Legalább 5-s minősítésű projekt megírása. Az ezzel kapcsolatos minimális és maximális követelmények megtalálhatóak a

https://sites.google.com/site/computeraidedgeometricdesign/curve-and-surface-modeling/Curve_and_surface_modeling__Lab_05.pdf?attredirects=0

linken adott PDF állomány 46. illetve 54. oldalain.
•	Legalább 5-s minősítés elérése az írásbeli vizsgán.	

Kitöltés dátuma	Előadás felelőse			 Szeminárium felelőse
2012. szept. 8. 	dr. Róth Ágoston, egyet. adjunktus	 dr. Róth Ágoston, egyet. adjunktus	

Az intézeti jóváhagyás dátuma				Intézetigazgató,	
2012. szept. 28.						Dr. Szenkovits Ferenc, egyet. docens
..........................