ZPG projekt 1 - rasterizace kružnice

V tomto prohlížeči nelze applet spustit.

Uživatelská dokumentace

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.

Popis významu tlačítek v panelu Nastavení

Popis významu tlačítek v panelu Mřížka

Zde je možno měnit jas mřížky a její velikost.

Výstupní konzole

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.

Metody rasterizace

Jednoduchá

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:

Rovnice kružnice (vzorec 1)

Jednoduchá 4-souměrná

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:

Jednoduchá 8-souměrná

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:

Bresenham

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

Člen p (vzorec 2)

Člen p (vzorce 3)

O programu

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ě BufferNakresle­nychObjektu v metodě Paint je procházení Vektoru naprogramováno podle tutoriálu Frederica Boussinota (http://www-sop.inria.fr/…eads/FTJava/).