Grafika 1. ZH B csoport 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. Miért vezették be a racionális görbéket a számítógépes grafikában? Minek a rövidítése a NURBS, és mit jelent? Melyek a NURBS legfontosabb tulajdonságai?**

A racionális görbéknek a vetítésekre vonatkozó invariáns tulajdonsága miatt a képernyőn történő ábrázolás előkészítése során elegendő csak a kontrollpontok képét kiszámítani.

A racionális B-spline-ok közül a legfontosabbak a nem uniform (azaz nem egyenközű [ti, ti+1] felosztással kapott) racionális B-spline görbék, amelyeket NURBS-nek szoktak rövidíteni (NURBS = Non Uniform Rational B-Spline).

A NURBS tulajdonságai:

* A NURBS invariáns az affin transzformációkra és a vetítésekre (projektív transzformációkra). Ez azt jelenti, hogy például a NURBS görbe centrális vetítésekor elegendő a Boor-pontokat homogén koordinátákban transzformálni, és ezekből kiszámítani a vetületi görbét.
* Egy kontrollpont megváltoztatása csak a megfelelő paraméter tartományhoz tartozó pontokban módosítja a görbét, azaz a NURBS lokálisan változtatható.
* A NURBS görbe a kontrollpoligon belsejében (konvex burkában) helyezkedik el.
* Ha a kontrollpontok egy egyenesen helyezkednek el, akkor a NURBS egyenesszakasz.
* Ha az egyik ri kontrollpont wi súlyát megnöveljük, a görbe határértékben a Pi ponthoz tart .

**4. Milyen két típusa van a tömör testmodellezésnek? Mi a CSG modellezés lényege? Milyen standard testprimitívek vannak a CSG-ben? Milyen műveletek alkalmazhatók a CSG-ben? Milyen a CSG modellek adatstruktúrája? Miért használható a tömör testmodellezés a műszaki tervezésben?**

A testmodellezési eljárások közül a számítógépes grafikában két modellezési módszer vált elterjedté:

* elemi testekkel és ezek közötti szabályos halmazműveletekkel való modellezés és
* a testek elemi sejtekből való felépítése.

A véges számú tömör elemi testprimitívből kiinduló és a modellt a metszet, egyesítés, kivonás és ragasztás halmazműveletek egymás utáni felhasználásával megkonstruáló modellezési módszert konstruktív tömör testmodellezésnek nevezzük. Ennek angol elnevezése: Constructive Solid Geometry, vagy röviden CSG.

A standard testprimitívek induló készlete általában a már bemutatott 3D-s primitívekből

* a hasáb,
* a gúla,
* a henger,
* a kúp és
* a gömb

A konstruktív tömör testmodellezéssel létrehozott modellek adatstruktúrájára a bináris fa gráf jellemző, amelynek ágcsomópontjai a halmazalgebrai műveletek, levelei pedig a műveletben részt vevő testek

A konstruktív tömör testmodellezésnek a gyakorlatban történő jól használhatóságára hívják fel a figyelmet azok a vizsgálatok, amelyek eredményei szerint a műszaki tervezés során szükséges testek döntő része előállítható néhány egyszerű geometriai test (például hasáb és henger) megfelelő kombinációjából.

**5. Mi a feladata a karaktermodellezésben a csontváznak? Mit nevezünk kinematikai láncnak? Mi jellemzi a forward kinematikát? Mi jellemzi az inverz kinematikát?**

A modell felszínét alkotó építőelemek (spline-felületfoltok, patch-ek) folytonosan illeszkednek egymáshoz, és pontosan leírják az összefüggő testfelszínt. Ahhoz, hogy ezt a felszínt mozgatni tudjuk, egy olyan struktúrára van szükség, amely kisszámú vezérlő pont segítségével az összes elvárt deformációt létre tudja hozni. Ezt a problémát oldják meg az ún. kinematikus rendszerek, amelyekben a karakter részeinek mozgatása, deformálása (az emberi, állati testhez hasonlóan) egy csontvázrendszer segítségével történik.

A csontváz (skeleton) olyan részeit, amelyekhez tartozó csontok kapcsolódnak egymáshoz és együtt mozognak, kinematikai láncnak nevezzük.

A forward kinematikában (forward kinematic) a kinematikus lánc minden egyes tagját (bone) egyenként forgathatjuk a kapcsolódási pontjai (joint) körül. Amikor egy kívánt pózba szeretnénk beállítani a karakterünket, akkor a hierarchia legtetejétől (root) elindulva forgatjuk a csontrendszert – ha szükséges egyenként – a megfelelő helyre. Ha egy csontot elforgatunk, akkor a hozzátartozó (belőle származó), alacsonyabb szinten álló elemek is követik a forgást.

Az inverz kinematika (inverse kinematic) alapgondolata az, hogy a kinematikai láncban különböztessünk meg egy vezérlő csontrészt, amelynek mozgatása esetén a kinematikai rendszer képes a szülő rész megfelelő elmozdulását automatikusan kiszámítani.