Grafika 1. ZH csoport nélkül megoldás

**1. Hogyan határozzák meg a számítógépes grafika fogalmát? Mit értünk generatív számítógépes grafika alatt? Mi a számítógépes grafika tárgya?**

Legáltalánosabban a számítógépes grafika (computer graphics) alatt a számítógép és a grafikus perifériák között megvalósított adatkonvertálási módszereket és eljárásokat értjük.

A generatív számítógépes grafika ezek szerint a képi információ tartalmára vonatkozó képleírási adatok (és nem a kép) alapján, algoritmusokkal állít elő pl. a monitor képernyőjén megjeleníthető képeket.

A számítógépes grafika tárgyát – az előbbiekre is figyelemmel – a következőképpen határozhatjuk meg: a számítógépes grafika alatt a két- (2D) és három- (3D) dimenziós grafikus objektumok számítógépes generálását, tárolását, feldolgozását és megjelenítését értjük.

**2. Mi a Bresenham-algoritmus lényege? Mit jelent a lépcső effektus, és milyen fényerőproblémák jelentkeznek ferde vonalak képernyőn való megjelenítésekor? Mi a super-sampling eljárás?**

Bresenham-féle középpontos vonalalgoritmus lényege, hogy a raszteres képen "oszlopirányban" haladva minden egész értékű "x"-koordinátában a matematikai egyeneshez függőlegesen legközelebbi pontot válasszuk ki.

A "pixelesedés" problémájával találjuk magunkat szembe, ha nemcsak vízszintes és függőleges vonalakat húzunk a képernyőn. Nézzük meg például egy ferde egyenes erősen kinagyított képét, amikor az úgynevezett lépcsőeffektus fellép. Ezek a "lépcsős" vonalak már relatíve nem túl nagy felbontásnál is észrevehetők.

A raszteres egyenesszakaszok ábrázolásának további gondja, hogy a ferde és vízszintes vonalak fényereje is eltér egymástól.

A super-sampling lényege, hogy például az éleken elhelyezkedő pixeleket felbontják 4×4=16 db további részre, amelyet subpixelnek nevezünk. Ez lényegében azt jelenti, hogy a raszteres képpontokat elvileg egy nagyobb felbontásnak megfelelően számítjuk ki. Egy megjelenített pixel színe vagy szürkeségértéke ezt követően a hozzá tartozó részpixelekhez rendelt értékek átlagolásával kerül kiszámításra.

**3. Mit tartalmaz a geometriai objektumokról a vektorgrafikus adatbázis? Mi a különbség az adat- és eljárásorientált geometriai modellezés között? Milyen kapcsolatok lehetnek a geometriai objektumok között? Milyen tulajdonságokat rendelhetünk a vektorgrafikus geometriai objektumokhoz? Milyen adatokat tartalmaz a vektorgrafikus adatbázis?**

A vektorgrafikus adatbázisban nem a tárgyak, testek képeit, hanem a megfelelő 3D-s világtérbeli geometriai objektumok matematikai és strukturális adatait dolgozzuk fel. Ezeknek az adatoknak a konkrét tartalma és megjelenési formája (például csak egy poliéder csúcsainak koordinátáit tároljuk, vagy emellett még a lapjainak normálvektorát is) a kiválasztott geometriai modellezési eljárástól függ.

Adatorientált esetben a térbeli alakzat jellemző adatait tároljuk a számítógépes rendszerben (például háromszög esetében a csúcspontokhoz vezető vektorok koordinátáit), míg eljárásorientált esetben a térbeli alakzat generáló programját (például körgeneráló rutin a kör egyenlete és a középpontjának és sugarának paraméterei alapján).

A geometriai objektumok közötti kapcsolatok lehetnek:

* alá–fölérendeltségi hierarchikus viszonyok, amelyek jellemző változata a tartalmazás (például: ház → tetőszerkezet → tetőablak),
* mellérendeltségi viszonyok. Ezek közül a legfontosabbak a következők:
	+ a szerkezeti jellegű kapcsolatok, amikor a geometriai objektumok hierarchiában azonos felsőbb szintű objektumhoz kapcsolódnak (például egy ház egyik falán található ablakok),
	+ az illeszkedési jellegű kapcsolatok, amikor a geometriai objektumok valamilyen formában csatlakoznak egymáshoz (például egy kocka egy csúcsából kiinduló három él),
	+ a megjelenítés jellegű kapcsolatok, amikor a geometriai objektumok azonos raszteres képhez, jelenethez (scene) tartoznak

A vektorgrafikus adatbázis geometriai objektumaihoz különböző – jellemzően megjelenítésorientált – tulajdonságokat is hozzárendelhetünk. Ilyenek például a rasztergrafikához hasonlóan

* a szín,
* a vonalstílus,
* a felületi jellemzők: textúrák, felületre vetített raszteres képek, érdesség stb.,
* a szövegek.

Összefoglalva az eddigieket, a vektorgrafikus adatbázis a következő jellegű adatokat tartalmazza:

* a 3D-s világkoordináta-rendszerben meghatározott geometriai objektumok adatait:
	+ a modell neve, azonosítói, a geometriai alakzatot felépítő geometriai építőelemek fajtái,
	+ az építőelemek kapcsolódásaira vonatkozó adatok,
	+ a geometriai alakzatra vonatkozó méret-, nagyságadatok,
	+ a geometriai alakzatra vonatkozó hely- és helyzetadatok a modellezési világkoordináta-rendszerben,
	+ a geometriai alakzat tulajdonság adatai,
* a geometriai objektumok közötti viszonyokat meghatározó strukturális kapcsolatok adatait,
* a modelltér geometriai objektumaihoz rendelt mennyiségi és szervezési információk adatait.

**4. Hogyan lehet megoldani a modellezési algoritmusok egységes kezelését? Milyen illeszkedési feladatokat kell megoldani a görbék és felületek modellezés eljárásával? Hogyan biztosítható a modellezés során felhasznált függvények egyszerű kiszámíthatósága? Sorolja fel, milyen követelményeket kell kielégíteni a vektorgrafikus modellezésnek a felhasználóval való interaktív kapcsolattartás miatt!**

Az algoritmusokat programtechnikailag egységesen, relatíve nem nagy ráfordítással kell megvalósítani. Ezért olyan modellezési eljárások kellenek, amelyek kizárják az egyedi, egy-egy speciális függvényhez kötődő megoldásokat. Ugyanakkor a modellezési eljárásnak a legkülönbözőbb formájú, alakú görbéket, felületeket is elő kell tudnia állítani. A modellezési eljárás biztosítsa az előre megadott pontokon áthaladó térgörbék és felületek hatékony generálását, támogassa a különböző térelemek illeszkedésének (metszéspontok, érintés) kezelését. A modellezési eljárásban felhasznált függvényeknek viszonylag egyszerűen kiszámíthatóaknak kell lenniük. Az egységes programtechnikai kezelés miatt ezek azonos tulajdonságú függvénycsaládokból kerüljenek ki.

A felhasználóval való hatékony, interaktív kapcsolattartás érdekében

* A modellezési eljárás biztosítsa, hogy a felületek és görbék transzformálása (például térbeli mozgatás vagy a paramétertartomány lineáris transzformációi) relatíve egyszerű algoritmussal, nem túl nagy számításigénnyel megvalósítható legyen. (Például ne legyen szükség nagyszámú görbepont transzformált vektorainak egyenkénti kiszámítására.) Másként fogalmazva, a modellezési eljárásnak invariánsnak kell lennie az affin transzformációkra és a vetítésekre.
* A modell olyan legyen, hogy a képernyőn való megjelenítéshez szükséges poligon és sokszöglapos közelítésre gyorsan konvergáló algoritmusokat lehessen kidolgozni.
* A modell tegye lehetővé a görbék és felületek lokális változtathatóságát, azaz ha például egy pontban kissé megváltoztatjuk a görbét, ez csak a pont közvetlen környezetében okozzon változást.

**5. Milyen típusú fényforrásokat adhatunk meg a vektorgrafikus rendszerekben? Mit jelent a szórt háttérvilágítás (ambient light)? Jellemezze a pontszerű fényforrásokat! Mit nevezünk area lightnak?**

Vektorgrafikus rendszerekben általában a következő típusú fényforrásokat definiálhatjuk:

* szórt háttérvilágítás, amelynek nincs iránya,
* távoli fényforrások, amelyek irányított párhuzamos fénysugarakat bocsájtanak ki,
* pontszerű fényforrások, amelyek egy térbeli pontból minden irányban kibocsájtanak fénysugarakat,
* reflektor-fényforrások, amelyek a tér egy adott helyétől egy meghatározott irányban, párhuzamos vagy csonka kúp alakú fénynyalábot sugároznak,
* kiterjedt fényforrások, amelyek meghatározott méretű és alakú sugárzó testek.

A háttérfény lokális megvilágítási modellben nincs fényforrás, az objektumok "saját" fényüket bocsátják ki. Ez megfelel annak, hogy a jelenetet egy irányfüggetlen, szórt fény (ambient light) világítja meg.

A pontszerű fényforrás (point light) a modelltér minden irányában azonos intenzitással sugároz. A közeli tárgyak a távolabbiaknál erősebben meg lesznek világítva, a Lambert-féle távolságtörvénynek megfelelően. A felületek megvilágításerősségének meghatározásakor ilyen fényforrásnál a Lambert-féle koszinusztörvényt veszik figyelembe. Ez a fényforrástípus éles árnyékot eredményez.

A kiterjedt fényforrások (area light) olyan fényforrások, amelyek sugárzását geometriai alakjuk is befolyásolja. Ezeket például sugárzó síklapok esetében pontszerű fényforrások együttesével közelíthetjük. Ezt úgy képzelhetjük el, hogy például egy téglalap alakú sugárzó test n sorban és m oszlopban elhelyezkedő n x m db pontszerű fényforrásból áll, mint például egy labdarúgópályát megvilágító reflektorok összessége.