Klepnutím do kreslícího plátna a tažením myši se provede rasterizace kružnice požadovaného průměru. Kružnice se může rasterizovat jednou ze 4 metod, která se dá vybrat v panelu Metoda rasterizace. Každá kružnice může mít také vlastní barvu, která se volí v panelu Barva kružnice.
Zde je možno měnit jas mřížky a její velikost.
Zde se vypisují informace o chodu programu (rychlost vykreslení kružnice, střed a poloměr kružnice). Také se zde vypisuje výsledek benchmarku.
Vychází z obecné rovnice kružnice (vzorec 1). Jako hlavní proměnná je X, pro kterou na intervalu <poloměr, +poloměr> vypočítáme z obecné rovnice kružnice hodnotu Y. Počítáme jen horní polovinu kružnice, spodní se odvodí díky souměrnosti kružnice podle osy X. V jednom průchodu se vypočítají 2 body. Nevýhody:
(vzorec 1)
Taktéž Vychází z obecné rovnice kružnice (vzorec 1). Jako hlavní proměnná je opět X, pro kterou ale z obecné rovnice dopočítává Y jen na intervalu <1, +poloměr>. Počítáme hodnoty jen v jednom kvadrantu. Ostatní se odvodí podle souměrnosti kružnice podle osy X a Y. V jednom průchodu se vypočítají 4 body. Nevýhody:
Vychází z obecné rovnice kružnice (vzorec 1) stejně jako předchozí 2 metody. Hlavní proměnná je X a k ní dopočítáváme z obecné rovnice kružnice hodnotu Y. Hodnoty počítáme jenom pro 1 oktant (kdy X<Y) a ostatní odvodíme díky souměrnosti kružnice podle os X, Y a podle diagonál. Kružnice je po stranách vykreslena již korektně. V jednom průchodu se vypočítá 8 bodů. Nevýhody:
Vychází z Bresenhamova algoritmu pro rasterizaci úsečky. Osa X je hlavní osa, na které máme nastaven konstantní krok od 0 do průsečíku kružnice s diagonálou (x=y). Máme zaveden rozhodovací člen p, který určuje souřadnici Y následujícího bodu. Tento rozhodovací člen vypočteme z obecné rovnice kružnice, do které dosadíme za X následující bod a za Y tzv. střední bod, který leží mezi aktuálním Y bodem a o 1 pixel menším (vzorec 2). Je-li rozhodovací člen záporný, tak následující bod bude mít stejnou souřadnici Y, je-li kladné, tak následující bod bude mít Y souřadnici menší o 1. V každém průchodu přepočítáváme rozhodovací člen p (vzorce 3).
(vzorec 2)
(vzorce 3)
Název: Ukázkový program zaměřený na rasterizaci
kružnice
Zadání: Program bude umožňovat rasterizovat kružnici
několika základními metodami. Možnost měnit velikost rastru, nastavovat
barvu kružnice, zobrazení pomocných os, benchmark jednotlivých metod.
Autor: Petr Kašpar
Login: KAS265
Ak. rok: 2007/2008
Předmět: ZPG
Dokumentace: link
Seznam potřebných souborů:
Části programu třetích stran: Ve třídě BufferNakreslenychObjektu v metodě Paint je procházení Vektoru naprogramováno podle tutoriálu Frederica Boussinota (http://www-sop.inria.fr/…eads/FTJava/).