IZG Semestrálka Flashcards
Barva
Subjektivní smysl vyvolaný působením světla daného spektra šířeného zdrojem, které se odráží od povrchu objektu a dopadá na sítnici oka
Světlo
Elektromagnetické záření určité vlnové délky
Achromatické - bílé (obsahuje všechny barvy)
Chromatické - barevné
Charakteristiky světla
Jas (Brightness)
Sytost (Saturation)
Světlost (Value)
Odstín (Hue)
RGB
Aditiní míchání barev
Při práci se světlem
Monitory, projektory, kamery atd.
CMY
Subtraktivní míchání barev
Při práci s pigmenty
Tisk
(Cyan, Magenta, Yellow)
HSV
Uživatelsky orientovaný model
Nastavuje odstín, sytost a světlost
HLS
Uživatelsky orientovaný model
Odstín, jas a sytost
Metody převodu šedobílého obrazu na monochromatická
Dithering - Prahování, Náhodné rozptýlení, Distribuce chyby, Maticové rozptýlení
Halftoning
Jaký druh reprezentace 3D objektu je vhodný pro metodu Radiozita?
Hraniční reprezentace Brep (polygony plochy).
Co je potřeba provést u zobrazení metodou Radiozity při změně postavení kamery ve scéně?
Stačí pouze obnovit zobrazení scény podle nově postavené kamery; Radiozita metody se nemusí řešit znovah
Jaké stíny generuje zobrazení metoda Radiozity?
měkké stíny.
Jaký je princip Phongova empirického osvětlovacího modelu?
Počítá s difusním i reflexním odrazem světla. Jeho intenzita je dána součtem intenzit difusní a reflexní složky spolu s
ambientni (rozptýleným okolním světlem a šumem). Intenzita závisí na směru k pozorovateli.
Kterou z známých metod stínování 3D objektu OpenGL NEpoužívá?
Phongovo stínování.
S jakou datovou reprezentací pracuje knihovna OpenGL?
Polygonální hraniční reprezentace (Brep).
Jakým způsobem provádíme skládání transformací?
Násobením jednotlivých transformačních matic.
Jaky je princip algoritmu “Řádkové vyplňováni”?
Vyplňováni uzavřených vektorových oblastí, hledání průsečíku řádku obrazu s hranici oblasti,seřazení průsečíku
podle X, vyplnění úseku mezi lichými a sudými průsečíky.
Jak se převede barevný RGB obraz na obraz ve stupních šedi (grayscale)?
Hodnota každého pixelu se vypočítá jako vážený součetbarevných složek původního pixelu.
Jaká je závislost velikosti průmětu objektu v perspektivní projekci?
Je nepřímo úměrná vzdálenosti od projekční roviny.
Co jsou to Spline křivky?
Obecně křivky složené z částí popsaných polynomy stupně k, v opěrných bodech řídicího polygonu je zajištěna
spojitost až do (k1) ních derivací.
Midpoint algoritmus pro rasterizaci kružnice určí polohu pixelu:
V X se posune o dx=1 a Y určí relativně vzhledem k poloze posledníhovykresleného pixelu podle znaménka
prediktoru.
Na kterou základní barevnou složku je naše oko nejméně citlivé?
Modrou
Na kterou základní barevnou složku je naše oko nejvíce citlivé?
Zelenou
Jakým způsobem metoda Brep popisuje 3D objekty?
Objekt je popsán prostřednictvím svého povrchu, hranic(vrcholy, hrany, stěny). Žádná vnitřní struktura.
Které polygony 3D objektu jsou NEviditelné?
Jejichž normálaje odkloněna od pozorovatele.
Jaky je princip antialiasingove metody Supersampling?
Každý pixel obrazu je rozdělenna několik vzorku (subpixelů), ze kterých je vhodným způsobem konvolučním filtrem
složenavýsledná hodnota pixelu.
Co jsou MipMap textury?
V jedné matici textury je uloženo více RGB obrazůtextury s různým rozlišením. Textury s různým rozlišením se
potom používají podle vzdálenosti objektu, což odstraňuje alias a urychluje zobrazení.
Jakým způsobem je určena (definována křivka pomocí) Fergusonova kubika?
Dvěma koncovými body a dvěma tečnými vektory v nich.
Co jsou to Racionální křivky?
Ke každému řídícímu bodu je připojen reálný parametr, který ovlivňuje okolní tvar křivky.
Jak je v oblasti počítačové grafiky definována barva?
Jako vektor intenzit základních barevných složek (např. RGB).
Jak je v oblasti počítačové grafiky definovaná intenzita(jas) barvy?
Jako vážený součetintenzit barevných složek
Jakým způsobem jsou v rastrové grafice reprezentovány obrazy (objekty)?
Maticí diskrétních hodnot.
Jakým způsobem metoda Šablonování popisuje 3D objekty?
Pohybem 2D profilu po spojité 3D draze.
Jakým způsobem určuje Bresenhamův algoritmus pro rasterizaci úsečky polohu následujícího pixelu?
Podle znaménka prediktoru
Aktuální hodnota prediktoru se vypočítá z jeho předchozí hodnoty.
Proč používáme pro popis vektorových oblasti orientovaný seznam hraničních úseček?
Pro rozlišení vnitřních a vnějších bodů oblastí pravidlem pravé ruky.
Jakým způsobem řeší Robertsův vektorový algoritmus viditelnost 3D objektu?
Dělení potenciálně viditelných hran na úseky kde se mění viditelnost.
Polygony hrany objektu se rozdělí na viditelné, neviditelné a obrysové hrany. Pomoci obrysových hran se řeší
viditelnost překrývajících se částí a jejich dělení. Nakonec se podle potřeby vykreslí viditelné, neviditelné a obrysové
hrany.
Midpoint algoritmus pro rasterizaci elipsy používá:
Pouze celočíselné operace, sčítání a porovnání.
Jaky je princip Goraudova stínování?
Vypočte barvy ve vrcholech každého polygonu objektu, barva vnitřních bodů polygonů je získána lineární interpolací z vrcholů. Je potřeba znát průměrné normály ve vrcholech.
Jakým způsobem Implicitní modely popisuji 3D objekty?
Potenciálním polem, které je součtem potenciálních polí jednotlivých prvků (bodu, hran …). Hranice (povrch) objektu
jsou v místě nulového potenciálu.
Jakým způsobem provádí dithering redukci barevného prostoru obrazů?
Nahrazením původních pixelu novými hodnotami(podle použité distribuční metody) z redukovaného barevného
prostoru. Nedocházípři tom ke změně velikosti obrazu.
Kdy nedojde ke vzniku aliasu při vzorkování spojitého frekvenčního univerzálního signálu?
Jestliže je vzorkovací frekvence alespoň 2x větší něž největší frekvence původního signálu.
Jaký je princip algoritmu „inverzní řádkové vyplňování“?
Vyplňování uzavřenýchvektorovýchoblastí pro každý segment hranice oblastí nalezne průsečík s řádky obrazu,
provedeno vyplnění a inverzí od průsečíků až po pravý okraj obrazu.
Jakou barvu dostáváme u aditivního skládání barev při max. intenzitě zák. bar. složek?
Bílou.
Jaké vlastnosti mají promítací paprsky v paralelní projekci?
Jsou rovnoběžné se směrem pohledu.
Které hrany 3D objektu jsou viditelné?
Hrany, které sdílí dva viditelné polygonyobjektu.Hrana je potenciálně viditelná pokud je mezi 2 viditelnými
plochami.
Jakým způsobem je určená racionální Beziérova křivka stupně N?
N+1 body řídicího polynomu a váhouřídicích bodů.
Jakým způsobem je určená NEracionální Beziérova křivka stupně N?
N+1 body řídicího polynomu
Co jsou stínové paprsky v metodě Raytracing?
Jsou vysílány z bodu na povrchu objektu ke zdroj. světlu s cílem určit, jestli je bod vůči nám ve stínu.
Jaký druh reprezentace 3D objektů je vhodný pro metodu Raytracing?
Objemovéreprezentace (Vektorová CSG; Rastrová Voxel modely) a povrchová(hraniční) reprezentace Brep
(polygony plochy).
Jakým způsobem určuje metoda „náhodné rozptýlení“ při redukci barev obrazu nové hodnoty (0, 1)
pixelů?
Podle náhodně generovaných hodnot v rozsahu 0 až max. hodnota obrazu. Jeli původní hodnota pixelu menší než
náhodná hodnota, je nová hodnota 0, jinak 1.
Jakým způsobem se řeší malířův algoritmus viditelnosti 3D objektů?
Polygony objektů se seřadí podle vzdálenosti od pozorovatele a vykreslují se od nejvzdálenějšího k nejbližšímu. Nelze
vždy rozhodnout, který trojúhelník je blíže > rozdělit trojúhelník na vícero.
Jaký efekt způsobují Enviromentální textury?
Zajišťují mapování obrazu okolí na povrch objektu, čímž umožňují odrážení okolí objektů na povrchu.
Jakým způsobem je určena NURBS křivka stupně N?
N+1 nebo více body řídicího polygonu, vektorem váhových parametrů řídicích bodů a uzlovým vektorem.
Jakým způsobem získáme transformační matici pro rotaci kolem obecné osy ve 3D?
Složením transformací pro posun osy do počátku souřadnic, sklopení do jedné osy souřadného systému, provedení
požadované rotace, vedení osy do původní polohy.
(Doplnění: “sklopení do jedné osy souřadného systému” se skládá z: otočení posunuté osy do jedné ze souřadných
rovin (např. XY) a otočení sklopené osy do jedné ze souřadných os (X))
Pro jaký typ oblastí je vhodný algoritmus „semínkové vyplňování“ s vyplňováním typ 8okolí?
Vyplňování konvexních a nekonvexních okolí definovaných v rastru a hranicí typu 4okolí.
Výsledkem algoritmu “LiangBarsky” pro ořezání úsečky v parametrické oblasti jsou…
Dvě reálné hodnoty parametru v intervalu <0,1> definující část úsečky uvnitřořezávacího okna
Základní algoritmus pro rasterizaci kružnice “po bodech” používá…
Floating-point operace při výpočtu každého pixelu
Jakým způsobem metoda CSG popisuje 3D objekty?
Kombinací geometrických 3D primitiv pomocí booleovských operací. Postup tvorby objektu je uložen do stromu.
Jakým způsobem provádí Halftoning redukci barevného prostoru obrazů?
Nahrazením původních pixelů skupinou (maticí) pixelů daného vzoru (podle použité distribuční metody). Dochází tak
ke zvětšeníobrazu.
Pro jaký typ oblastí je vhodný “Pinedův algoritmus vyplňování oblastí”?
Vyplňování pouze uzavřených konvexních VEKTOROVÝCH oblastí(nejčastěji trojúhelníky)
Jaký je princip konstantního stínování?
Výpočte barvu pro střed každého polygonu objektů a nastavuje ji pro celý polygon.
Bresenhamův algoritmus pro rasterizaci úsečky určí polohu pixelu:
Relativně vzhledem k poloze posledního vykresleného pixelu podle znaménka prediktoru
Jak je definována vektorová grafika?
Vektorovými entitami
Co je charakteristické pro interpolační křivku?
Křivka přímo prochází body.
Inverzní řádkové vyplňování
Nepotřebuje řadit průsečíky (na rozdíl od klasického řádkového)
Brep
Objekt je popsán jen pomocí povrchu, informace o vnitřní struktuře není uložena, objekt je definován pomocí
vrcholů, hran a stěn
DDA
Užívá floatingpoint, náročná HW implementace, nízká efektivita. Přírůstek na Y je dán velikostí směrnice úsečky.
Proč je u souřadnic při transformaci 1 souřadnice navíc?
Aby se mohly provádět všechny operace stejnýmzpůsobem(Skládat jdou i bez ní, je to kvůli operaci posunutí)
Řádkové vyplňování
Pro každý řádek vytvoř seznam průsečíků s hraničními úsečkami (vodorovné hrany se vynechají), setřídí se seznam
průsečíků podle xi a nakonec se vykreslí vodorovné úseky mezi lichými a sudými průsečíky seznamu).
Homogenní souřadnice pro bod
Ve 3D [x,y,z,w] kde w=1 (ve 2D [x,y,w] kde w=1)
Midpoint algoritmus elipsy
Prediktor pro I. a II. oblast.
V I. oblasti je parciální derivace v ose Y a řídící osou bude proto X.
V II.oblasti je parciální derivace v ose X a řídicí osou bude proto Y.
Prahování
Metoda založena na principu porovnávání všech pixelů obrazu s danou hodnotou prahem (threshold). Všechny
pixely, které mají hodnotu pod daným prahem, budou černé, ostatní bílé.
Proč je výhodné používat homogenní souřadnice?
Všechny transformace se dají řešit maticemi (přesněji: Umožňují pracovat se všemi druhy základních transformací
jednotně, pomocí maticového zápisu)
Kdy hrozí přetečení zásobníku u semínkového vyplňování?
Při rekurzivní implementaci. Používá se implementace pomocí fronty, aby se to eliminovalo.
3D transformace
Zobecnění 2D transformací. Body popsány homogenními souřadnicemi P(x,y,z,w), kde w=0 pro vektor a w=1 pro bod.
Co platí pro algoritmus vykreslováni kružnice jako núhelníku?
Využívá floatingpointoperace při výpočtu každého vrcholu.
Co je to dithering?
Nahrazenípůvodních hodnot šedé vhodnou distribucí černých a bílých bodů. Snaha o maximální vizuální podobnost,
zachovávározměry obrazu.
Co je to Prahování?
Nahrazení původních hodnot intenzity černými a bílými body podle práhové hodnoty (anglicky Tresholding a je
metodou ditheringu nezvětšuje obraz).
Jak lze specifikovat řádkové vyplňování?
Vyplnovani uzavrenych vektorovych oblasti: hledani pruseciku radku obrazu s hranici oblasti, serazeni pruseciku podle
X, vyplneni useku mezi lichymi a sudymi prusecniky.
Z čeho se skládají objekty a obrazy u vektorové grafiky?
Z geometrických entit (úsečky, kružnice, polygony, …).
Proč se používá CMY u tiskáren?
Protože smícháním všech tří základních barev vznikne černá. Kreslí se na bílý papír ne na černou obrazovku
(subtraktivní míchání barev)
Co platí pro Bressenhamův algoritmus vykreslováni úsečky?
Používá výhradně celočíselnouaritmetiku, jednoduché operace jako sčítání a porovnávání, přírůstek na Y ose je dán
znaménkem prediktoru. V ose X postupujeme s přírustkem dx = 1.
Jak ve 3D zařídíme rotaci kolem obecné osy?
Osu posuneme do počátku, “zarovnáme” na některou z os souřadnicového systému, provedeme rotaci a osu vrátíme
do původní polohy.
Grafický kontext?
Datová struktura, která drží specifické informace potřebné pro vykreslení na různá výstupní zařízení
z čeho se skládá?
parametry vystupniho zarizeni (format obrazku atd.)
sirka a vyska kreslici plochy
transformace vystupu
Jakým způsobem určuje metoda “Prahování” při redukci barev obrazu nové hod. pixelů?
Podle dané konstantní hodnoty prahu v rozsahu 0 až max. hodnota obrazu. Jeli původní hodnota pixelů menší než
hodnota prahu, je nová hodnota 0, jinak 1.
Vertex a Fragment shader popsat, rozdíl
vertex shader provádí geometrické transformace a zpracování jednotlivých vertexů scény (bodů modelů)
fragment shader provádí operace nad jednotlivými pixely scény (výsledku, tedy 2D obrazu), stará se například o
určení barev pixelů či zobrazení textur ve výsledku renderu
standardně jsou nejprve prováděny operace ve vertex shaderu a následně teprve ve fragment shaderu (viz otázka
OpenGL pipeline)
Raytracing popsat, obrázek
sledování paprsků
paprsky se šíří od světelných zdrojů do scény
některé paprsky se lámou o objekty
obraz scény tvoří paprsky dopadlé na projekční plochu
pouze ostré stíny, při změně pozorovatele se musí přepočítat celá scéna
4 způsoby převodu do černobílé
1.Thresholding (prahování)
Rozdelení pixelů obrazu podle prahové hodnoty
- Náhodné rozptýlení
Hodnota prahu generována náhodne pro každý pixel obrazu - Maticové rozptýlení
Porovnání pixelů obrazu s odpovídajícími hodnotami distribucní (rozptylovací) matice a prahování.
Dithering plochu obrazu pokryjeme maticemi.
Halftoning každý pixel nahradíme maticí. - Distribuce chyby
Distribuce vznikající chyby okolním pixelům.
Maximální využití vstupní informace.
MIP mapping princip, k čemu se používá
Jde o způsob uložení jedné textury(jejího obrazu) v řadě velikostí do jedné datové matice. Textura je přitom
rozložena na tři matice pro R, G a B barevný kanál.
Podle vzdálenosti texturovaného objektu (velikosti jeho obrazu) je automaticky vypočtena hodnota textury. Hodnota
textury se bere přímo z textury odpovídajícího rozlišení nebo se vypočítá lineární interpolací ze dvou nejbližších
rozlišení. Jde tedy o použití hodnoty textury v nejvhodnějším rozlišení podle velikosti obrazu texturovaného objektu a
tím jeho vzorkovací frekvence.
Dva významy: zrychlení zobrazení vzdálených objektů (menší textury)
odstranění aliasu v perspektivní projekci
Graf scény
jedná se o logické a prostorové schéma pro popis 3D scény, kde jsou objekty uloženy v grafové struktuře podle
vzájemných závislostí, uzly jsou zpravidla jednotlivé objekty
výhodou je jednoduché vyhledávání/vykreslování objektů podle umístění a závislostí (např. složené objekty či jinak
provázané) a možnost distribuce transformací rodičovských objektů na své potomky
4 charakteristiky Phongova stínování
při rasterizaci probíhá interpolace z normál vrcholů
osvětlovací model se počítá pro každý pixel
je potřeba znát průměrné normály ve vrcholech
zohledňuje se zakřivení povrchu objektů
velmi kvalitní výsledky, realistické zobrazení
Jaké jsou možnosti nanášení textur na objekty?
Inverzní mapovací funkce
Povrch objektu je popsán jednou analytickou fcí inverzní fce použita jako mapovací málo takto popsatelných
objektů (koule, válec)
Promítání textur
textura se promítá na objekt (pro který není analytická fce) z obalového tělesa, jehož analytickou fci můžeme určit
Mapování 3D textur
prosté mapování 3D prostoru textury na povrch tělesa (scale)
není problém s navazováním textury
velká paměťová náročnost
UV mapování
u složitějších objektů “vysvlečení objektu z kůže”, rozmotání, nanesení textury a navlečení na objekt
4 charakteristické vlastnosti radiozity
respektuje fyzikální principy šíření světla
metoda globální iluminace scény, šíření světelné energie.
vychází z výpočtů tepelného záření pro výpočet světla.
navíc měkké stíny
4 vlastnosti phongova osvětlovacího modelu
empirický model
světlo se na povrchu tělesa rozkládá do 3 složek
ambientní složky (ambient light), difúzní složky (diffuse light) a odlesků (specular light)
intenzita reflexe závisí na směru odrazu i na směru k pozorovateli
ideální reflexe odraz je symetrický podle normály
Raytracing
zobrazovací metoda
ze všech světelných zdrojů se sledují paprsky a počítají se jejich odrazy a lomy až dokud nedopadnou na projekční
plochu
v praxi se používá obráceně (back raytracing)
paprsky se vysílají z projekční plochy
Raytracing - nevýhody
vytváří pouze ostré stíny
při změně pozorovatele se musí přepočítat celá scéna
i velké monotoní plochy počítá pixel po pixelu
Z-buffer
rastrový algoritmus - rychlý a snadná implementace
Z-buffer obsahuje Z-souřadnice nejbližších bodů ploch
každá plocha zpracována pouze jednou (fronta)
Halftoning (polotónování):
Zvětšuje rozměry obrazu.
Používá se pro výstup na tiskárnu.
Pixel nahrazen vzorem černých a bílých bodů dané hodnoty (například maticí).
Dithering (rozptylování)
Nahrazení původních hodnot intenzity šedé vhodnou distribucí černých a bílých bodů
Snaha o vizuálně maximálně odpovídající podobu.
Zachovává rozměry obrazu.
Používá se pro výstup na obrazovku.
Goraudovo stínování
vyhodnoc. se pixely ve vrcholech a na základě normál se interpoluje barva pro celý polygon
zohledňuje zakřivení objektů. Docela realistické, ale ne tak jako Phongovo.
oproti Phongovi ale snadná implementace
Základní charakteristiky křivek typu NURBS
aproximační křivka
zobecněný Bspline
přidány váhy, je racionální, již nemá rekurentní definici lze snadno a přesně def.kuželosečky
neuniformní
jednotlivé části křivky můžu modelovat libovolným počtem úseků
lze přidat řídící bod aniž by se změnil tvar křivky
používá se pro tvorbu složitých modelů Spline
křivka složená z polynomů ntého stupně
spline křivka stupně n má spojistost Cn1
Back raytracing
z pozice pozorovatele se vysílají paprsky do scény
paprsek se odráží od objektů ve scéně
počet odrazů většinou omezen na 5
poté se jde zpětně a pro každý objekt se vyhodnotí osvětlovací model
výsledek se vždy pošle předchozímu odrazu, ten k němu připočte svůj osvětlovací model
nakonec se paprsek vrátí do pixelu, z kterého byl vyslán
4 zákl. char. CSG metody reprezentace 3D objektů
Objekt popsán stromem ze: 3D primitiv (listy stromu), transformací, booleovských operací (uzly).
- možnost vzniku singularit (regularizované operace).
- po každé nové operaci probíhá regenerace stromu.
- možnost parametrizace operací ve stromu – parametrické modelování
- nejsou informace o povrchu objektu
Beziérovy racionální křivky
aproximační křivky (2D grafika, fonty, šablonování)
polynomální křivka s použitím Bernsteinových polynomů Bin
křivka stupně n určena n + 1 body
prochází koncovými body
ke každému řídícímu bodu je připojen reálný parametr, který ovlivňuje okolní tvar křivky
Vlastnosti polynom
Mají nezápornou hodnotu.
Mají jednotkový součet – křivka leží v konvexní obálce.
Nemají rekurentní definici!
Pro vykreslení nelze použít algoritmus de Casteljau!
Brep pro 3D objekty
objekt popsán prostřednictvím svého povrchu – hranice
informace o vnitřní struktuře objektu není uložena
objekty definovány pomocí vrcholů(body),hran (úsečky, křivky),stěn (polygony, spline plochy)
Lineární transformace 3D objektů
zobecnění 2D transformací
body popsány homog. 3D souřadnicemi P(x, y, z,w), kde w = 1 pro bod a w = 0 pro vektor
skládání transformací – násobením dílčích matic
Posunutí ve 3D = pouhé posunutí dimenze 2D matice
Změna měřítka ve 3D = pouhé posunutí dimenze 2D matice
Rotace ve 3D = Rotace kolem počátku systému, různé transformační matice pro x, y, z
Zkosení ve 3D = Transformace je opět rozdělena na 3 různé operace, podle směrů,
ve kterých zkosení probíhá, 3 transformační matice 5
Bresenhamova metoda rasterizace primky 4 charakteristiky
nejčastěji používaný algoritmus rasterizace úsečky
používá celočíselnou aritmetiku, sčítání, porovnání
velmi efektivní, snadná implementace do HW
Princip:
Vykreslujeme po pixelu od bodu P1 k bodu P2
V ose X postupujeme s přírůstkem dx = 1
O posunu v ose Y rozhodujeme podle znaménka tzv. prediktoru
Jak to, že vidíme barevné objekty?
● Odrážejí na svém povrchu dopadající světlo
● Podle vlastností povrchu se odrazí jen určité vlnové délky
● Podle odraženého světla vnímáme barvu objektu
Co je to grafický kontext a co obsahuje?
Datová struktura, která drží specifické informace potřebné pro kreslení na různá výstupní zařízení
Obsahuje:
Parametry výstupního zařízení (formát obrázku atd.)
Šířka a výška kreslící plochy
Transformace výstupu