Základy počítačové grafiky (NPGR003) - zkoušky

Obecné zásady

Zkouší se to co se předneslo, spíše obecné principy a logika věci než konkrétní technické detaily (výjimky potvrzují pravidlo). Pokud mne přesvědčíte, že tomu rozumíte, odpustím vám technické nepřesnosti.

Volitelné otázky

U každého zkouškového termínu dostanete jednu ze čtyř otázek "volitelnou" - bude na výběr z pěti variant. Vyberete si jednu variantu a na tu odpovíte. Příklad takové sady:

  1. [icg-10-mono] Navrhněte půltónovací matici pro použití na laserové tiskárně s počtem odstínů 51 (konstrukci matice můžete jen naznačit).
  2. [icg-11-colorreproduction] Jak by bylo možné vybrat 256 barev tak, aby co nejlépe reprezentovaly barevnou JPEG fotografii při převodu do formátu GIF? (je několik možností, stačí naznačit jen jeden postup)
  3. [icg-13-curves] Popište základy tzv. diferenčního algoritmu pro rasterizaci kubických křivek, který ve výpočtu nepotřebuje používat složitější operaci nez sčítání, násobení dvěma a dělení dvěma (přesné vzorce nemusíte odvozovat, stačí principy)
  4. [icg-16-floodfill] Popište algoritmus záplavového vyplňování, který je podle vás dostatečně efektivní, definujte přitom i podmínky vyplňování a vstupní data.
  5. [icg-18-clipping] Navrhněte algoritmus ořezávání úseček proti obdélníkovému oknu.

Orientační okruhy / příklady možných otázek

  • Principy lidského zrakového systému a barevného vidění.
  • Jak barvy vnímá člověk? Příklad vady barevného vidění.
  • Příklady několik zásad, kterých bychom se měli držet při navrhování barevných schemat.
  • Základní rozdíly mezi rastrovou a vektorovou grafikou?
  • Které operace s obrázkem nejdou dobře dělat v rastrovém prostředí, ale jsou bez problémů ve vektorové grafice?
  • Jak se barvy reprezentují na počítači?
  • Které barevné systémy se hodí pro zadávání laickým uživatelem a které se hodí pro barevný tisk?
  • Jak se kombinují barvy na monitoru a jak na papíře?
  • Nelinearita zobrazovacího zařízení (CRT monitoru)
  • Co je gamma-korekce a na co by se mohla užitečně použít?
  • Který grafický formát (druh komprese, rozlišení) byste použili pro běžné úkoly: archivace digitálních fotografií, posílání fotek z dovolené babičce emailem, podklady pro tisk časopisu posílané do redakce, ..?
  • K čemu se používá HDR grafika? Čím je lepší než běžná (LDR) grafika?
  • Popište postup, jak obyčejným digitálním fotoaparátem pořídit HDR obrázek. Které scény by na to byly vhodné a které ne?
  • Čím se interně liší HDR rastrový obrázek od normálního (třeba GIF, JPEG)?
  • Jak se implementuje poloprůhlednost v rastrovém obrázku? Co se tam přidává?
  • Jaký výpočet byste použili při kombinaci dvou poloprůhledných pixelů metodou "A over B" (obrázek A je před obrázkem B)
  • Jakou metodou byste rozmazali rastrový obrázek? (navrhněte metodu/vzorec, klidně vaši vlastní)
  • Popište princip tzv."midpoint" (Bresenhamových) algoritmů na kreslení čar (doporučený příklad: úsečka nebo kružnice se středem v počátku)
  • V tzv. "scanline" algoritmu na vyplňování n-úhelníka v rovině se používá záznam popisující hranu mnohoúhelníka. Které datové položky obsahuje?
  • Co je anti-aliasing? Uveďte na jakých principech může být založen (jen princip, nemusíte psát detaily).
  • Popište princip datové struktury "Kvadrantový strom" (quad-tree)
  • Proč se používají homogenní transformační matice? (3x3 ve 2D, 4x4 ve 3D)
  • Napište matici otočení kolem osy Z o úhel α (jde o 3D transformaci)
  • Jak byste postupovali při odvozování otočení kolem libovolné osy o daný úhel ve 3D? (stačí naznačit postup, není třeba to přesně odvodit)
  • Co je transformace tuhého tělesa (Rigid Body Transform) a čím byste ji charakterizovali? Lze to nějak poznat na homogenní matici 4x4?
  • Jaká je běžná posloupnost transformací prováděných v systému, který zobrazuje 3D scénu na obrazovce? (uvažujte jako základní prvky scény "vrcholy")
  • Jaká je nejpřirozenější projekce (ze 3D do 2D) a čím byste ji definovali?
  • Navrhněte, kterými údaji byste popsali "perspektivní kameru"
  • Navrhněte jeden systém povrchové reprezentace 3D scény, ve kterém se dostatečně rychle hledají sousední stěny, vrcholy, apod. Rámcově tento systém popište.
  • Vyjmenujte výhody hierarchické reprezentace 3D scény (můžete přitom stručně popsat, jak by mohla být hierarchie implementována, věnujte pozornost zejména uložení scény na disk)
  • Jaké jsou výhody reprezentace orientace pomocí kvaternionu? (můžete rámcově kvaternion definovat, není potřeba uvádět důkazy ani pokročilé vlastnosti)
  • Jaký je pricip zadání Hermitovy interpolační křivky? (není nutné psát vzorec)
  • Jaká je základní architektura GPU (uvažujte jen vykreslování 3D scény složené z trojúhelníků)?
  • Jak GPU typicky řeší viditelnost? Budou správně nakresleny trojúhelníky, které se v prostoru prosekávají?
  • Které části zpracování v GPU lze zvenku ovlivnit pomocí tzv. "shaderů"? (napište co víte, nemusí to být úplně přesné)
  • Jak se data 3D scény typicky do GPU předávají? (jde o koncepci, ne o technické detaily)
  • Vyberte si jeden z algoritmů viditelnosti 3D scény a středně podrobně ho popište.
  • Která data potřebujeme mít ve scéně zadaná, abychom mohli objekty stínovat?
  • Které znáte stínovací (interpolační) metody?
  • Alespoň kvalitativně popište jednoduchý model odrazu světla na povrchu 3D tělesa.
  • Kterými parametry by byl definován materiál (vlastnost povrchu) pro Phongův osvětlovací model?
  • Na jakém principu pracuje paprsková zobrazovací metoda "Ray-tracing"? Stručně algoritmus popište.

Copyright (C) 2019 J.Pelikán, last change: 2019-05-09 17:52:59 +0200 (Thu, 09 May 2019)