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:
- [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).
- [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)
- [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)
- [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.
- [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)