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: Zbadaj liczbę przecięć półprostej P(x P,y P ),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: (x r,y r ) (x l,y l ) (x P,y P )

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: first image row containig triangle scan line segment covered by triangle yuyu ylyl raster image triangle being drawn last image row containig triangle Algorytm wypełniania trójkąta: Wyznacz indeksy y u, y l górnej i dolnej linii obrazu zawierającej trójkąt For y = y u to y l step 1 Wyznacz kolumny x l, x r zawierające końce odcinka pokrytego przez trójkąt w lini y Wyznacz atrybutu a l, a r dla końcowych pikseli w linii skanowania For x = x l to x r step 1 Wylicz atrybuty piksela p[y,x] drogą interpolacji pomiędzy a l i a r Zapisz wyliczone wartości atrybutów w pikselu p[y,x] x l, a l x r, a r

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

9 Interpolacja w przestrzeni obrazu : first image row containig triangle scan line segment covered by triangle yuyu ylyl raster image triangle being drawn last image row containig triangle x l, a l x r, a r Wyliczanie a l, a r : y gdzie: a 1, a 2, a 3 – atrybuty (colors, normals etc.) w wierzchołkach V 1, V 2, V 3 Algorytm wypełniania trójkąta: Wyznacz indeksy y u, y l górnej i dolnej linii obrazu zawierającej trójkąt For y = y u to y l step 1 Wyznacz kolumny x l, x r zawierające końce odcinka pokrytego przez trójkąt w lini y Wyznacz atrybutu a l, a r dla końcowych pikseli w linii skanowania For x = x l to x r step 1 Wylicz atrybuty piksela p[y,x] drogą interpolacji pomiędzy a l i a r 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