A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
—
| Tantárgy neve (magyarul, angolul) |
Számítógépes grafika
Computer Graphics
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIIIAB12 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 5 | ||||||||||||
| Tantárgyfelelős |
DR. Szirmay-Kalos László
beosztás: egyetemi tanár
elérhetőség:
szirmay-kalos.laszlo@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Irányítástechnika és Informatika Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://cg.iit.bme.hu/portal/szamitogepes-grafika | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
Tantárgyprogram
- Analitikus geometriai áttekintés és ismétlés. Geometriák felépítése, különböző fontosabb geometriák főbb jellegzetességei. Euklideszi, elliptikus, hiperbolikus és projektív geometriák. Külső szemlélet. Euklideszi tér analitikus geometriája: pont, vektor, koordináta rendszerek. Vektorműveletek jelentése és implementációja C++-ban. Pontok kombinációja: szakasz, egyenes és kör parametrikus egyenlete. Távolság: sík, gömb implicit egyenlet. Algebrák: vektor, mátrix, komplex szám, Clifford algebra.
- Interaktív grafikus rendszerek. Grafikus kártya felépítése. GLUT/OpenGL 3 és 4/GLSL: Szintaktika, kapcsolat az ablakozó rendszerrel. Ablak megnyitása, eseménykezelő függvények regisztrálása. Vertex array object és vertex buffer object. A GPU csővezeték 2D grafika esetén. GLSL shaderek. "Helló háromszög" megvalósítása OpenGL/GLSL környezetben. Konvex burok program.
- Geometriai modellezés. Klasszikus görbék: implicit, paraméteres és explicit forma. Szabad formájú görbék pontok kombinációjával. Lagrange interpoláció. Hermite interpoláció két pontra. Bezier approximáció. Catmull-Rom spline. Paraméteres felületek. Felület kihúzással és forgatással. Catmull-Clark felosztott görbe és felület. Testmodellezés, Euler tétel, poligon modellezés Euler operátorokkal.
- Geometriai transzformációk: Elemi transzformációk és mátrixos formalizmusuk. Homogén koordináták. Projektív geometria (ideális pont, Descartes és homogén koordináták viszonya). Homogén lineáris transzformációk és tulajdonságaik. Eltolás, skálázás, forgatás (Rodriguez formula). Átfordulási probléma.
- 2D képszintézis: Görbék vektorizációja. Poligonok háromszögekre bontása. Modellezési transzformáció. Nézeti transzformáció. Szakaszok és területek vágása. Szakaszrajzolás. Területkitöltés.
- 3D képszintézis optikai alapmodellje: Sugársűrűség. BRDF. Optikailag sima anyagok, geometriai optika visszaverődési és törési törvénye, Fresnel egyenletek. Rücskös felületek, diffúz és csillanó felület. Irány és pont fényforrás. Színek fogalma, színillesztés.
- Sugárkövetés: Láthatósági probléma megoldása, felületek
normálvektora, árnyékszámítás. Rekurzív sugárkövetés: visszaverődés és törés.
- Inkrementális 3D képszintézis. Felületek tesszellációja.
Modellezési transzformáció. Nézeti
transzformáció perspektív vetítés esetén. Vágás homogén koordinátákban.
Takarási probléma képernyő koordináta rendszerben, z-buffer algoritmus. Gouraud
és Phong árnyalás. Textúra leképzés.OpenGL és a grafikus hardver 3D grafikai alkalmazása.
Textúra leképzés, szűrés. GPU programozás. 3D grafikus rendszerek
szoftverarchitektúrája.
- Számítógépes animáció. Mozgás definíciója. Valószerű mozgás. Key-frame animáció. Mechanikai alapok pontszerű testekre. Diszkrét idő szimuláció. Karakter animáció. Inverz kinematika.
- Számítógépes játékok: Virtuális valóság rendszerek és játékok felépítése. Az avatár. Játék motor. Plakátok, részecske rendszerek. A játékok fizikája. Ütközésdetektálás és ütközésválasz. Terepmodellezés. Karakterek mozgása.
- Fraktálgeometria. Az Euklideszi geometria korlátai. Hausdorff dimenzió önhasonló és nem önhasonló objektumokra. Kaotikus dinamikus rendszerek, pszeudo-véletlenszám generátor. Egyszerű leképzések attraktora, stabilitás. Attraktor előállítása iterációval. Többértékű leképzések kezelése véletlen bolyongással. IFS
- Térfogat, orvosi és mérnöki vizualizáció. Optikai analógiák. GPGPU, CUDA.
A tárgy a képi információ előállításának és feldolgozásának
algoritmusait mutatja be, a hallgatókat bevezetve az interaktív grafikus
alkalmazások készítésébe és a grafikus hardver programozásába.
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
A tárgy alkalmazás orientált, azaz az előadásokon elmondott elmélet és
algoritmusok programszintű implementációja is elhangzik, amit a
hallgatók a programozási feladatok megoldása során maguk is begyakorolnak. Implementációs
környezetként a C++ nyelvet, az OpenGL könyvtár (3.3 verzió feletti)
változatát, és a GLSL árnyalónyelvet használjuk.
A félév során 5
feladatot adunk ki. A
laborfeladatokat önállóan kell megoldani. A laboron személyes megjelenés nem
szükséges, a megoldásokat az adott labor hetének végéig (vasárnap 23:59) kell a
házi feladat portálra feltölteni. Pótlásra és késedelmes leadásra nincs
lehetőség. A labor időpontjában konkrét kérdéseket lehet feltenni.
Minden beadott feladatra 0 vagy 1 laborpontot lehet kapni. A félév
során legalább 3 laborpontot kell gyűjteni. A laborpontok a megszerzésük félévében az aláíráson túl a
vizsgán egyenként max 2 pontos bónuszkérdésekre jogosítanak. A laborpontok
vektorát és a bónuszkérdésekre kapott értékelés vektorát skalárisan szorozzuk,
és az eredményt hozzáadjuk az egyébként 30 pontos vizsga pontszámához. Azaz, ha
valaki minden laborpontot összegyűjt és minden bónuszkérdést megválaszol, akkor
a vizsgaeredményéhez a laborpontok megszerzésének félévében 10 pontot adunk hozzá.
A félév során a Moodle-en hetenként egy-egy kvízt kell kitölteni. Végül önkéntesen nagyházi vállalható.
Tanulástámogató anyagok
Online források
Szirmay-Kalos László,; Antal György, Csonka Ferenc: Háromdimenziós grafika animáció és; játékfejlesztés, ComputerBooks, 2005. a honlapról elektronikus formában is elérhető.; Az előadások videon a YouTube-on is hozzáférhetők. ; A laborjegyzet a Moodle oldalon megtalálható, ahol további ajánlott irodalmak is elérhetők.
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
A C++ programozási nyelv, Eseményvezérelt programozás,
Bevezetés a számításelméletbe (vektorműveletek, lineáris algebra),
Analízis (többváltozós vektorfüggvények deriválása), Fizika
(súlypont, dinamika, geometriai optika).
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
A C++ programozási nyelv, Eseményvezérelt programozás,
Bevezetés a számításelméletbe (vektorműveletek, lineáris algebra),
Analízis (többváltozós vektorfüggvények deriválása), Fizika
(súlypont, dinamika, geometriai optika).
Általános szabályok
Követelmények:
A kredit megszerzésének feltétele legalább 3 laborpont és a Moodle kvízkérdés pontok 40%-nak összegyűjtése, valamint a vizsgának a jutalom kérdésekre
adott pontokkal és nagyházi pontokkal együtt legalább 12 pontos teljesítése.
A laborfeladatok
jutalom kérdésekre jogosítanak a vizsgán, amelyekre egyenként max 2 pont
adható, majd a laborpontokat és a jutalomkérdésekre kapott
pontokat egy-egy vektornak tekintjük, annak
skalárszorzatát képezzük, majd az eredményt a vizsga pontokhoz hozzáadjuk
(azaz aki mind az öt laborfeladatát jól készíti el, és mindegyik
jutalomkérdésre max pontot kap, a vizsgán 10 pont bónuszt kap). A nagyházit
a 12. hétig egyeztetni kell a tárgyfelelőssel
és a pótlási héten meg kell védeni. A nagyházi pontokat ugyancsak
duplázva (max 6 pont) a vizsgaeredményhez hozzáadjuk.
Pótlási lehetőségek:
A laborfeladatok és a kvízek nem pótolhatók.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
IMSc program:
Az előadások és laborok közösek. Minden hallgató szabadon választhat nagyházit.
IMSc pontok:
A vizsgán az 5-ös határ (24 pont) felett megmaradó pontok
kétszeresét, de maximum 25-öt, automatikusan IMSc pontra váltunk.
Ajánlott tantárgyak
Nincs megadva.
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
—
Tantárgykövetelmények hatályosságának vége:
—
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.