WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Podobne dokumenty
Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej

Plan wykładu. Wykład 3. Rzutowanie prostokątne, widoki, przekroje, kłady. Rzutowanie prostokątne - geneza. Rzutowanie prostokątne - geneza

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający

w jednym kwadrat ziemia powietrze równoboczny pięciobok

Grafika komputerowa Wykład 2 Algorytmy rastrowe

Definicja obrotu: Definicja elementów obrotu:

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

Rysowanie precyzyjne. Polecenie:

9. Podstawowe narzędzia matematyczne analiz przestrzennych

Grafika Komputerowa. Algorytmy rastrowe

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Laboratorium nr 7 Sortowanie

Obcinanie prymitywów. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej AGH

Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D

Wstawianie nowej strony

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z KOMINEM W 3D

śebro, Szyk liniowy, Lustro Zagadnienia. Tworzenie śeber, powielanie obiektów Szykiem liniowym, wykorzystanie konstrukcji Lustra.

4. Rysowanie krzywych

Narzędzia programu Paint

Grafika komputerowa Wykład 9 Algorytmy wyznaczania obiektów zasłonietych

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Narysujemy uszczelkę podobną do pokazanej na poniższym rysunku. Rys. 1

Łożysko z pochyleniami

Zadanie 3. Praca z tabelami

Praktyczne wykorzystanie arkusza kalkulacyjnego w pracy nauczyciela część 1

RZUT CECHOWANY DACHY, NASYPY, WYKOPY

9. BADANIE PRZEBIEGU ZMIENNOŚCI FUNKCJI

Złożoność obliczeniowa zadania, zestaw 2

Algorytmy grafiki rastrowej. Mirosław Głowacki Wykład z Grafiki Komputerowej

Techniki wstawiania tabel

Sortowanie. Bartman Jacek Algorytmy i struktury

Ćwiczenie 1 Automatyczna animacja ruchu

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Program graficzny MS Paint.

LI Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia trzeciego 3 kwietnia 2000 r. (pierwszy dzień zawodów)

LIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji

Rzuty, przekroje i inne przeboje

Implementacja filtru Canny ego

VIII. USUWANIE NIEWIDOCZNYCH LINII I POWIERZCHNI

Podstawy Informatyki Wykład V

LEGISLATOR. Data dokumentu:17 września 2012 Wersja: 1.3 Autor: Paweł Jankowski

Animowana grafika 3D. Opracowanie: J. Kęsik.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja

Rysowanie punktów na powierzchni graficznej

Koło zębate wału. Kolejnym krokiem będzie rozrysowanie zębatego koła przeniesienia napędu na wał.

Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej

Zadanie I. 2. Gdzie w przestrzeni usytuowane są punkty (w której ćwiartce leży dany punkt): F x E' E''

Obsługa mapy przy użyciu narzędzi nawigacji

Grafika 2D. Rasteryzacja elementów wektorowych. opracowanie: Jacek Kęsik

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Krzywa uniwersalna Sierpińskiego

Opis Edytora postaci Logomocji

TWORZENIE OBIEKTÓW GRAFICZNYCH

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Mateusz Bednarczyk, Dawid Chałaj. Microsoft Word Kolumny, tabulatory, tabele i sortowanie


Grafika Komputerowa Materiały Laboratoryjne

Arkusz kalkulacyjny EXCEL

GRAFIKA INŻYNIERSKA INSTRUKCJA PODSTAWOWE KOMENDY AUTOCADA - TRÓJKĄTY

Grafika inżynierska geometria wykreślna. 3. Elementy wspólne. Cień jako rzut środkowy i równoległy. Transformacja celowa.

Geometria wykreślna. 2. Elementy wspólne. Cień jako rzut środkowy i równoległy. dr inż. arch. Anna Wancław. Politechnika Gdańska, Wydział Architektury

Operacje przetwarzania obrazów monochromatycznych

Zad.3. Jakub Trojgo i Jakub Wieczorek. 14 grudnia 2013

Zajęcia nr 3_cz2 Praca z tekstem: WORD Wzory matematyczne. Tabele

Znajdowanie wyjścia z labiryntu

Rok akademicki 2005/2006

LX Olimpiada Matematyczna

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Przewodnik po obszarze roboczym

3.3. dwie płaszczyzny równoległe do siebie α β Dwie płaszczyzny równoległe do siebie mają ślady równoległe do siebie

Przecięcia odcinków. Wykład /07

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

RZUTOWANIE PROSTOKĄTNE

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Tematy lekcji informatyki klasa 4a styczeń 2013

WYKŁAD 2 Znormalizowane elementy rysunku technicznego. Przekroje.

Potyczki z komputerem Kategoria B

Programowanie w VB Proste algorytmy sortowania

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wstawianie i formatowanie tabel.

Zbiór zadań z geometrii przestrzennej. Michał Kieza

RZUTOWANIE PROSTOKĄTNE

Grafika komputerowa ZS Sieniawa Andrzej Pokrywka. Ścieżki cz. 2. Rysunki z kreskówek. Autor: Joshua Koudys

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

AKADEMIA ŁAMANIA GŁOWY Część I KALEJDOSKOP --0--

WIDOKI I PRZEKROJE PRZEDMIOTÓW

PODSTAWY > Figury płaskie (1) KĄTY. Kąt składa się z ramion i wierzchołka. Jego wielkość jest mierzona w stopniach:

Zajęcia nr. 5: Funkcja liniowa

Internetowe Ko³o M a t e m a t yc z n e

Π 1 O Π 3 Π Rzutowanie prostokątne Wiadomości wstępne

Obcinanie grafiki do prostokąta

Transkrypt:

WYKŁ 3 WYPŁNINI OSZRÓW. Wypełnianie wieloboku Zasada parzystości: Prosta, która nie przechodzi przez wierzchołek przecina wielobok parzystą ilość razy. Plan wykładu: Wypełnianie wieloboku Wypełnianie konturu zadanego w postaci obrazu Pewne problemy związane z wypełnianiem Rysowanie pogrubionych tworów pierwotnych położenie przecięć położenie 3 przecięcia położenie 3 przecięć położenie? przecięć 3 lgorytm przeglądania linii ( (scan line algorithm) Założenie: any jest wielobok ( bez krawędzi poziomych ) opisany jako zbiór kolejnych krawędzi. krawędź y max Opis geometrii wieloboku x min x max 0 0 0 Podstawowa zasady działania algorytmu: Przesuwać poziomą linię skanującą od dołu do góry. la danego położenia linii należy rysować punkty pomiędzy poszczególnymi parami krawędzi. 0 0 0 y = 0 la linii skanującej w położeniu y = 0 należy wypełnić punkty (narysować poziome odcinki) pomiądzy krawędziami i oraz i.

Opis algorytmu: Krok 0 Utworzyć globalną tablicę krawędzi (T). Krok Ustawić y na najmniejszej wartości współrzędnej y z globalnej tablicy krawędzi (T), czyli y dla pierwszej niepustej grupy krawędzi Krok Wyzerować aktywną tablicę krawędzi (T). Przenieść z grupy y tablicy globalnej (T) do tablicy aktywnej (T) te krawędzie, dla których = y i posortować je ze względu na x. Wypełnić piksele w linii y, wykorzystując pary x z tablicy aktywnej (T). Usunąć z tablicy aktywnej (T) te krawędzie, dla których y = max. y = y max Zwiększyć y o (następna linia). la każdej pary krawędzi, która nie jest pionowa wyliczyć i wstawić do tablicy aktywnej (T) nowe wartości x. Krok 3 Powtarzać tak długo, dopóki tablica globalna (T) i tablica aktywna (T) nie będą puste. Tablica globalna (T) krawędzie Tablica aktywna (T) Krok 0 - Tworzenie globalnej tablicy krawędzi (T) 0 -/ * 0 * 0 * -/ * y max x /a /3 * / * minimum minimum x min minimum y max minimum x max 0 0 0 - przypisanie do grupy - porządkowanie w grupie - porządkowanie w grupie max - porządkowanie w grupie Krok Ustawiamy y na najmniejszej wartości współrzędnej y z globalnej tablicy krawędzi. y = Krok Zerujemy aktywną tablicę krawędzi (T). Krok 3 Przenosimy z grupy y tablicy globalnej (T) do tablicy aktywnej (T) te krawędzie, dla których = y i sortujemy krawędzie ze względu na x. (T) ymin 0 -/ * / * ymax x /a

Wypełniamy piksele w linii y, wykorzystując pary x z tablicy aktywnej (T) i zasadę parzystości. 0 0 0 y = Usuwamy z tablicy aktywnej (T) te krawędzie, dla których, y = y max ( brak takich krawędzi ) Zwiększamy y o ( o ( y = ). la każdej pary krawędzi, która nie jest pionowa wyliczamy i wstawiamy do tablicy aktywnej (T) nowe wartości x. Sposób obliczania nowych wartości x ; (T) x ( y ) = x( y ) + a a) ( algorytm ) b) algorytm resenhama ymin -/ * 0 / * ymax x /a Koniec pierwszego przebiegu dla kroku 3 W kolejnym przebiegu kroku 3 uzyskamy rysunek : la y = rysunek wygląda następująco: 0 0 0 y = Postępujemy analogicznie aż do osiągnięcia y = 0 0 0 y = la krawędzi zachodzi y = y max ( koniec krawędzi ). Usuwamy z tablicy aktywnej (T). Przenosimy do tablicy aktywnej z tablicy globalnej (T) krawędź, dla której = y. Porządkujemy tablicę (T) ze względu na x. Tablica aktywna przybiera postać: 3

(T) ymin 0 * / * ymax x /a Kontynuujemy wypełnianie aż osiągniemy koniec krawędzi występującej w tablicy aktywnej 0 (T), lub początek krawędzi z tablicy globalnej (T). W rozważanym przypadku dla y =, osiągamy koniec krawędzi. Uzyskany efekt wypełnienia pokazuje rysunek. 0 0 0 Po usunięciu z tablicy aktywnej (T) krawędzi, zwiększeniu y i przeniesieniu z tablicy globalnej (T) krawędzi tablica aktywna przyjmuje postać: (T) 0 * 0 * Wypełniając dalej, osiągamy wartość y =.Rysunek wygląda Wypełniając dalej, osiągamy wartość następująco: 0 0 0 Stwierdzamy, że dla y = para krawędzi i spełnia Stwierdzamy, że dla para krawędzi i spełnia warunek = y W związku z tym przenosimy krawędzie i do tablicy aktywnej (T), która po uporządkowaniu elementów ze względu na x wygląda tak: (T) 0 * -/ * /3 * 0 * Tablica globalna (T) staje się pusta. Kontynuujemy wypełnianie między parami krawędzi z tablicy (T), aż do osiągnięcia y =. Uzyskujemy efekt jak na następnym rysunku: 0 0 0 Usuwamy z tablicy (T) parę krawędzi,. (T) /3 * 0 *

Wypełniamy następną linię i osiągamy końce krawędzi i. Usuwany krawędzie z tablicy T. Tablica (T) jest już pusta, czyli kończymy wypełnianie. Ostateczny efekt pokazuje rysunek. 0 0 0 Problem krawędzi poziomych: Na początku, przyjęto założenie, że wypełniany wielobok nie ma krawędzi poziomych. Jak pozbyć się tego założenia? G Rozwiązanie: Pomijanie krawędzi poziomych w tablicy (T). Przykłady: - w tablicy (T) znajdzie się J i, - w tablicy (T) znajdzie się IJ i, 3 - w tablicy (T) znajdzie się IJ i, - w tablicy (T) znajdzie się GH i, J I H 3. Wypełnianie konturu zadanego jako obraz Prosty algorytm wypełniania konturu wypukłego Założenie: any jest kontur w postaci zbioru różnych od tła pikseli i punkt leżący wewnątrz konturu. x 0 Przypadek gdy kontur jest wypukły: la dowolnej pary punktów x, x leżących wewnątrz konturu odcinek, którego końcami są te punkty leży w całości wewnątrz konturu. x x wypełniamy w linii poczynając od punktu startowego, aż do prawej granicy konturu, znajdujemy " niższy " punkt konturu i wypełniamy linię do lewej granicy konturu, powtarzamy tak długo, dopóki możemy znaleźć punkt " niższy ", wracamy do punktu startowego i kontynuujemy proces poruszając się " w górę ".

Przypadek gdy kontur nie jest wypukły: lgorytm wypełniania przez spójność 3. Pewne problemy wypełniania Problem brzegu wieloboku: Trzeba narysować kilka wypełnionych wieloboków o wspólnych krawędziach. Każdy z wieloboków jest wypełniony innym kolorem. ziarno ziarno sąsiad W W W W W W. Wypełniane jest ziarno,. Sprawdzani są kolejno sąsiedzi, jeżeli sprawdzany sąsiad nie należy do konturu, przyjmowany jest jako nowe ziarno i następuje powrót do punktu. W piksel Jak rysować obrazy krawędzi wieloboków? W Problem wieloboków "bardzo wąskich" : W W W W W W W W piksele kandydaci piksele wypełnione zęsto stosowane rozwiązanie: rysować piksele leżące wewnątrz wieloboku, ale nie na brzegu, rysować piksele należące do lewej krawędzi, rysować piksele należące do dolnej krawędzi. W Zastosowano poprzednio opisaną konwencję rysowania. Obraz wieloboku W składa się tylko z dwóch punktów. rak zadawalającego rozwiązania przy tym sposobie rysowania. Należy zastosować wypełnianie wielotonowe. W

. Rysowanie pogrubionych tworów pierwotnych Metoda powielania pikseli : Metoda powielania pikseli dla krzywej: rysunek podstawowy piksele powielone piksele powielone rysunek podstawowy la każdego piksela rysunku podstawowego, rysowane są dodatkowe piksele pogrubiające. gdy a < w kolumnie, w przypadku przeciwnym w wierszu. Zaleta - Wada - prosty algorytm grubość rysunku dla różnych fragmentów krzywej jest różna Metoda prostokątnego pióra: ślad pióra rysowana krzywa ślad pióra porusza się wzdłuż krzywej piksel rysunku podstawowego znajduje się w centrum śladu Zaleta - lepsze niż w poprzedniej metodzie rysunki Wada - występuje powielanie pikseli