Algorytmy rastrowe

background image

Algorytmy rastrowe:

rysowanie okręgu i

elipsy.

background image

Urządzenia rastrowe:

Monitor

Kartka papieru w drukarce,ploterze

Obraz składa się ze skończonej liczby

elementów nazywanych pikselami.

Piksele tworzą siatkę prostokątną

uporządkowana w l linii i k kolumn.

l x k –rozdzielczość urządzenia graficznego.
Aspekt urządzenia graficznego - odległość

między środkami sąsiednich pikseli w
poziomie do odległości w pionie.

background image

Rasteryzacja

Zamiana ciągłej funkcji 2D na funkcję
dyskretną (rysowanie okręgu na podstawie
równania okręgu).

Problem sprowadza się do wyboru pikseli,
którym trzeba nadać kolor, aby w efekcie
otrzymać wymagany kształt.

background image

Algorytmy generacji
krzywych

Algorytmy numeryczne

Algorytmy inkrementacyjne

background image

Algorytmy numeryczne -
idea

Numeryczna analiza krzywej podanej w
sposób jawny przez funkcję opisującą
krzywą i funkcje będące różniczkami
cząstkowymi.

background image

Algorytmy
inkrementacyjne - idea

Generacja krzywych od punktu
początkowego do punktu końcowego.
Na podstawie punktu bieżącego liczy się
elementarne przesunięcie określające
punkt następny.

Wykorzystują własności geometryczne
krzywych w przestrzeni dyskretnej
(rastrowej) i ich własności strukturalne.

background image

Algorytmy rysowania
okręgu:

Algorytm Bresenhama

dla 1/4 okręgu

dla 1/8 okręgu

Algorytm DDA(Digital Differential Analized)

background image

Algorytm Bresenhama

Założenia:

równanie okręgu x

2

+y

2

=R

2

R - liczba naturalna

Środek okręgu w początku układu współrzędnych

kreślona jest ¼ okręgu

Kierunek kreślenia – ruch wskazówek zegara

Kolejne punkty wybierane są metodą

inkrementacyjną (dla ¼ okręgu wybierany jest

jeden z trzech sąsiednich punktów rastra)

background image

Algorytm Bresenhama

Założenia:

Aspekt ekranu a=p/q ≠1

Ośmiokierunkowy wybór pikseli
przybliżających krzywą F(x,y)=p

2

x

2

+q

2

y

2

-

q

2

R

2

=0

background image

Algorytm Bresenhama

Punkty okręgu generowane przez
algorytm

background image

Algorytm Bresenhama -
idea

Taki wybór punktów aby różnica pomiędzy
promieniem poprowadzonym do
wybranego punktu rastra, a rzeczywistym
promieniem R była jak najmniejsza.

Wybór sprowadza się do analizy trzech
pikseli.

background image

Algorytm Bresenhama

Analizę zaczynamy od punktu P

0

=(0,R)

Istotny jest punkt, którego współczynnik
kierunkowy wynosi -1

Dzieli on ćwiartkę okręgu na dwa fragmenty,

w których wybieramy różne piksele.

background image

Algorytm Bresenhama

W pierwszym fragmencie wybieramy

pomiędzy pikselami A i B w drugim
pomiędzy B i C

background image

Algorytm Bresenhama
Analiza punktów środkowych

Kryterium Van Akenema – rozstrzygnięcie, środek

którego z pikseli leży bliżej przybliżanego
okręgu.

Wybór zależy od wartości funkcji f w punkcie

środkowym S między alternatywnymi pikselami.

I: II:
fs

i

=f(x

i

+1,y

i

-1/2)

fs

i

=f(x

i

+1/2 ,y

i

-1)

fs

i

> 0 to punk zew. -> wybieramy I:B, II:C

fs

i

< 0 to punk wew. -> wybieramy I:A, II:B

background image

Algorytm Bresenhama
Wartość zmiennej
decyzyjnej

Dla startowego piksela P

0

=(x

0

,y

0

)=(0,R)

wartość zmiennej decyzyjnej:

fs

0

=f(x

0

+1,y

0

-1/2)=p

2

(0+1)

2

+q(R-1/2)

2

-

q

2

R

2

=

=p

2

-q

2

R+q

2

/4

background image

Algorytm Bresenhama
Wartość zmiennej
decyzyjnej

Dla pierwszego fragmentu okręgu p

2

x<q

2

x

zwiększamy wartość x o 1 i wybieramy A lub B
Przejście:

P

i

-> P

i+1

=A

x

i+1

=x

i

+1 y

i+1

=y

i

f(x

i+1

+1, y

i+1

-1/2)=f(x

i

+1, y

i

-1/2 ) +2p

2

x

i+1

+p

2

lub krócej:

fs

i+1

=fs

i

+2p

2

x

i+1

+p

2

Przejście:

P

i

-> P

i+1

=B

x

i+1

=x

i

+1 y

i+1

=y

i

-1

fs

i+1

=fs

i

+2p

2

x

i+1

+p

2

-2q

2

y

i+1

background image

Algorytm Bresenhama
Wartość zmiennej
decyzyjnej

Dla drugiego fragmentu okręgu p

2

x>q

2

x

zwiększamy wartość y o 1 i wybieramy B lub

C.

Wybór B,lub C powinien zależeć od nowej

wartości

f(x

i+1

+1/2, y

i+1

-1), a nie od starej f(x

i+1

+1,

y

i+1

-1/2).

Różnica pomiędzy nimi wynosi:

background image

Algorytm Bresenhama

Nowa wartość zmiennej
decyzyjnej

Poprzednio obliczoną zmienną decyzyjną

wystarczy zmodyfikować o tę wartość:

Korzystając z rekurencji przeanalizować

wybór punktu B lub C.

background image

Algorytm Bresenhama
Wartość zmiennej
decyzyjnej

Przejście P

i

-> P

i+1

=B

x

i+1

=x

i

+1 y

i+1

=y

i

-1

fs

i+1

= f(x

i+1

+1/2, y

i+1

-1)=fs

i

+2p

2

x

i+1

-

2q

2

y

i+1

+q

2

Przejście P

i

-> P

i+1

=C

x

i+1

=x

i

y

i+1

=y

i

-1

fs

i+1

=fs

i

-2q

2

y

i+1

+q

2

background image

Algorytm Bresenhama -
przypomnienie

p,q,R – liczby naturalne

Znak zmiennej decyzyjnej fs

i

decyduje o

wyborze piksela.

background image

Algorytm Bresenhama dla
elipsy

Ta sama procedura jak przy rysowaniu koła.
Założenia:

Równanie elipsy:

Rysujemy w I ćwiartce układu współrzędnych

Zaczynamy od pkt (0,b) zgodnie z ruchem
wskazówek zegara.

W każdym kroku stawiamy symetrycznie 4
pkt. elipsy.

background image

Algorytm Bresenhama dla
elipsy

Założenia:

Ośmiokierunkowy wybór pikseli
przybliżających krzywą F(x,y)=b

2

x

2

+a

2

y

2

-

a

2

b

2

=0

Początkową osią wiodącą jest oś OX

W punkcie zmiany osi wiodącej
współczynnik nachylenia stycznej do elipsy
wynosi -1 (tg 135

o

)

background image

Algorytm Bresenhama dla
elipsy

Kryterium przejścia osi wiodącej z OX na
OY.

background image

Algorytm Bresenhama dla
elipsy

Do określenia, który piksel znajduje się
bliżej kreślonej figury stosujemy jak dla
okręgu kryterium Van Akenema

background image

Algorytm DDA

Podstawą rysowania figury jest postać
opisującego ją równania różniczkowego.

Algorytm korzystający z operacji
mnożenia i funkcji trygonometrycznych,
wolna realizacja.

Zasada działania – równoczesne
zwiększanie x i y o niewielki przyrost ε.

Rysujemy 1/8 okręgu.

background image

Algorytm DDA

Postać równania różniczkowego przy
założeniach:

środek okręgu=początek układu

współrzędnych

background image

Algorytm DDA

Obliczanie współrzędnych kolejnych punktów:
x

i+1

=x

i

+εy

i

y

i+1

=y

i

2

y

i

- ε x

i

Wartości przyrostów nie są stałe i muszą być

obliczane dla każdego x,y przy użyciu
operacji mnożenia.

Mnożenie można zastąpić przesunięciami
przy

założeniu:

background image

Algorytm DDA

Algorytm ten nie rysuje okręgu lecz
elipsę ale dla małych ε, błąd ten można
uważać za pomijalnie mały.

background image

Dokładny algorytm DDA -
okrąg

Punktem wyjścia dla tej metody jest
równanie parametryczne okręgu o
promieniu R i środku w początku układu
współrzędnych.

background image

Dokładny algorytm DDA -
okrąg

Zależności trygonometryczne dla sąsiednich

punktów okręgu:

background image

Dokładny algorytm DDA -
okrąg

Definiujemy Θ jako kąt pomiędzy
promieniami poprowadzonymi do dwóch
sąsiednich punktów okręgu.

background image

Dokładny algorytm DDA -
okrąg

Po przekształceniach

trygonometrycznych:

postać macierzowa:

background image

Dokładny algorytm DDA -
okrąg

Z rekurencyjnego charakteru zależności
wynika, że wielkość kąta Θ jest stała dla
każdej iteracji.

Wielkość kąta Θ zależy od liczby punktów
tworzących okrąg, a ta zwiększa się wraz z
promieniem.

Dla małych Θ algorytm generuje ciągłe i
dokładne łuki ale dla małych promieni bardzo
wydłuża się czas kreślenia jeżeli zakres
rozdzielczości zostanie przekroczony.


Document Outline


Wyszukiwarka

Podobne podstrony:
Algorytmy rastrowe (ISiSI) id 5 Nieznany (2)
04 Algorytmy rastrowe 2005 04 rastrowe
GK 8 Algorytmy rastrowe
Układy Napędowe oraz algorytmy sterowania w bioprotezach
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
Tętniak aorty brzusznej algorytm
w1c rastrowanie
Algorytmy genetyczne
Teorie algorytmow genetycznych prezentacja
Algorytmy tekstowe
Algorytmy i struktury danych Wykład 1 Reprezentacja informacji w komputerze
ALGORYTM EUKLIDESA

więcej podobnych podstron