Vyplňování souvislé oblasti



Podobné dokumenty
Jana Dannhoferová Ústav informatiky, PEF MZLU

Univerzita Palackého v Olomouci

Grafická data jsou u 2D vektorové grafiky uložena ve voxelech NEPRAVDA Grafická data jsou u rastrové grafiky uložena v pixelech PRAVDA Grafická data

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Jana Dannhoferová Ústav informatiky, PEF MZLU

Text úlohy. Kolik je automaticky generovaných barev ve standardní paletě 3-3-2?

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

Ten objekt (veličina), který se může svobodně měnit se nazývá nezávislý.

Text úlohy. Vyberte jednu z nabízených možností:

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

SPIRIT Nové funkce. SOFTconsult spol. s r. o., Praha

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

6.2.1 Zobrazení komplexních čísel v Gaussově rovině

01_Grafické rozhraní

Seznámení Corel Draw. PDF vytvořeno zkušební verzí pdffactory Pro Panel Vlastnosti. panel základních kreslicích nástrojů

Návody k domácí části I. kola kategorie A

Mgr. Markéta Trnečková, Ph.D. Palacký University, Olomouc

1. Je dána funkce f(x, y) a g(x, y, z). Vypište symbolicky všechny 1., 2. a 3. parciální derivace funkce f a funkce g.

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

11 Zobrazování objektů 3D grafiky

Malířův algoritmus Josef Pelikán CGG MFF UK Praha. 1 / 15

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

9 Prostorová grafika a modelování těles

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 12

5 Algoritmy vyplňování 2D oblastí

Fakulta elektrotechniky a informatiky Počítačová grafika. Zkouška ústní

4 Rasterizace liniových objektů

8. Geometrie vrací úder (sepsal Pavel Klavík)

4. Lineární nerovnice a jejich soustavy

Rastrová reprezentace

Grafické programy pro tvorbu 3D modelů

Základní vlastnosti křivek

Programovací stanice itnc 530

Perspektiva jako matematický model objektivu

Geometrické vyhledávání

Vzorce počítačové grafiky

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

PŘEDNÁŠKA KURZU MPOV

Fergusnova kubika, která je definována pomocí bodu P1, vektoru P1P2, bodu P3 a vektoru P3P4

Grafika na počítači. Bc. Veronika Tomsová

Výpočetní geometrie Computational Geometry

MRBT M8. VIDITELNOST OBJEKTŮ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Bc. MARTIN MAŠTERA

8. VIDITELNOST. Cíl Po prostudování této kapitoly budete umět. Výklad. P i O M. a A. b A. 8. Viditelnost

Rastrová a vektorová data

Euklidovský prostor Stručnější verze

Kreslení a vlastnosti objektů

Jak pracovat s absolutními hodnotami

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

INFORMATIKA PRO ZŠ. Ing. Veronika Šolcová

Cvičení 5 z předmětu CAD I PARAMETRICKÉ 3D MODELOVÁNÍ ODLITKU - OBROBKU

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Grafické adaptéry a monitory

IDEA Frame 4. Uživatelská příručka

ROČNÍKOVÁ PRÁCE Tříúběžníková perspektiva

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Scribus základní kurz

Rovnice. RNDr. Yvetta Bartáková. Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

Předmět: Konstrukční cvičení - modelování součástí ve 3D. Téma 5: Další možnosti náčrtů a modelování

MATEMATIKA II - vybrané úlohy ze zkoušek v letech

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Funkce zadané implicitně

11. Geometrická optika

BRICSCAD V13 X-Modelování

Watkinsův algoritmus řádkového rozkladu

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

Určování výměr Srážka mapového listu Výpočet objemů Dělení pozemků

Počítačová grafika 1. Úvod do grafiky, základní pojmy. Rastrová grafika.

GYMNÁZIUM, VLAŠIM, TYLOVA

Použité zdroje a odkazy: Nápověda Corel Draw X6, J. Švercl: Technické kreslení a deskriptivní geometrie pro školu a praxi

Základní škola Moravský Beroun, okres Olomouc

12. Křivkové integrály

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

má spojité parciální derivace druhého řádu ve všech bodech této množiny. Výpočtem postupně dostaneme: y = 9xy2 + 2,

- obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys

Počítačová grafika RHINOCEROS

MATEMATIKA II - vybrané úlohy ze zkoušek ( 2015)

Rámcový manuál pro práci s programem TopoL pro Windows

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

OBSAH. ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5. INSTALACE...6 Systémové požadavky...6 Začátek instalace...

obecná rovnice kružnice a x 2 b y 2 c x d y e=0 1. Napište rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem A[-3;2].

y n+1 = g(x n, y n ),

Matematika II, úroveň A ukázkový test č. 1 (2017) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

Osvětlování a stínování

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

10.1 Úvod Návrhové hodnoty vlastností materiálu. 10 Dřevo a jeho chování při požáru. Petr Kuklík

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný

DATOVÉ FORMÁTY GRAFIKY, JEJICH SPECIFIKA A MOŽNOSTI VYUŽITÍ

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

Západočeská univerzita v Plzni. Fakulta aplikovaných věd Katedra matematiky. Geometrie pro FST 1. Pomocný učební text

Obecné zadání 1. semestrální práce - ZOBRAZOVÁNÍ

Reprezentace 3D scény

Prsten, bod, konstrukční čáry Zhotoveno ve školním roce: 2011/2012 Jméno zhotovitele: Ing. Karel Procházka

manuál CADKON-KROVY CADKON-KROVY kreslení dřevěných konstrukcí pro Autodesk Architectural Desktop

Elementární plochy-základní pojmy

Druhy masek 1 tvary ohraničené vyhlazené bez stínování

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Transkript:

Počítačová grafika Vyplňování souvislé oblasti Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU. Které z následujících tvrzení není pravdivé: a) Princip interpolace je určení souřadnic pixelů a jejich barevné hloubky, které reprezentují tvar základních grafických prvků b) Princip interpolace využívá souřadnic pixelů a barvy pixelů k vyjádření rastrových dat vektorovým způsobem c) Princip interpolace je stanovení polohy a hodnoty pixelů, které nejlépe nahradí zadanou křivku d) Princip interpolace využívá souřadnic pixelů a barevné hloubky k vyjádření vektorových dat rastrovým způsobem. Jedním z algoritmů, který se používá při vykreslování úsečky na monitoru je: a) Digitální diferenciální analyzátor (algoritmus DDA) b) Algoritmus nejkratších polocest c) Šifrovací algoritmus RSA d) Algoritmus slepé koleje. Pro kresbu celé kružnice stačí vypočítat souřadnice bodů: a) Jednoho kvadrantu b) Dvou kvadrantů c) Jednoho oktantu d) Dvou oktantů. Pro počítačovou grafiku má největší význam křivka zadaná: a) Implicitně b) Parametricky c) Explicitně d) Ve tvaru spojité funkce. Stav, kdy vzdálenost uzlů nemusí být např. u křivek NURBS konstantní, vyjadřujeme slovem: a) nespojitý b) nehomogenní c) neuniformní d) neracionální Oblast Metody podle reprezentace hranice obecný prvek pro kreslení plošných obrazců (vždy uzavřená) definice oblasti souvisí s popisem její hranice: geometricky určená hranice je zadána pomocí posloupnosti bodů definujících mnohoúhelník nebo pomocí jedné či více navazujících křivek (příp. jako průnik poloprostorů) základní metodou je řádkové hranice nakreslená v rastru (v obrazové paměti) tvar hranice může být libovolný nutno znát buď barvu hranice nebo barvu vnitřní oblasti (příp. barvu vně oblasti) základní metodou je semínkové a) řádkové b) semínkové Úloha oblasti A) Vyplňování geometricky určené hranice je rozdělena na dvě části: ) nalezení vnitřních bodů algoritmicky složitější ) obarvení vnitřních bodů použito může být: prázdná oblast (empty, void, hollow) jedna barva (solid fill) šrafování (hatch fill) opakovaně nanášený vzorek (pattern tilling) interpolace barvy geometricky zadaná hranice se může protínat (které body budou vnitřní?) a) paritní b) vnitřní c) obtočení bodu hranicí d) více hranic

Paritní polygonální oblasti je přirozené, nejjednodušší a nejběžnější odpovídá intuitivnímu pohledu na hranici jako entitu oddělující vyplněný a nevyplněný prostor pro vnitřní bod platí, že libovolná polopřímka z něj vedená protne lichý počet hran oblasti (lichá x sudá parita) základní metody: paritní řádkové rozklad na trojúhelníky Paritní řádkové nebo tzv. rozkladovými řádky každým řádkem rastru je vedena pomyslná vodorovná čára a jsou hledány její průsečíky s hranicemi oblasti nalezené průsečíky na jedné čáře se seřadí dle souřadnic x dvojice těchto průsečíků definují úsečky ležící uvnitř oblasti 7 8 Metoda řádkového Metoda řádkového Pro každý řádek y:. vytvoř seznam průsečíků x i řádku y se všemi hraničními úsečkami u i. uspořádej seznam průsečíků podle souřadnic x i. vykresli vodorovné úseky mezi lichými a sudými průsečíky v seznamu. zruš seznam průsečíků y B C D A G 8 x E F BC CD, EF FG BC CD, EF FG BC CD, (DE), EF FG AB? BC FG AB FG AB (GA) - FG 9 nutnost předzpracování jednotlivých hraničních úseček vynechání vodorovných hraničních úseček systematické zkrácení všech hran (vede ke snížení počtu průsečíků, funkčnost zůstane zachována) y B C D A G 8 x E F y B B A C D E 8 x 0 F G Paritní řádkové Inverzní celkový postup: ) Pro všechny hraniční úsečky ověř: a) je-li vodorovná, vynech ji (případně vykresli) b) uprav orientaci shora dolů a zkrať ji o ve směru y c) aktualizuj mezní souřadnice celé hranice y max a y min ) Pro y od y min do y max proveď: a) nalezni průsečíky hran s řádkem y b) uspořádej všechny průsečíky podle souřadnice x c) vykresli úseky mezi lichými a sudými průsečíky ) Vykresli hranici oblasti (je-li třeba) nevyžaduje řazení průsečíků šablona univerzální pomocná paměť (stencil buffer) vhodná pro ukládání dočasných hodnot pro různé algoritmy stala se běžnou součástí grafických akcelerátorů (rozměry mívá totožné s velikostí obrazovky) část paměti, ve které je prováděno oblasti (inverováním/negací hodnot v šabloně) pixel obrazové paměti = bit v šabloně (vyplněno/nevyplněno)

Inverzní Inverzní každá hraniční úsečka je zpracována samostatně (pro každou souřadnici y hraniční úsečky je vykreslena vodorovná čára vedoucí od bodu na úsečce s odpovídající souřadnicí x k bodu s maximální souřadnicí x celé hranice, příp. celé obrazovky) po zpracování první úsečky je takto vyplněn lichoběžník (zleva omezený touto úsečkou a zprava svislou čárou o souřadnici x = x max ) další hraniční úsečky způsobí smazání části tohoto lichoběžníku, případně jeho doplnění o nové vyplněné oblasti ) Vyčisti šablonu ) Pro každou nevodorovnou hranu: a) zkrať hranu o jeden pixel zdola a rasterizuj hranu b) nalezni řádkovým rozkladem její pixely [x,y] c) invertuj pixely ve vodorovném úseku [x,y] [x max,y] Plotové Plotové časově úspornější plot myšlená svislá čára, která může protínat i vnitřek oblasti výsledkem je obecně nižší počet pixelů, které je třeba invertovat Pro všechny hrany dělej: Pro každou horizontální řádku, která protíná hranu v bodě [x,y ]: jestliže průsečík je vlevo od plotu, pak komplementuj vš. pixely, jejichž střed leží vpravo od [x,y ] a vlevo od plotu jinak komplementuj všechny pixely, jejichž středy leží vpravo od plotu a vlevo od [x,y ] 7 Šrafování rozšířeno především v technických aplikacích v praxi se uplatňuje šrafování pod určitým úhlem (např. ) (vodorovné šrafování + transformace otáčení) otočení všech hraničních úseček oblasti o úhel - aplikování algoritmu vodorovného šrafování vykreslení každého k-tého řádku před vykreslením vypočítané vodorovné úseky otočíme zpátky o úhel a teprve pak zobrazíme Šrafování pomocí přerušovaných čar při šrafování přerušovanými čárami může dojít k nežádoucímu optickému jevu 8 kreslení zahájené od levého okraje vodorovného úseku vytváří při pohledu z dálky siluetu (kopíruje levou hranici oblasti) odstranění: úprava algoritmu (šrafování nezávislé na tvaru a umístění oblasti) 9

Vyplňování vzorem Pinedův algoritmus opakované šrafování téže oblasti pod různými úhly vzor je umístěn nezávisle na poloze hranice oblast je považována za výřez, kterým uživatel nahlíží na nekonečný vzor v pozadí příklad vyplnění trojúhelníku definovaného pomocí orientovaných přímek (průnik polorovin) hranová funkce: E(x,y) = (x X).dY (y Y).dX E(x,y)>0, pak (x,y) je vpravo E(x,y)=0, pak (x,y) leží na hraně E(x,y)<0, pak (x,y) je vlevo někdy je žádoucí, aby se vzor pohyboval spolu s oblastí 0 Pinedův algoritmus příklady strategií procházení rovinnou oblastí min/max obrat na hranici plot/paralelní vyhodnocení B) Vyplňování hranice nakreslené v rastru hranice není geometricky jasně určena (všechny informace se získávají čtením z obrazové/rastrové paměti) metody jsou obecně nazývány semínkové (seed fill) semínko vybraný vnitřní bod oblasti od semínka se rozšiřuje prohledávání obrazové paměti a nalezeným vnitřním bodům se nastaví nová barva směr prohledávání a úzce souvisí s charakterem hranice a s tím, co považujeme za její vnitřek rozlišujeme tyto vnitřní oblasti: -spojitá (-souvislá) oblast 8-spojitá (8-souvislá) oblast (většina systémů zpracovává 8-spojitou hranici a -spojitou oblast) Semínkové Semínkové každému typu oblasti odpovídá jiný typ hranice pro ohraničení 8-spojité oblasti musíme použít -spojitou hranici (problém vyplnění bodů i za touto hranicí) a) -spojitá oblast ohraničená 8-spojitou hranicí b) 8-spojitá oblast ohraničená -spojitou hranicí při semínkovém postupujeme od zadaného semínka a zkoumáme, zda jeho sousední body patří k vnitřku oblasti příslušnost je ovlivněna testovanou vlastností základní varianty: hraniční (testovaný bod je vnitřní, má-li jinou barvu, než je zadaná barva hranice) záplavové (lavinové) (testovaný bod je vnitřní, má-li stejnou barvu jako zadané semínko tzv. přebarvování)

Semínkové hraniční Semínkové záplavové vyplnění až k hranici dané barvy přebarvení pixelů dané barvy 7 Semínkové záplavové Semínkové záplavové -souvislá oblast 8-souvislá oblast 8 9 Řádkové semínkové metoda, která snižuje počet přístupů do obrazové paměti používá zásobník, ve kterém jsou uchovány souřadnice jen několika vnitřních bodů vyplňované oblasti ) Vlož uživatelem zadané semínko do zásobníku ) Dokud není zásobník prázdný: a) vyjmi semínko o souřadnicích [x,y] ze zásobníku b) nalezni hranici x L a x R na řádku y v nejbližším okolí bodu [x,y] c) nakresli úsečku [x L,y] [x R,y] d) na (vyšší) úsečce [x L,y + ] [x R,y + ] hledej souvislé vnitřní úseky a pro každý z nich vlož do zásobníku souřadnice jednoho vnitřního bodu e) na (nižší) úsečce [x L,y ] [x R,y ] hledej souvislé vnitřní úseky a pro každý z nich vlož do zásobníku souřadnice jednoho vnitřního bodu 0 Řádkové semínkové

Ořezávání D objektů Ořezávání v rovině Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU ořezávací algoritmy jsou specializovány na: test polohy bodu ořezání úsečky ořezání oblasti speciální postupy osově orientované okno umožňuje použít jednoduché testy porovnáváním příslušné souřadnice s hraniční hodnotou u obecně orientované hranice je vhodné použít rovnici hraniční přímky: F(x,y) = a * x + b * y + c = 0 a testovat pozici bodu P=[x p,y p ] pomocí testu F(x p,y p ) > 0 (leží uvnitř) F(x p,y p ) = 0 (leží na hranici) F(x p,y p ) < 0 (leží mimo) Cohen-Sutherland Ořezávání polygonů metoda ořezávání úsečky obdélníkovým oknem algoritmus označuje krajní body úseček pomocí hraničních kódů možné polohy úsečky vůči oknu: kód(p) kód(q) = -celá úsečka leží uvnitř kód(p) kód(q) -celá úsečka leží mimo okno kód(p) kód(q) = -úsečku je třeba oříznout zahrnuje v sobě úlohu ořezání úseček podle hranice (chceme-li pouze obrys n-úhelníku, pak stačí ořezávat hrany samostatně jako úsečky) pro ořezání polygonů podle okna se používají: Cohen-Sutherland (ořezání každé hrany polygonu podle celého okna) Sutherland-Hodgman (postupně ořezává polygon podle jednotlivých hranic) Sutherland-Hodgman Literatura používá se pro ořezání vyplněných polygonů ořezává postupně podle každé hrany pravoúhlého okna pro zjednodušení se ořezává pořád podle stejné hrany a polygon se po každém ořezu otočí o 90 Beneš, B., Felkel, P., Sochor, J., Žára, J. Moderní počítačová grafika. Computer Press: Brno, 00. Beneš, B., Sochor, J., Žára, J. Algoritmy počítačové grafiky. ČVUT: Praha, 99. Sochor, J.: Základy počítačové grafiky. FI MU: Brno, 00. 7