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

Podobné dokumenty
Kreslení elipsy Andrej Podzimek 22. prosince 2005

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.

4 Rasterizace liniových objektů

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

1.1 Napište středovou rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem

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

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].

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

5. Statika poloha střediska sil

Skládání různoběžných kmitů. Skládání kolmých kmitů. 1) harmonické kmity stejné frekvence :

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

Univerzita Palackého v Olomouci

4. Statika základní pojmy a základy rovnováhy sil

Příklady k analytické geometrii kružnice a vzájemná poloha kružnice a přímky

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

2.8.6 Parametrické systémy funkcí

Metodické listy pro kombinované studium předmětu. B_PPG Principy počítačové grafiky

MANUÁL K ŘEŠENÍ TESTOVÝCH ÚLOH

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)

Zobecněné klínové plochy

7.5.3 Hledání kružnic II

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

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které

13 Barvy a úpravy rastrového

Úloha 1. Text úlohy. Vyberte jednu z nabízených možností: NEPRAVDA. PRAVDA Úloha 2. Text úlohy

2 Grafický výstup s využitím knihovny

Křivky a plochy technické praxe

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ TĚŽIŠTĚ

Urci parametricke vyjadreni primky zadane body A[2;1] B[3;3] Urci, zda bod P [-3;5] lezi na primce AB, kde A[1;1] B[5;-3]

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

4. cvičení. 15. října 2014

III Určování hodnot funkcí sinus a cosinus

Vyplňování souvislé oblasti


SEZNAM ANOTACÍ. CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT VY_32_INOVACE_MA4 Analytická geometrie

P R O M Í T Á N Í. rovina π - průmětna vektor s r - směr promítání. a // s r, b// s r,

Analytická geometrie (AG)

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

1. Dva dlouhé přímé rovnoběžné vodiče vzdálené od sebe 0,75 cm leží kolmo k rovine obrázku 1. Vodičem 1 protéká proud o velikosti 6,5A směrem od nás.

Kapitola 8. prutu: rovnice paraboly z = k x 2 [m], k = z a x 2 a. [m 1 ], (8.1) = z b x 2 b. rovnice sklonu střednice prutu (tečna ke střednici)

10. Analytická geometrie kuželoseček 1 bod

umenugr JEDNOTKA PRO VYTVÁŘENÍ UŽIVATELSKÝCH GRAFICKÝCH MENU Příručka uživatele a programátora

Analytická geometrie lineárních útvarů

Kapitola 2. o a paprsek sil lze ztotožnit s osou x (obr.2.1). sil a velikost rovnou algebraickému součtu sil podle vztahu R = F i, (2.

Matematika prima. Vazby a přesahy v RVP Mezipředmětové vztahy Průřezová témata. Očekávané výstupy z RVP Školní výstupy Učivo (U) Žák:

na interpolovaný pohyb s LMC078, servosystémem LXM32 a kartézským robotem.

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

11 Zobrazování objektů 3D grafiky

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

ŠROUBOVICE. 1) Šroubový pohyb. 2) Základní pojmy a konstrukce

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

Pedagogická poznámka: Celý obsah se za hodinu stihnout nedá. z ] leží na kulové ploše, právě když platí = r. Dosadíme vzorec pro vzdálenost:

= cos sin = sin + cos = 1, = 6 = 9. 6 sin 9. = 1 cos 9. = 1 sin cos 9 = 1 0, ( 0, ) = 1 ( 0, ) + 6 0,

TECHNICKÉ KRESLENÍ. Technické normy. Popisové pole. Zobrazování na technických výkresech

Gymnázium Jiřího Ortena, Kutná Hora

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

VÝUKA PČ NA 2. STUPNI základy technického modelování. Kreslící a modelovací nástroje objekty, čáry

Gymnázium Jiřího Ortena, Kutná Hora

POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

ZŠ ÚnO, Bratří Čapků 1332

Příklad 1: Nakreslete libovolnou uzavřenou rovinnou křivku a sestrojte rovinnou plochu, Návod:

Důkazy vybraných geometrických konstrukcí

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 27 NÁSTROJE KRESLENÍ]

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Aleš Najman [ÚLOHA 28 NÁSTROJE EDITACE ]

Maturitní otázky z předmětu MATEMATIKA

Komplexní čísla a funkce

DUM 02 téma: Corel - křivky

KVADRATICKÁ FUNKCE URČENÍ KVADRATICKÉ FUNKCE Z PŘEDPISU FUNKCE

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Konstrukce součástky

Pravoúhlá axonometrie

Pokyny k hodnocení MATEMATIKA

Opakování k maturitě matematika 4. roč. TAD 2 <

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

7.5.1 Středová a obecná rovnice kružnice

Maticová optika. Lenka Přibylová. 24. října 2010

HVrchlík DVrchlík. Anuloid Hrana 3D síť

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

prostorová definice (viz obrázek vlevo nahoře): elipsa je průsečnou křivkou rovinného

Popis základního prostředí programu AutoCAD

Cvičení 2 PARAMETRICKÉ 3D MODELOVÁNÍ ROTAČNÍ SOUČÁST HŘÍDEL Inventor Professional 2012

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

Maturitní témata od 2013

Vzorce počítačové grafiky

PRINCIPY POČÍTAČOVÉ GRAFIKY

SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE

Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s.

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Univerzita Palackého v Olomouci. Základy kreslení 2D výkresů v AutoCADu 2013

CVIČNÝ TEST 51. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Rovnice přímek v rovině

ANALYTICKÁ GEOMETRIE V ROVINĚ

. Grafika a plovoucí prostředí. Zpracování textů na počítači. Ing. Pavel Haluza, Ph.D. ústav informatiky PEF MENDELU v Brně haluza@mendelu.

17 Kuželosečky a přímky

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

Transkript:

Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní zařízení potřebujeme zajistit co nejvěrnější podobnost reálného a zobrazovaného modelu. Omezíme se v tomto textu na rastrové výstupní zařízení, jehož nejjednodušším grafickým prvkem je bod. Protože složitější objekty jsou jen skládankou jednodušších objektů, potřebujeme mít k dispozici algoritmy na výpočet polohy bodů jednoduchých objektů jako úsečky, kružnice, elipsy, oblouků, atd... Ukážeme si některé algoritmy pro výpočet bodů úsečky a kružnice. 4.1 Úsečka a lomenná čára Úsečka je nejjednodušším grafickým prvkem. Jejich skládáním se dají vytvářet lomené čáry a další křivočaré útvary. Vykreslení úsečky by mělo být co nejefektivnější a nejrychlejší. Úsečka lze zapsat dvěma způsoby: 1. souřadnicemi počátečního a koncového bodu [x 1, y 1 ], [x 2, y 2 ], 2. pomocí počátečního bodu [x 1, y 1 ] a směrového vektoru m = x y = y 2 y 1 x 2 x 1 Podle velikost směrnice m se určí, vzhledem ke které ose se bude vzorkovat. Pro m < 1 je úsečka blíž k ose x a tedy bude vzorkována vzhledem k ní. Pro m > 1 je úsečka vzorkována na ose y a pro m = 1 může být řídící osa libovolná. Rozlišujeme dva typy posloupnosti pixelů (obr. 4.1): 1. osmispojitá (8-connected) - každý pixel má osm sousedů čtyři ve vodorovném a svislém směru a čtyři úhlopříčně 1

2 KAPITOLA 4. RASTERIZACE OBJEKTŮ 2. čtyřspojitá (4-connected) - používá se zřídka, každý pixel má jen čtyři sousedy ve vodorovném s svislém směru. Obrázek 4.1: 4-spojitý a 8-spojitý pixel Vzhledem ke zvolenému typu pixelů se objekty vykreslují vybarvováním pixelů, které co nejvíce vystihují úsečku. Pro určení, které pixely budou vykresleny existuje několik algoritmů. My si ukážeme algoritmus DDA a Bresenhamův algoritmus pro kresbu úsečky. 4.1.1 Algoritmus DDA Jedná se o přírůstkový algoritmus pro výpočet bodů úsečky. Postup spočívá v tom, že postupně zvedáme o jeden pixel hodnoty na x-ové souřadné ose a dopočítáváme odpovídající bod y. Jelikož jsou souřadnice pixelů vždy celá čísla, provede s zaokrouhlení hodnoty a pixel se vykreslí. Algoritmus je jednoduchý, ale relativně pomalý, protože pracuje v oboru reálných čísel. Alogitmus pro rasterizaci ve směru osy x. Pro m > 1 je prováděna rasterizace ve směru osy y a v algoritmu se zamění operace s x a y. 1. Z koncových bodů [x 1, y 1 ], [x 2, y 2 ] urči směrnici m podle vzorce výše. 2. Inicializuj bod [x, y] hodnotou [x 1, y 1 ]. 3. Dokud je x x 2 opakuj: (a) Vykresli bod [x, zaokrouhlené (y)] (b) x = x + 1 (c) y = y + m

4.1. ÚSEČKA A LOMENNÁ ČÁRA 3 Obrázek 4.2: Vykreslení úsečky algoritmem DDA (rasterizace ve směru osy x) 4.1.2 Bresenhamův algoritmus pro kresbu úsečky Tento algoritmus byl objeven v šedesátých letech minulého století panem Bresenhamem. Jeho výhoda je v tom, že pracuje pouze s celými čísly. Víme, že od daného pixelu [x, y] můžeme umístit další pixel (při rasterizace po ose x) pouze na dvou pozicích [x+1, y] nebo [x+1, y +1]. Rozdíly mezi souřadnicí y středů uvedených pixelů a skutečnou souřadnicí y označíme d 1, d 2 a můžeme je celočíselně vypočítat z parametrické rovnice kreslené úsečky. Jejich rozdíl potom vyhodnotíme. Pokud je kladný, je d 1 > d 2 a bližším pixelem je ten ve vzdálenosti d 2. Postup je názorně předveden na obr. 4.3. Obrázek 4.3: Princip Bresenhamova algoritmu Na obr. 4.4 je ukázka rasterizace obecné úsečky a obdélníka. 4.1.3 Kresba silné a přerušované čáry Silnou čáru můžeme kreslit pomocí dvou typů algoritmů. Jednoduchý postup je rychlý, ale dochází v něm k nepřesnostem. Jedná se o Bresenhamův algoritmus, kdy se v každém kroku vykresluje několik pixelů nad sebou či vedle sebe. Má však

4 KAPITOLA 4. RASTERIZACE OBJEKTŮ Obrázek 4.4: dd nevýhody. První z nich je, že se tloušt ka čáry liší podle jejího sklonu (vzhledem k metrice rastru) a druhou nevýhodou je zakončení čar, které je rovnoběžné s některou souřadnou osou. Přesný postup je však početně náročnější. Pracuje na principu vyplňování plochy, která určuje silnou čáru. Jako nejjednodušší tvar se používá obdélník, u něj je problém při napojování lomené čáry. Vhodnější je kresba pomocí obdélníků se zakulacenými rohy. Pro kresbu přerušované čáry opět uvedeme dva algoritmy. První je založen na známém Bresenhamově algoritmu, kdy přidáme informaci o tom, zda jsme v úseku, který má být zobrazen či ne. Nevýhodou je opět metrika na rastrovém poli. Při různých sklonech úsečky budou dělící dílky nestejně dlouhé, což opticky působí nepřirozeně. V praxi se většinou používá přesnější postup, založený na výpočtu délek dělících úseček. Potom se teprve použije známý algoritmus pro každý dílek samostatně. V závislosti na kvalitě programu je možné pozorovat různé zobrazení koncových dílku. Některé algritmy umí rozdělit úsečku tak, aby poslední dílek byl vždy viditelný. 4.2 Kružnice a elipsa Kružnice se klasicky definuje středem a poloměrem. Elipsa je zase dána středem a velikostí hlavní a vedlejší poloosy. Otočením ji lze umístit do libovolné polohy. Při kresbě eliptických či kružnicových oblouků je navíc nutné definovat počáteční a koncový bod oblouku. Při výpočtu bodů na kružnici stačí nalézt souřadnice oblouku 45 stupňů (obr. 4.6 vlevo), nebot všechny další body dostaneme záměnou souřadnic a změnou znamének.

4.3. KONTROLNÍ OTÁZKY 5 Obrázek 4.5: Kresba silné čáry v rastru Princip je opět na bázi Bresenhamova algoritmu pro úsečky. Jsme ve výchozím pixelu a ptáme se, kam ted můžu jít a testujeme, která pozice je blíž vykreslované kružnici (obr. 4.6 vpravo). Výhodu tohoto postupu je opět rychlost, nebot vždy pracujeme pouze s celými čísly. Obrázek 4.6: Rasterizace kružnice Elipsa se na rozdíl od kružnice musí vygenerovat pro celý kvadrant, tj. devadesát stupňů. Opět se použije Bresenhamův algortimus pouze s celočíselnou aritmetikou. Jediný rozdíl je ve tvaru testovací funkce, který z možných kandidátů na další bod leží blíž elipse. 4.3 Kontrolní otázky 1. Popište Bresenhamův algoritmus kreslení úsečky. 2. Co je algoritmus DDA?

6 KAPITOLA 4. RASTERIZACE OBJEKTŮ 3. Jaký je rozdíl mezi 8-spojitým a 4-spojitým pixelem. 4. Jaký je princip kreslení přerušované čáry? 5. Jaký je princip kreslení tlusté čáry? 6. Popište myšlenku kreslení kružnice. 4.4 Literatura Bresenham algoritmus http://slady.cz/java/bresenham/ (česky s Javou) http://graphics.idav.ucdavis.edu/education/ GraphicsNotes/Bresenhams-Algorithm/Bresenhams-Algorithm.html http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html http://en.wikipedia.org/wiki/bresenham s_line_algorithm Kresba tlusté čáry a kružnice http://www.acm.uiuc.edu/bug/be%20book/ The%20Interface%20Kit/3_CoordinateSpace.html http://rich12345.tripod.com/circles/ // algoritmus pro kružnici