KRESLENÍ OBLASTÍ JANA ŠTANCLOVÁ

Slides:



Advertisements
Podobné prezentace
Matematická analýza Lineární algebra Diferenciální rovnice
Advertisements

MS Malování I. VY_32_INOVACE_57_MS_Malovani_I.
Počítačová grafika Nám umožňuje:
TVAROVÉ A ROZMĚROVÉ PARAMETRY V OBRAZOVÉ DOKUMENTACI
Zpracováno v rámci projektu SIPVZ 0120P2006
Konstrukce trojúhelníků
Zoner Callisto 4 II. Pracovní prostředí editoru Úpravy objektů Křivky Text Vkládání obrázku Barevná výplň VY_32_INOVACE_60_Zoner_Callisto4_II.
MS Malování II. VY_32_INOVACE_58_MS_Malovani_II.
Rovnice roviny Normálový tvar rovnice roviny
COREL DRAW SEZNÁMENÍ Úvod, seznámení se se systémem Pracovní plocha
Škola: SŠ Oselce, Oselce 1, Nepomuk,
GIMP - úvod. GIMP je aplikace pro vytváření a úpravu rastrové grafiky, zejména fotografií a webové grafiky vznikl v linuxovém prostředí, ale existuje.
GIMP - úvod. GIMP je aplikace pro vytváření a úpravu rastrové grafiky, zejména fotografií a webové grafiky vznikl v linuxovém prostředí, ale existuje.
(polohové vlastnosti) POZNÁMKY ve formátu PDF
Vlastnosti funkcí Vypracoval: Mgr. Lukáš Bičík
T.A. Edison Tajemství úspěchu v životě není v tom, že děláme, co se nám líbí, ale, že nacházíme zalíbení v tom, co děláme.
5. Přednáška funkce BRVKA Johann P.G.L. Dirichlet (1805 – 1859)
Miloslav Mazanec © 2013 Počítačová grafika.
Téma: Shodnosti a souměrnosti
Informatika I 2. přednáška
Rovinné útvary.
Předmět: Počítačová grafika 1 (PGRF1) Přednáška č
6_Geometrické obrazce Mnohoúhelník Lomená čára: Uzavřená lomená čára:
2.1.2 Graf kvadratické funkce
Strojírenství Technické kreslení Pravoúhlé promítání (ST16)
Bitmapová (rastrová) grafika
Základní pojmy Grafiky
Matice.
OPAKOVÁNÍ VYPOČÍTEJTE IMPEDANCI SERIOVÉHO SPOJENÍ REZISTORU O ODPORU R= 10 Ω, INDUKTORU O VLASTNÍ INDUKČNOSTI L= 200 mh A KAPACITORU O KAPACITĚ C=220.
Reaktivní stromy. Motivace Existují algoritmy, které jsou schopny generalizovat výskyt i tvar jednotlivých objektů obsažených na mapě s daným měřítkem.
Základy práce s programem
VEKTOROVÁ GRAFIKA Zatímco v rastrové grafice je celý obrázek popsán pomocí hodnot jednotlivých barevných bodů (pixelů) uspořádaných do pravoúhlé mřížky,
Technické kreslení Řezy a průřezy
Vektorová grafika.
GRAFIKA úvod.
Juliovy množiny 1.
Způsoby uložení grafické informace
Autor:Jiří Gregor Předmět/vzdělávací oblast: Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Informatika Základní formáty počítačové grafiky Obrázek: Žaneta Lažková 2012.
Vektorová grafika. Vektorové entity Úsečka Kružnice, elipsa, kruhový oblouk,… Složitější křivky, splajny, Bézierovy křivky, … Plochy Tělesa Modely.
ProgeCAD Základy kreslení.
VÍCE OBRÁZKŮ V JEDNOM GRAFICKÉM OKNĚ PŘÍKAZ SUBPLOT(a,b,c) a – POČET OBRÁZKŮ VODOROVNĚ b - POČET OBRÁZKŮ SVISLE c - URČENÍ POZICE KTERÝ OBRÁZEK V MATICI.
Stereometrie Kolmost přímek a rovin Mgr. Jakub Němec
Bitmapová (rastrová) grafika
Tato prezentace byla vytvořena
Kružnice trojúhelníku opsaná
ProgeCAD Základy kreslení.
Geografické informační systémy pojetí, definice, součásti
REPREZENTACE 3D SCÉNY JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
Vektorové tutoriály Gymnázium a Jazyková škola s právem státní jazykové zkoušky Svitavy Ditta Kukaňová.
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
Mgr. Vilibald Schlapák ZÁKLADY KÓTOVÁNÍ Pořadové číslo projektu CZ.1.07/1.1.18/ „Řemesla s techniky začneme od píky“ Datum vytvoření:
Matematika a její aplikace 3. až 5. ročník Téma: Geometrické útvary Ing. Hana Adamcová Vytvořeno: 2011.
KŘIVKY A PLOCHY JANA ŠTANCLOVÁ
CorelDRAW – vlastnosti objektů
Překladače 5. Syntaktická analýza
Strukturované typy proměnných v programovacím jazyce Pascal - 1.hodina
Základy práce s programem
VY_32_INOVACE_geometricketvary-trojuhelnik_20
Počítačová grafika Zoner Callisto Efekty
Zoner Callisto – křivky
Soustava tří lineárních rovnic Řešení Gaussovou eliminační metodou
ProgeCAD Základy kreslení.
Základy práce s programem
Provozováno Výzkumným ústavem pedagogickým v Praze.
Tento projekt je spolufinancován z EVROPSKÉHO SOCIÁLNÍHO FONDU
Digitální učební materiál
Juliovy množiny 1.
SVG vektorová grafika Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
ANALYTICKÁ GEOMETRIE Analytická geometrie je část geometrie, která v euklidovské geometrii zkoumá geometrické útvary pomocí algebraických a analytických.
Transkript prezentace:

KRESLENÍ OBLASTÍ JANA ŠTANCLOVÁ jana.stanclova@ruk.cuni.cz Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK

Obsah obsah definice oblastí a jejich vyplnĕní vyplňování oblasti s geometricky určenou hranicí vyplňování barvou vyplňování vzorkem šrafování vyplňování oblasti s hranicí v rastru jednoduché semínkové vyplňování řádkové semínkové vyplňování ořezávání objektů v rovině Cohen-Sutherlandův algoritmus 2/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Oblast oblast popis hranice oblasti vždy uzavřená popis hranice + způsob vyplnění popis hranice oblasti geometricky určená hranice posloupnost bodů definujících mnohoúhelník poslední vrchol = první vrchol → uzavřená oblast hranice nakreslená v rastru libovolný tvar hranice definice oblasti barva hranice / vnitřních bodů / bodů vně oblasti souřadnice jednoho vnitřního bodu oblasti 3/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Vyplnění oblasti vyplnění oblasti oblast se nevyplňuje kreslení hranice vyplnění všech vnitřních bodů jedinou barvou „solid fill“ šrafování oblasti „hatch fill“ obtížné pro hranice nakreslené v rastru opakované nanášení vzorku „pattern filling“ vzorek složen z jednoho nebo více barevných bodů 4/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

S GEOMETRICKY URČENOU HRANICÍ Oblast s geometricky určenou hranicí VYPLŇOVÁNÍ OBLASTI S GEOMETRICKY URČENOU HRANICÍ 5/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování vyplňování geometricky určené hranice pomyslná čára řádkem rastru průsečíky čáry s hranicí oblasti seřazení průsečíků podle x-ové souřadnice dvojice průsečíků → úsečky uvnitř oblasti y x [0,0] 6/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka sedmiúhelník A .. G hledání úseček shora dolů 7/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka Krok 1 první úsečka a její průsečíky → 4 hraniční úsečky BC, CD, EF, FG → nakreslení 2 úseček s nulovou délkou 8/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka Krok 2 druhá úsečka a její průsečíky → 4 hraniční úsečky BC, CD, EF, FG → nakreslení 2 úseček 9/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka Krok 3 třetí úsečka a její průsečíky → vyloučena vodorovná hrana DE → nekonečně průsečíků 10/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka Krok 4 čtvrtá úsečka a její průsečíky → problém: lichý počet průsečíků !! → problém: vrchol B → není lokální extrém hranice ve smyslu souřadnice y a neleží na vodorovné hraniční čáře 11/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka Krok 5 pátá úsečka a její průsečíky → nakreslení jediné úsečky 12/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové vyplňování mnohoúhelníka Řádkové vyplňování mnohoúhelníka Krok 6 šestá úsečka a její průsečíky → vyloučení vodorovné hrany GA → nakreslení jediné úsečky 13/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Úpravy hraničních úseček problém na 4. řádku ... ?? 14/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Úpravy hraničních úseček problém na 4. řádku řešení: zkrácení všech hran zdola o 1 pixel ve směru osy y → zdánlivé rozpojení uzavřené hranice 15/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Úpravy hraničních úseček problém na 4. řádku řešení: zkrácení všech hran zdola o 1 pixel ve směru osy y → zdánlivé rozpojení uzavřené hranice → systematické zkrácení hran → snížení počtu průsečíků jen 2 průsečíky problém vyřešen vodorovné hrany kresleny dodatečně 16/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Algoritmus vyplňování řádkovým rozkladem pro všechny hraniční úsečky úsečka vodorovná → vynechá se (případně se vykreslí) úprava orientace shora dolů zkrácení zdola o 1 pixel aktualizace mezní souřadnice celé hranice ymin a ymax pro y ∈ <ymin, ymax> nalezení průsečíků hraničních úseček s řádkem y uspořádání průsečíků podle x vykreslení úseků mezi lichými a sudými průsečíky vykreslení hranice oblasti (je-li třeba) 17/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Vyplňování oblasti vzorem zobecnění metody řádkového vyplňování → na úseky kladen barevný vzor barevný vzor obdélníková matice M např. 8 × 8 kreslení pixel nakresel podle předpisu PutPixel (x, y, M[y mod 8, x mod 8]) souřadnice barva (podle vzoru) 18/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti rozšíření metody řádkového vyplňování šrafování vodorovnými plnými čarami metoda řádkového vyplňování + změna kroku změny souřadnice y nekreslí se každý řádek (pro každé y), ale každý m-tý řádek 19/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti šrafování přerušovanými čarami šrafování s pevným začátkem optický jev: čárkování při pohledu z dálky vytváří siluetu silueta kopíruje levou hranici objektu šrafování vzhledem ke vztažnému bodu čárkování nanášeno relativně k určitému bodu např. počátek souřadnic umístění jednotlivých čárek nezávislé na tvaru a umístění oblasti oblast → výřez, kterým uživatel nahlíží na „nekonečný“ vzor na pozadí 20/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti šrafování pod obecným úhlem α vodorovné vyplňování + transformace otáčení postup otočení hraničních úseček o úhel α na upravenou hranici použit algoritmus vodorovného šrafování kreslen každý m-tý řádek vypočítané vnitřní úseky před vykreslením otočeny o úhel -α 21/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

(pro výpočet šrafování) Šrafování oblasti šrafování pod obecným úhlem α vykreslený vyšrafovaný objekt otočení zpět o úhel -α otočený objekt (pro výpočet šrafování) 22/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti opakované šrafování oblasti pod různými úhly → vytvoření složitějších vzorů šrafování obdélníka přerušovanými čarami pod třemi různými úhly?? 0º (vodorovné šrafování) 60º 120º 23/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti opakované šrafování oblasti pod různými úhly → vytvoření složitějších vzorů šrafování obdélníka přerušovanými čarami pod třemi různými úhly?? 0º (vodorovné šrafování) 60º 120º 24/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti opakované šrafování oblasti pod různými úhly → vytvoření složitějších vzorů šrafování obdélníka přerušovanými čarami pod třemi různými úhly?? 0º (vodorovné šrafování) 60º 120º 25/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Šrafování oblasti opakované šrafování oblasti pod různými úhly → vytvoření složitějších vzorů šrafování obdélníka přerušovanými čarami pod třemi různými úhly?? 0º (vodorovné šrafování) 60º 120º 26/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Oblast s hranicí nakreslenou v rastru VYPLŇOVÁNÍ OBLASTI S HRANICÍ NAKRESLENOU V RASTRU 27/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Semínková vyplňování semínkové vyplňování („seed fill“) semínko vybraný vnitřní bod oblasti hranice v rastru není jasně definována informace o vyplňované oblasti získávány čtením z obrazové (rastrové) paměti postup začátek = semínko postupné prohledávání obrazové paměti → hledání vnitřních bodů oblasti vnitřní body obarveny novou barvou 28/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Semínková vyplňování vnitřní bod oblasti hraniční vyplňování vnitřní bod → jiná barva než barva hranice záplavové vyplňování (přebarvování) vnitřní bod → stejná barva jako zadané semínko 29/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Hraniční vyplňování hraniční vyplňování vnitřní bod → jiná barva než barva hranice vyplnění až k hranici dané barvy GetPixel(x,y) ≠ barva_hranice 30/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Záplavové vyplňování záplavové vyplňování (přebarvování) vnitřní bod → stejná barva jako zadané semínko přebarvení pixelů dané barvy GetPixel(x,y) = původní_barva 31/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Vnitřní body oblasti směr prohledávání a vyplňování závisí na definici vnitřku hranice klasifikace vnitřních bodů oblasti 4-souvislá oblast dva body oblasti → existuje cesta složená z vodorovných a svislých kroků po vnitřních bodech oblasti 8-souvislá oblast povoleny i diagonální kroky po vnitřních bodech oblasti 32/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

4-souvislá oblast 4-souvislá oblast dva body oblasti → existuje cesta složená z vodorovných a svislých kroků po vnitřních bodech oblasti záplavové vyplňování 33/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

8-souvislá oblast 8-souvislá oblast povoleny i diagonální kroky po vnitřních bodech oblasti záplavové vyplňování 34/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Jednoduché semínkové vyplňování algoritmus procedure Semínko(x,y) begin je-li bod [x,y] vnitřní, pak obarvit bod [x,y] požadovanou barvou provést Semínko(x+1,y) provést Semínko(x-1,y) provést Semínko(x,y+1) provést Semínko(x,y-1) end nevýhody ?? 35/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Jednoduché semínkové vyplňování algoritmus procedure Semínko(x,y) begin je-li bod [x,y] vnitřní, pak obarvit bod [x,y] požadovanou barvou provést Semínko(x+1,y) provést Semínko(x-1,y) provést Semínko(x,y+1) provést Semínko(x,y-1) end nevýhody „elegantní“ rekurzivní algoritmus → v praxi nepoužitelný šíření semínek do všech směrů → každý pixel mnohokrát testován i když už byl obarven čtení z obrazové paměti ... velmi pomalá operace 36/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové semínkové vyplňování - I 37/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové semínkové vyplňování - II 38/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Algoritmus - řádkové semínkové vyplňování řádkové semínkové vyplňování („scan-line seed fill“) algoritmus vložení semínka do zásobníku dokud není zásobník prázdný: vyjmutí semínka [x,y] ze zásobníku nalezení hranice xL a xR na řádku y v nejbližším okolí bodu [x,y] nakreslení úsečky [xL,y] - [xR,y] hledání souvislých vnitřních úseků na (vyšší) úsečce [xL,y-1] - [xR,y-1] každý nalezený úsek → vložení jednoho vnitřního bodu úseku do zásobníku hledání souvislých vnitřních úseků na (nižší) úsečce [xL,y+1] - [xR,y+1] 39/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Vlastnosti algoritmu řádkové semínkové vyplňování snížení počtu přístupů do obrazové paměti používá malý zásobník pro souřadnice několika vnitřních bodů vyplňované oblasti prohledávání sousedních pixelů → jen v jednom řádku pixelů (úsek) hledání nových semínek → nad a pod úsekem 40/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Hledání nových semínek 41/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové semínkové vyplňování 42/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové semínkové vyplňování 43/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové semínkové vyplňování 44/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Řádkové semínkové vyplňování 45/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezávání objektů v rovině 46/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezávání v rovině 47/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezávání úsečky ořezávání úsečky původní úsečka krajní body [xA, yA] a [xB, yB] → co je „vidět“ z úsečky ve výstupním okně ?? 48/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezávání úsečky ořezávání úsečky původní úsečka ořezaná úsečka krajní body [xA, yA] a [xB, yB] → co je „vidět“ z úsečky ve výstupním okně ?? ořezaná úsečka úsečka výstupní okno neprotne → Ø úsečka leží celá ve výstupním okně → úsečka [xA, yA] - [xB, yB] úsečka „zasahuje“ do okna → nutné přepočítat koncové body [x’A, y’A] - [x’B, y’B] souřadnice „ořezané úsečky“ neceločíselné → zaokrouhlování → vznik nepřesností v kresbě → Cohen-Sutherlandův algoritmus 49/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Rozdělení roviny na oblasti 50/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

každá oblast ... 4-místný kód Kódy oblastí každá oblast ... 4-místný kód XYUV 1 ... y > ymax 0 ... y ≤ ymax 1 ... y < ymin 0 ... y ≥ ymin 1 ... x > xmax 0 ... x ≤ xmax 1 ... x < xmin 0 ... x ≥ xmin 51/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Zakódování oblastí 52/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Zakódování oblastí 53/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Zakódování oblastí 54/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Zakódování oblastí 55/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Zakódování oblastí 56/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Cohen-Sutherlandův algoritmus spočtení kódů krajních bodů CA a CB úsečky AB úsečka leží celá uvnitř okna → ?? úsečka leží celá mimo okno 57/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Cohen-Sutherlandův algoritmus spočtení kódů krajních bodů CA a CB úsečky AB úsečka leží celá uvnitř okna → CA ⋁ CB = 0000 úsečka leží celá mimo okno → CA ⋀ CB ≠ 0000 pokud neplatí 2. ani 3. úsečka může (ale nemusí) protnout okno ořezání úsečky → pro každou jedničku v CA i CB rovnice přímky, na které úsečka leží 58/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezání úsečky pro každou jedničku v CA i CB ... postupné ořezání úsečky jednička na první pozici v kódu → yA > ymax souřadnice ořezaného bodu A’ 59/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezání úsečky pro každou jedničku v CA i CB ... postupné ořezání úsečky jednička na druhé pozici v kódu → yA < ymin souřadnice ořezaného bodu A’ 60/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezání úsečky pro každou jedničku v CA i CB ... postupné ořezání úsečky jednička na třetí pozici v kódu → XA > xmax souřadnice ořezaného bodu A’ 61/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz

Ořezání úsečky pro každou jedničku v CA i CB ... postupné ořezání úsečky jednička na čtvrté pozici v kódu → xA < xmin souřadnice ořezaného bodu A’ 62/62 Jana Štanclová, jana.stanclova@ruk.cuni.cz