Grafika 1. ZH F csoport megoldás

**1. Soroljon fel minél többet a számítógépes grafika tudomány alkalmazási területei közül! Határozza meg a virtuális valóság fogalmát! Mit értünk fotorealisztikus ábrázolás alatt a számítógépes grafikában?**

* digitális művészet (digital art)
* grafikai tervezés (graphic design)
* információ megjelenítés (information visualization)
* információ-grafika (infographics)
* oktatás (education)
* racionális gyógyszertervezés (rational drug design)
* számítógépes biológia (computational biology)
* számítógépes fizika (computational physics)
* számítógépes szimuláció (computer simulation)
* számítógéppel segített tervezés (computer-aided design)
* tudományos vizualizáció (scientific visualization)
* videojátékok (video games)
* virtuális valóság (virtual reality)
* webtervezés (web design)

Virtuális valóság alatt elképzelt vagy méretük, illetve távolságuk miatt láthatatlan, veszélyességük miatt megközelíthetetlen világok valósághű, interaktív modellezését és megjelenítését értjük számítógépen.

Fotorealisztikus képábrázolásról akkor beszélünk, ha a számítógépes grafikával generált képeket gyakorlatilag nem lehet megkülönböztetni a fénykép vagy videofelvételtől.

**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.