1. Rasterizace, rozdil mezi ctyrspojitou a osmispojitou úsečkou -
-
Rasterizace je proces, při kterém převádíme základní grafické objekty na posloupnost obrazových bodů. Pro rasterizaci využíváme počítačových algoritmů: DDA,Bersenham pro úsečku,kružnici, nebo kresba kružnice otáčením bodu. Čtyřspojitá-vykreslovaný pixel může být pouze (nahoru,dolu,doleva,doprava) Osmispojitá-pixel může jít všemi směry
-
Problémy při rasterizaci Úsečky nejsou zadány celočíselně, přitom většina algoritmů předpokládá celočíselné hodnoty Používání směrnice, nicméně některé úsečky nelze vyjádřit ve směrnicovém tvaru => zaokrouhlíme počáteční a koncový bod
-
2. DDA algoritmus pro úsečku -
Založen na konstantních přírůstcích k řídící ose a ke druhé souřadnici připočteme reálný přírůstek. |k|<1 –řídící osa je X |k|>1 –řídící osa je Y Vypočítáme si dx,dy, určíme si poč.kroků=max z abs.hodnot dx,dy, vypočítáme přírustky(px=dx/poč.kroků,py=..) a zaokrouhlujeme až před vykreslením.
3. Bresenhamův algoritmus pro úsečku -
Je efektivnější než DDA, protože je založen na celočíselné aritmetice. Nachází body nejblíže skutečné úsečce. Určíme si PREDIKCI a na základě znaménka rozhodneme mezi nejbližšími pixely. pro směrnici 0 < k < 1 (úhel úsečky 0 až 45°) platí: pro následující bod xi+1můžou nastat 2 varianty Pi<=0 -> yi+1 = yi pi=pi+ 2DeltaY Pi>0 -> yi+1 = yi + 1 pi=pi+ 2DeltaY-2deltaX pro jiné směry se nejprve rozhodneme, která osa je řídící, pak voláme příslušný algoritmus.
4. Bresenham - jak se udělá kružnice -
-
„Midpoint algoritmus“. Midpoint se nachází v polovině mezi dvěma nejbližšími body. Řídící osa je x a podle predikce určíme zda bude další yi-1(kladná) nebo jen yi(zápozná). Jestli leží uvnitř(záporná), nebo vně(kladná) kružnice. Počítáme body pouze pro jeden oktant. Zbylé body vytvoříme pomocí symetrie. Pozn: poloha středu kružnice a elipsy je pouze vzdálenost od počátku soustavy souřadnic, algoritmy pracují se stredem v počátku, je proto nutné posunout cílové body před vykreslením.
5. Bresenham - jak se udělá elipsa Pomocí „Midpoint algoritmu“ určujeme je-li bod uvnitř nebo vně elipsy. Elipsa musí být v základní poloze. Pro vykreslení nás stačí pouze jeden kvadrant. Pozor, dochází ke změně řídící osy z x na y.
6. Antialiasing -
Alias, aliasing-je vada obrazu, která je způsobena nenulovou velikostí pixelu. Antialiasing-metody zahrnující vizuální odstranění „zubatosti“ čar, založeno na nedokonalosti lidského oka. Kdy se kreslí v barevných odstínech, musí být podporovány. Antialiasing úsečky- kreslí se více pixelů než kterými úsečka prochází a podle plochy pokrytí se nastaví odstín. U DDA je to hodnota za desetinou čárkou, u Bersen. podle predikce.
7. Hranice -
objekt oddělující vnitřní plochu oblasti od okolí Geometricky určená: posloupnost bodů (vektorově) Nakreslená v rastru, na základě obrazové paměti, barvy jednotlivých pixelů (raster) Důležité rozhodnout, zda leží bod mimo oblast nebo vně Vyplňování: řádkové, semínkové, inverzní (zkrácení hrany o1px a aplikování DDA), šablonou Hranice: buď samostatná entita oddělující oblast nebo součást vyplňované oblasti
8. Algoritmus řádkového vyplňování -
Vhodné pro vektorově určenou oblast. Pro každý řádek se hledají průsečíky s hraničními úsečkami. 1. 2. 3. 4. 5.
-
odstraníme vodorovné hrany (nekonečně průsečíky) Orientujeme hrany Odstranění pixelu na y-nové souřadnici Nalezneme YMin a YMax Najdeme průsečíky, seřadíme dle x a spojíme liché sudé.
Šrafování - určení vztažného bodu, LH roh opsaného n-úhelník Pod úhlem - nutnost natočení celého objektu a vrácení Vyplňování vzorem- definice vzoru je uložena v obdélníkové matici, cílová barva se vybírá podle souřadnic kresleného pixelu, hledané souřadnice prvku matice jsou určeny celočíselným zbytkem po dělení (modulo) příslušnými rozměry této matice. Nutno znát vztažný bod (počátek)!
9. Inverzní a inverzní plotové vyplňování -
Vhodné pro vektorově určenou oblast Použití XOR režimu, výsledný pixel je kombinací podkladu a kresleného obrazu (opakovaným kreslením stejného motivu vznikne původní podklad) Inverzní-úsečky se kreslí až na kraj obrazovky Velmi rychlá metoda, zkrátíme hranu o 1px a kreslíme pomocí DDA Není nutná rientace hran a další ptákoviny Plotové-úsečky se kreslí k plotu->(svislice z vrcholu co nejblíže středu obrazce) šrafování možné jedině řešit šablonou
10.
Rozdíl mezi rasterizací oblasti a hranice
Rasterizace hranice závisí na řídící ose(x nebo y). Rasterizace oblasti se řídí osou y: záleží na pořadí operací, nejdříve oblast, potom hranice. Šablona – paměťová oblast, ve které provádí výpočtové operace (zpravidla 1bit na pixel)
11. -
Semínkové vyplňování - popis, spojitost rastrově definované oblasti
Vhodné pro rastrově vyplňovanou oblast. Základem je uživatelem definované semínko (počátek vyplňování). Úzce s tím souvisí definice hranice 4 a 8 spojitá. Rekurzivní metoda nebo pomocí zásobníku. Pixel obarvíme a s tím všechny jeho sousedy spadající do vnitřní oblasti
12.
Řádková varianta semínkového vyplňování 1. Vložíme do zásobníku semínko se všemi směry 2. Dokud není prázdný zásobník, posunujeme semínko do všech směrů 3. Pokud je bod nad semínkem uvnitř vyplňované oblasti, vložíme ho do zásobníku, akorát bez směru dolů 4. Pokud je bod pod semínkem uvnitř vyplňované oblasti, vložíme ho do zásobníku bez směru nahoru 5. Vyplňujeme aktuální řádek doprava a doleva dokud nenarazíme na hranici 6. Vyplníme oblast mezi krajními body 7. U bodu 5 kontrolujeme, zda nedochází ke změně z hranice/vyplňovanou oblast-pokud na takové semínko narazíme, vložíme do zásobníku. Nižší velikost zásobníku, méně opakování testování
13. -
Rozdíl mezi hraničním a záplavovým vyplňováním
Hraniční - semínko vyplňuje oblast, dokud má vnitřní bod jinou barvu, než hranice Záplavové - semínko vyplňuje oblast, dokud má oblast stejnou barvu jak původní semínko Vyplňování vzorem o Vzor: matice m x n o Uplatnění principu vyplňování oblasti určené geometrickou hranicí o Problém: pokud je ve vzoru stejná barva jako barva oblasti
14. -
Šrafování
Problém pro rastrovou oblast Řešení: vodorovné šrafování (dle y souřadnice) Šrafování pod úhlem – použití vzoru Použití šablony
15. -
Ořezávání
Algoritmy, které umožňují výběr z pouze viditelné části rastru (př. Okno na obrazovce) => zpravidla ořezáváme orientovaným obdélníkem U 3D řeší viditelnost 3D scény Specializace: test polohy bodu, ořezání úsečky, ořezání oblasti
16. -
Poloha bodu v konvexním mnohoúhelníku
Musíme určit polohu bodu vůči všem hraničním úsečkám. Tu získáme pomocí vektorového součinu u(AB) a s(AP). S<0 leží napravo, S=0 leží na úsečce, S>0 leží nalevo. Pokud je n-úhelník definován posloupností vrcholových uzlů -
proti směru hod. ručiček > je uvnitř, pokud leží vlevo od všech úseček po směru hod. ručiček > je uvnitř, pokud leží napravo od všech úseček
17. -
Poloha bodu vůči obecnému (nekonvexnímu) n-úhelníku
Vyhodnocujeme počet průsečíků vedených z bodu P libovolným směrem. Využíváme vodorovný paprsek. -
18. -
-
Cohen-Sutherland - nakresleni tech oblasti, popáani kódu a vztahy
Základem algoritmu je ohodnocení bodů hraničními kódy. Každý z bodů dostane ohodnocení v závislosti na poloze vůči ořezávanému oknu (reprezentace možná bitovým polem, objektem). Určíme, zda se nachází vlevo, vpravo, dole nahoře. Vyhodnocování: o Val(A) ∪ Val(B)=0 > úsečka je celá uvnitř – není potřeba ořezat o Val(A) ∩ Val(B)≠0 > úsečka je celá mimo – není potřeba s ní dále pracovat (pozor, vyřadí úsečky procházející i více oblastmi) o Val(A) ∩ Val(B)=0 > úsečka prochází ořezáv. oknem nebo jde o neodhalený případ bodu 2. úsečku je nutno ořezat, vybere bod mimo 0000 a podle 1 vybereme hranici, kterou zkrátíme
19. -
Liang barsky
Alternativa k cyrus-beck Ořezává úsečky dle osově orientovaného obdélníkového okna Optimalizovaný test polohy koncových bodů vzhledem k hranici Založeno na parametrickém vyjádření přímky. Minimální počet nově vytvářených hraničních bodů. Ořezává pravoúhelníkem, jehož hrany jsou rovnoběžné se SS. Postup: převedeme úsečku do parametrického tvaru, máme dané vlastnosti, které platí pro vnitřní ořezávanou oblast a 4 vztahy do kterých dosadíme hodnoty z úsečky. Můžou nastat tyto možnosti: -
20. -
Sudý poč. průsečíků > bod leží vně Lichý poč. průsečíků > bod leží uvnitř Problém: pokud paprsek prochází vrcholem => nutno rozpojit a odstranit vodorovné hrany
P=0 >úsečka je rovnoběžná s příslušnou hranicí ořezávané oblasti P<0 >úsečka směřuje do ořezávané oblasti P>0 >úsečka směřuje z ořezávané oblasti
Cyrus-beck
Parametrické ořezávání úseček vůči konvexnímu n-úhelníku Vektorový test s vnitřním normálovým vektorem hranice Ořezáváme konvexním m-úhelníkem – po jednotlivých úsečkách
21.
Sutterland-Hodgman
Ačkoli algoritmus obsahuje řezání hranic polygonu oknem, nelze jej provádět po jednotlivých dílčích úsečkách polygonu => došlo by k rozpadu hranice na nenavazující úsečky a poté by jej nebylo moné vyplnit jako celek => ořezáváme postupně vždy jen jednou hranicí okna
22.
Úpravy barev
-
Omezení počtu/prostoru barev – nejčastěji pro přípravu k tisku Náhodné rozptýlení, pravidelné, distribuce zaokrouhlením chyby
-
Náhodné rozptýlení Generátor čísel s rovnoměrným rozložením pokud náhodné číslo > než hodnota jasu (šedé barvy) = > 0 jinak 1 zachovány jasové poměry velká zrnitost
-
-
Maticové (pravidelné) rozptylovaní Pro výpočet se používá souřadnice vstupního pixelu (jasová složka) Působí jako ruční malba tužkou Pro generování různých odstínu šedi využívá pravidelných a předem daných vzorků složených s černé a bílé barvy. Distribuce chyby Vstupní pixel nahrazen minimální nebo maximální hodnotou intenzity na výstupu Aplikujeme prahování a výstupní intenzitu aplikujeme na sousední pixely Floyod-steinbergova metoda – navržen tak, aby nebylo celočíselným dělením zanedbána žádná informace – poslední díl distribuované chyby neurčíme dělením, ale rozdíl chyby a součtu všech vypočítaných dílů
23.
Geometrická transformace
-
Dopředné/zpětné mapování Problém: nemusí se zachovat velikost vstupního obrazu
-
Převzorkování Příčina: Vznikají díry, protože každý druhý pixel najednou nemá informace Nalezení spojitého obrazu k obrazu diskrétnímu Rekonstrukce obrazu
-
Interpolace nejbližším sousedem Nejjednodušší metoda. Výpočet spojité funkce z diskrétní funkce v diskrétních bodech Kopírování hodnoty nejbližšího souseda v okolí. Zaokrouhlení reálného čísla Může vést k hranám s malým skokem nebo naopak zvětšením skokoů, poškozneí tenkých čad atp. Proto vhodná pro rychlý náhled
-
Lineární a bilineární Bilineární: používá 4 pixely ze svého okolí
-
Kubická interpolace Vyšší kvalita Interpolační funkce s hladším průběhem Výpočetně náročnější
24. -
-
-
Transformace
Proces, při kterém dochází ke změně plochy, orientace, velikosti geometrie objektů o transformace v souřadnicovém systému (kartézský a polární) o Projekce (3D) o Lineární transformace (posunutí, otočení, změna měřítka, zrcadlení, zkosení) Vektorová grafika – transformace se aplikuje na všechny řídící body Rastrová grafika – transformace se aplikuje na všechny pixely rastru SS => souřadnicový systém o USS – univerzální SS, světový o SSZ – souřadnicový systém zařízení Transformační matice Řádkový vektor Sloupcový vektor
Homogenní matice Ne každou transformaci lze vyjádřit jako matici 2x2 rozšíříme homogenizační vektor w => matice3x3
Inverzní matice
Inverzní transformace neexistuje pro A=0
-
Souměrnost speciální případ změny měřítka abs. hodnota koeficientu = 1
25. -
-
Křivky
Soustava parametrů rovnice, generativně zobrazována => vyjádřena explicitně, implicitně nebo parametricky Modelování: základním druhem parametrických křivek jsou v PRG křivky polynomiální o Nejčastěji používané křivky třetího řádu (kubické) => nenáročný výpočet, snadná manipulace, zajištění C2 aproximační interpolační 2D – 3D Zadané analyticky (explicitně, explicitně) – zadané parametricky
26.
Rozdíl mezi interpolační / aproximační křivkou
-
Interpolační - prochází řídícími body … Aproximační - nemusí procházet řídícími body, snaží se je co nejlépe vystihnout pomocí nalezení aproximační funkce Spojitost: čím vyšší spojitost, tím hladší napojení C0 > poslední bod první a první bod druhé křivky C1 > tečné vektory obou křivek jsou si v daném uzlu rovny C2 > první derivace tečných vektorů, jsou si rovny Význam: C0 – animovaný objekt nezmění skokem polohu C1 – animovaný objekt nezmění skokem směr a rychlost C2 – animovaný objekt nezmění skokem zrychlení Interpolační křivky, metody tvorby (plus ten splajn a věci kolem). Máme ji určenou n+1 body, kde n představuje řád křivky. Musíme nalézt polynomiální funkci daného stupně. Řešení soustavou rovnic z které získáme a0,a1..an … Splajn-náhrada v dílčích intervalech <x0,x1><x2,x3>
27.
Interpolační
Lagrangeova křivka Při větším stupni bodů, je nevýhodou rozkmitání u krajních bodů. Posloupnost bodů musí být uspořádána podle x.
Kubický splajn Splajnová křivka určitého řádu má vlastně spojité derivace v určitém intervalu. Složená z polynomů a zaručuje spojitost derivací v navazovacích bodech. Splajn křivky jsou jistým zobecněním polynomiálních interpolací a aproximací.
-
Fergusonova křivka 3. řádu a Hermitovanské polynomy Ferg. Křivka je dána dvěma body a dvěma vektory, čím je větší velikost tečného vektoru, tím více se k němu křivka přimyká. 2 řídí body, 2 tečné vektory Čím je větší velikost vektoru, tím se blíže k němu přimyká křivka Nevýhoda: nesnadná editace tečného vektoru ve třech směrech
28.
Aproximační
-
Beziérova křivka Patrně nejpopulárnější aproximační křivky používané pro modelování ve dvou rozměrech, ale i pro definici trojrozměrných objektů, jsou Bézierovy křivky. Tyto křivky se často používají i při definici písma (font) . Bézierovy křivky n-tého stupně jsou určeny n + 1 body Pi řídicího polygonu a vztahem kde Bi jsou Bernsteinovy polynomy n-tého stupně -při změně jediného řídícího bodu dojde ke změně celé křivky Besierova krivka 3 radu, nejakejtypek polygon Použití rekurzivního algoritmu de Casteljau => Půlení úseček a vytvoření nových řídících bodů
-
Coonsova kubika Parametrické křivky a plochy Coonsův b-spline: vznikne navázáním coonsových kubik.. určen n=>4 Velkou roli hraje násobnost bodů řídícího polygonu
-
-
Spline křivky Přirozený spline: interpolační křivka skládající se z polynomálních křivek stupně tři, která je ve svých uzlech C2 spojitá
29.
Modelování
-
Těleso – množina bodů v trojrozměrném prostoru (vnitřní body, hraniční body)
-
Hraniční reprezentace těles Popis hranice pomocí množiny hraničních bodů Neuchovávám informaci o vnitřních bodech tělesa – odvodíme z hranice Manifold – těleso, které lze skutečně vyrobit
-
Hranová interpretace těles Nejstarší, nejjednodušší Informačně chudá (drátěný model)
-
Jeden seznam hran, jeden seznam vrcholů (souřadnice) => každá položka hran má dva ukazatele na seznam vrcholů Neposkytuje dostatečnou informaci o skutečném tvaru tělesa
-
Bodová interpretace těles Množina povrchových bodů Zpravidla získány digitálním snímáním objektů nebo výsledek algoritmu Každý bod má informace o: souřadnice, normálový vektor, barva, odraz světla a další vlastnosti Vysoká paměťová náročnost
-
Konstruktivní geometrie těles Využití v CAD Reprezentace tělesa stromovou strukturou (CSG stromem) Uchovává historii dílčích konstrukčních kroků pomocí CSG primitiv (kvádr, válec, koule, kužel, jehlan, toroid) Použití množinových operací (průnik, sjednocení)
30. -
-
3D
Definování tvaru prostorových objektů pomocí datových struktur a algoritmů pro vytvářená a následnou manipulaci s 3D objekty (Konstruktivní geometrie těles) hranový model (drátěný), povrchový model, objemový model, CSG: Spočívá v tom, že každé složité těleso lze poskládat z jednodušších (tzv. CSG primitiv) pomocí množinových operací, transformací. Velká výhoda ve strojnictví, snadné napodobování obráběných těles Šablonování – vhodné pro případy, kdy není možné použít konstrukci množinovými operacemi Povrchový model – těleso sestaveno z ploch, pro definování b-spline a bezier křivky
-
3D transformace Lineární transformace o Posunutí, otočení, změna měřítka, zkosení Transformační matice
-
Rozdíl transformace zadané explicitně VS matici (v 3D)
-
31. -
-
Hranový model-drátěný model, popsán pomocí vrcholů a hran, nedefinuje hmotu tělesa, povrchový model, objemový-nedefinuje povrch tělesa. Symetrie ve 3D o souměrnost dle středu, osy a roviny o při souměrnosti dochází ke změně orientace hran (proti směru a po směru hodin. Ruč.) Souřadnicové systémy o Pravotočivý, levotočivý Promítání - způsob zobrazení 3D do 2D: průmětna- plocha, na kterou se promítá o Kolmá projekce (technické kreslení, výkresová dokumentace) o Rovnoběžné promítání (axonometire, perspektiva, izometrie) o Středové promítání (paprsky vychází z jednoho bodu)3
32. -
Promítání
Zobrazení 3D objektů na 2D zobrazovacích zařízeních Věnuje se tomu samostatný vědní obor: deskriptivní geometrie Při promítání dochází ke ztrátě prostorové informace a může dojít ke zkreslení skutečných tvarů objektu Proto se používají různé způsoby promítání, které doplňujeme dalšími pravidly pro zvýšení představivosti Promítací paprsek – polopřímka vycházející z promítaného bodu Průmětna – plocha, na kterou dopadají paprsky a vytvářejí průmět (obraz v průmětně) o Pokud je průmětna rovinná, není nutné vykreslovat všechny body => transformace se nezakřivuje
33. -
3D modelovani a modely - druhy modelovani
Rovinné promítání
Rovnoběžné (paralelní) – všechny promítací paprsky mají stejný směr Mongovo promítání – bokorys, půdorys, nárys Axonometrie – průmětna, která není rovnoběžná s hlavními osami Kosoúhlé promítání – kombinace axonometire a Mongeovo promítání Výhody: používá se v CAD apod., protože se zvětšující vzdáleností od pozorovatele se nezkracuje vzdálenost v rovinách rovnoběžných s průmětnou
-
Středové (perspektivní) – paprsky vycházejí z jediného bodu Odpovídá optickému modelu, který vyjadřuje lidské vidění Proporciální zmenšování objektů (objekty vzadu jsou menší
-
Souřadnicové systémy Pravotočivý, levotočivý USC, SSS
34.
Malířův algoritmus
Jednotlivé stěny seřadíme podle vzdálenosti od průmětny. Určující je minimální a maximální hodnota z mezních souřadnic u každé stěny. Kreslení jednotlivých stěn provedeme od zadu do předu, je nutno testovat zda nejvzdálenější stěna nezakrývá část jiné stěny. - Testování překrývání dvou ploch, Warnockův algoritmus, Freeman-Loutrelův algoritmus - Neboli priority list - Kreslíme odzadu dopředu - Předpoklad: zpracováváme rovinné plochy, které se neprotínají - Postup: 1. Nejprve nalézt pro každou plochu nejmenší souřadnici Z 2. Setřídíme – není finální, protože v určité poloze plocha s menší souřadnicí může zakrývat plochu s větší souřadnicí 3. Testujeme, zda aktuální plocha není zakrývána jinými plochy=>vykreslíme nebo prohodíme 4. Bubláme seznamem dále -
U nekonvexních tvarů není schopen odhalit správně => nutno převést na konvexní
35.
Maticové rozptylovaní
Metoda pro zmenšení barevného prostoru. Důvodem může být omezení počtu barev výstup. zařízení, zmenšení velikosti. Pro generování různých odstínu šedi využívá pravidelných a předem daných vzorků složených s černé a bílé barvy.
36. -
-
-
Paleta 3-3-2 a 6-6-6
Barevný pixel má složky – r,g,b => algoritmus aplikován na tři samostatné části 3-3-2: Obecná/univerzální paleta, snaha rozdělit barevný prostor rovnoměrně, osmibitová paleta, 256barev, pro červenou a zelenou jsou vyhrazeny 3bity(8 úrovní) a pro modrou 2bity(4úrovně), lidské oko je na ni méně citlivější. Východy: jednoduchá tvorba Nevýhody: pouze několik odstínů barev, horší reprodukce některých obrázků Tvorba: rozdělení RGB os na pravidelné úseky, vytvoření 256 kombinací pro index 0..255
-
6×6×6: 6 hodnot pro každý RGB kanál, 216 barev, horší využití 256 pozic, prostor pouze pro některé systémové barvy a šedé odstíny 8 bitova paleta (216 barev + misto na připadne systemove) – standardni bezpečna webova paleta, každa barva ma 6 urovni udavane v HEX jsou to: 00, 33, 66, 99, CC a FF. Použivalo se pro zajištěni shodnych barev na všech monitorech/prohližečich/systemech.
-
6-6-6: 18 bitova paleta (262 144 barev) – pro každou barvu 6 bitů, je to nativní barevna hloubka pro VGA zobrazeni
-
37. -
-
-
-
Standardní a adaptivní (optimalizovaná) paleta
Obecná je 3-3-2 a adaptivní je vlastní (optimalizovaná) paleta Standardní/obecná/univerzální paleta 3-3-2 Pravidelně vybrané barvy z RGB krychle Nelze ji rozdělit stejně na 3 části, protože máme jen 8 bitů => 3r(8 úrovní)+3g(8 úrovní)+2b (2 úrovně) – 256 barev Nevadí, protože lidské oko je na modrou barvu nejméně citlivé Výhody: jednoduchá tvorba Nevýhody: pouze několik odstínů barev, obsahuje odstíny, které jsou zastoupeny i v minimálním počtu nebo vůbec Horší reprodukce některých obrázků Není nutné při aplikaci algoritmů znát předem celou barevnou strukturu obrazu Barvy rozdělují paletu na přibližně 3 stejné části o různých barvách. Z těchto barev pak jejich mícháním vznikají odstíny barev. o subtraktivní: paleta je vyjádřena pomocí CMY (azurová, purpurová a žlutá). Při smíchání všech barev nám vznikne černá. o aditivní: paleta vyjádřena pomocí RGB (červená, zelená a modrá). Při jejich smíchání nám vznikne barva bílá Adaptivní paleta Odpovídá použitým odstínům v obrazu Maximalizování kvality obrazu Použití např. u GIF 1. Vytvoření histogramu, který uchováváme v trojrozměrném poli – 3x8 bitů s 2563 hodnotami potřebujeme 16 milionu četností=> zbytečné a náročné=> lze snížit na 3x5bitů tedy 323 hodnot 2. Na základě histogramu nalezneme tolik oblastí, kolik má mít vytvářená paleta barev – typicky 256 3. pixely vstupního obrazce nutno převést na indexy v paletě – pro každou vstupní barvu nutno nalézt nejbližší barvu (rozptylování, distribuce chyby)
-
-
Snaha o maximální přizpůsobení se barvám v rastru. Pro každý obrázek vlastní paleta. Někdy se do ní zahrnují i základní barvy. Složitá tvorba- vytvoření histogramu a převedení do prostoru RGB, hledání určitého počtu oblastí pokrývající co nejvíce použitých barev. Tvorba: shora nahoru ... krychle zdola nahoru … shluková metoda Gif soubory vytvářejí vlastní paletu na základě barevného rozložení obrázku.
38. -
Obecná a adaptivní paleta
RGB – adaptivní míchání barev: 0 – černá 255 – bílá 128 – šedá cmyk opačně – subtraktivním míchání barev, barvy od sebe odečítáme smícháním cmy vznikne k o převod RGB na CMYK se stará driver tiskárny adobe RGB – vylepšená aplikace RGB pro věrohodnější zobrazení sRGB: standard HP a MS pro zobrazování na monitoru, tiskárnách, internetu, gama 2.2
-
Ztrátová komprese Pro dosažení lepšího kompersního poměru odstraněny některá data z obrázku Pixelové zhušťování -> do jednobo B uložíme informace o více pixelech Proudové kódování->rychlá, ale málo výkonná- princip opakování řetězců znaků AAAAAA66666XXXXXXt -> 7A566X1t LZW komperese->nejrozšířenější, neztrátová, založeno na slovníkové kompresi Hufmann-sahnonovo kódování (CCITT) – rozbor komprimovaného textu, určení četností jednotlivých znaků a překódování
39. -
-
Je to zobrazeni 3D grafiky v 2D prostoru. Kolmá projekce: zobrazuje objekt v jeho zakladni poloze (narys, bokorys, půdorys), neni nazorny, použiva se v technickem kresleni Rovnoběžné promítání: všechny parsky jsou rovnoběžne. Jsou různe druhy promitani: axonometrie (použiva projekčni roviny, ktere nejsou rovnoběžne s hlavnimi osami), perspektiva (jedno, dvou a třibodova) a izometrie Středové promítání: promitani na valcovou nebo kulovou plochu
40. 41. -
-
-
Úprava jasu a kontrast Histogram
Kvantifikuje množství a frekvenci barev obsažených v obraze Vektor absolutních četností Hodnota po index říká, kolik pixelů má v obraze intenzitu i Jednorozměrný vektor nebo třírozměrný vektor Součet hodnot histogramu je roven počtu pixelů Statistická veličina (pravděpodobnost výskytu) Změny histogramu Editace křivek Změna jasu/kontrastu – zachována hodnota černé a bílé, zbývající barevné hodnoty upraveny (skřivka) Černý a bílý bod: minimální hodnota posunuta do středu grafu (tedy k nejtmavší hodnotě), a maximální a nejsvětlejší hodnotě => vzniknout prázdná místa v histogramu a chybějící info řeší distribuce chyby Prahování: Aplikujeme prahování a výstupní intenzitu aplikujeme na sousední pixely Gama korekce: Ekvalizace histogramu: nalezení mapovací funkce, která rozloží hodnoty v histogramu rovnoměrně => jasově vyrovnaný obraz
42. -
Typy promítání
Symetrie u transformaci
Souměrnost dle středu, osy a roviny Double buffering – technika zamezující blikání obsahu, důmyslné neustálé překreslování