Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Grafika komputerowa Wykład 6 Podstawowe algorytmy grafiki 2D

Podobne prezentacje


Prezentacja na temat: "Grafika komputerowa Wykład 6 Podstawowe algorytmy grafiki 2D"— Zapis prezentacji:

1 Grafika komputerowa Wykład 6 Podstawowe algorytmy grafiki 2D

2 Wypełnianie obszaru: Zadany jest obszar zamknięty w obrazie rastrowym. Piksele brzegu obszary oznaczone są odróżnialną od pozostałych wartościa atrybutu (np. specyficznym kolorem) Wykonać określoną operację na każdym pikselu wnętrza obszaru (np. wpisać odpowiednią barwę) Problem – jak znaleźć piksele wnętrza obszaru

3 Wypełnianie obszaru: Algorytm wypełnienia przez sianie (pikseli):
void fill (x, y, cb, cn) { if (color(x, y) != cb) and (color(x, y) != cn) setcolor (x, y, cn); fill (x, y-1, cb, cn); fill (x, y+1, cb, cn); fill (x-1, y, cb, cn); fill (x+1, y, cb, cn); } cb – znacznik koloru konturu cn – kolor wypełnienia Wady: Głęboka rekursja, W konsekwencji – wolne działanie, ograniczenia wielkości wypełnianego obszaru, Zalety: Prostota implementacji

4 Wypełnianie obszaru: Algorytm wypełniania poprzez znajdowanie segmentów (Smitha): połóż na stos segment zawierający ziarno; while (stos niepusty) { pobierz segment ze stosu wypełnij segment kolorem wypełnienia znajdź segmenty sąsiednie w sąsiednich liniach poziomych które jeszcze nie zostały wypełnione połóż znalezione segmenty na stos } Zalety: Większa efektywność, płytki stos Wady Bardziej złożona implementacja

5 Testowanie położenia punktu względem wielokąta:
(xP,yP) (xl,yl) (xr,yr) Zbadaj liczbę przecięć półprostej P(xP,yP),x∞ z bokami wielokąta: Jeśli liczba parzysta – punkt na zewnątrz Jeśli liczba nieparzysta – punkt wewnątrz Równanie prostej zawierającej bok: ax + by +c = 0 Jest przecięcie jeśli:

6 Interpolacja w przestrzeni obrazu:
Zadane są kolory w wierzchołkach trójkąta. Chcemy pocieniować trójkąt – tzn. wypełnić wnętrze trójkąta barwą w taki sposób aby płynnie zmieniała się ona pomiędzy barwami określonymi dla wierzchołków W tym celu będziemy interpolować barwę metodą podwójnej interpolacji liniowej Obszar trójkąta będzie wypełniany kolejnymi poziomymi liniami skanowania W przypadku konieczności wypełnienia innego wielokąta można go podzielić na trójkąty i wykonać zadanie niezależnie dla składowych trójkątów

7 Interpolacja w przestrzeni obrazu:
yu xl , al xr , ar yl scan line segment covered by triangle first image row containig triangle last image row containig triangle raster image triangle being drawn Algorytm wypełniania trójkąta: Wyznacz indeksy yu, yl górnej i dolnej linii obrazu zawierającej trójkąt For y = yu to yl step 1 Wyznacz kolumny xl, xr zawierające końce odcinka pokrytego przez trójkąt w lini y Wyznacz atrybutu al, ar dla końcowych pikseli w linii skanowania For x = xl to xr step 1 Wylicz atrybuty piksela p[y,x] drogą interpolacji pomiędzy al i ar Zapisz wyliczone wartości atrybutów w pikselu p[y,x]

8 Interpolacja w przestrzeni obrazu :
Calculating xl, xr: (x1 , y1) yu xl , al xr , ar y yl (x2 , y2) (x3 , y3) scan line segment covered by triangle first image row containig triangle last image row containig triangle raster image triangle being drawn Algorytm wypełniania trójkąta: Wyznacz indeksy yu, yl górnej i dolnej linii obrazu zawierającej trójkąt For y = yu to yl step 1 Wyznacz kolumny xl, xr zawierające końce odcinka pokrytego przez trójkąt w lini y Wyznacz atrybutu al, ar dla końcowych pikseli w linii skanowania For x = xl to xr step 1 Wylicz atrybuty piksela p[y,x] drogą interpolacji pomiędzy al i ar Zapisz wyliczone wartości atrybutów w pikselu p[y,x]

9 Interpolacja w przestrzeni obrazu :
Wyliczanie al, ar: yu xl , al xr , ar y yl gdzie: a1, a2, a3 – atrybuty (colors, normals etc.) w wierzchołkach V1, V2, V3 scan line segment covered by triangle first image row containig triangle last image row containig triangle raster image triangle being drawn Algorytm wypełniania trójkąta: Wyznacz indeksy yu, yl górnej i dolnej linii obrazu zawierającej trójkąt For y = yu to yl step 1 Wyznacz kolumny xl, xr zawierające końce odcinka pokrytego przez trójkąt w lini y Wyznacz atrybutu al, ar dla końcowych pikseli w linii skanowania For x = xl to xr step 1 Wylicz atrybuty piksela p[y,x] drogą interpolacji pomiędzy al i ar Zapisz wyliczone wartości atrybutów w pikselu p[y,x]


Pobierz ppt "Grafika komputerowa Wykład 6 Podstawowe algorytmy grafiki 2D"

Podobne prezentacje


Reklamy Google