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. odstraníme vodorovné hrany (nekonečně průsečíky) 2. Orientujeme hrany 3. Odstranění pixelu na y-nové souřadnici 4. Nalezneme YMin a YMax 5. 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. - 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 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: - 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 20. 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í C 2 - 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. 3D modelovani a modely - druhy modelovani - 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. 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 256 3 hodnotami potřebujeme 16 milionu četností=> zbytečné a náročné=> lze snížit na 3x5bitů tedy 32 3 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. Typy promítání - 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. Úprava jasu a kontrast 41. 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. 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í