Geometria obrazu Wykład 6

Slides:



Advertisements
Podobne prezentacje
Sympleksy n=2.
Advertisements

Geometria obrazu Wykład 2
Geometria obrazu Wykład 3
Figury płaskie-czworokąty
Temat: WIELOŚCIANY KLASA III P r.
Przygotowały: Jagoda Pacocha Dominika Ściernicka
Trian_mon(P) Input: y-monotoniczny wielokąt zapamiętany jako zbiór boków, Output: triangulacja D jako zbiór krawędzi. Wyodrębnij prawy i lewy łańcuch punktów,
CZWOROKĄTY Patryk Madej Ia Rad Bahar Ia.
Geometria obliczeniowa Wykład 1
Geometria obliczeniowa Wykład 2
ALGORYTMY GEOMETRYCZNE.
Pola Figur Płaskich.
Geometria obrazu Wykład 8
Geometria obrazu Wykład 2
Konstrukcje wielokątów foremnych
Graniastosłupy i Ostrosłupy
Krótki kurs geometrii płaszczyzny
GEOMETRIA PROJEKT WYKONALI: Wojciech Szmyd Tomasz Mucha.
,, W KRAINIE CZWOROKĄTÓW ,, Adam Filipowicz VA SPIS TREŚCI
Geometria obliczeniowa Wykład 8
Geometria obliczeniowa Wykład 9
Geometria obliczeniowa Wykład 3
Figury płaskie I PRZESTRZENNE Wykonała: Klaudia Marszał
Trójkąty.
Geometria obliczeniowa Wykład 6
FIGURY GEOMETRYCZNE.
Geometria obliczeniowa Wykład 7
Przygotowała Patrycja Strzałka.
Prezentacja figury geometryczne otaczające nas na świecie
Geometria obliczeniowa Wykład 12
Przypomnienie wiadomości o figurach geometrycznych.
Geometria obrazu Wykład 7
WŁASNOŚCI FIGUR GEOMETRYCZNYCH
Bryły.
Pola i obwody figur płaskich.
Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie.
Grafika i komunikacja człowieka z komputerem
Geometria obrazu Wykład 3
Grafika i komunikacja człowieka z komputerem
Vademecum: Bryły Zagadnienia.
Geometria obliczeniowa Wykład 12 Planowanie ruchu 1.Najkrótsza ścieżka między dwoma punktami. 2.Znajdywanie ścieżki między dwoma punktami. 3.Ruch postępowy.
Geometria obrazu Wykład 6
Autor: Marcin Różański
WIELOKĄTY Karolina Zielińska kl.v Aleksandra Michałek kl v
Geometria obliczeniowa Wykład 2
Co to jest wysokość?.
Geometria obliczeniowa Wykład 13 Algorytmy randomizowane 1.Lokalizacja punktu w siatce trapezów. 2.Znajdywanie średnicy zbioru punktów w R 3. Algorytmy.
Geometria obrazu Wykład 3 Rozpoznawanie obrazu 1. Suma Minkowskiego 2. Morfologia matematyczna 3. Szkielety.
Definicje Fot: sxc.hu, wyszukano r.
WSZYSTKO CO POWINIENEŚ O NICH WIEDZIEĆ…
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
FIGURY PŁASKIE.
Figury płaskie.
Grafika wektorowa Konrad Janiszewski, kl. 2 . Co to jest? jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą.
Geometria obliczeniowa Wykład 10 Dualizacja liniowa c.d. 1. Poziomy 2. Otoczka wypukła Ciągi Davenporta-Schinzela Problemy optymalizacyjne 1. Problem wyważania.
Geometria obliczeniowa Wykład 6
Geometria obliczeniowa Wykład 3
Figury geometryczne.
Geometria obrazu Wykład 7
Matematyka czyli tam i z powrotem…
Okrąg wpisany w trójkąt.
Geometria obliczeniowa Wykład 3
Geometria obliczeniowa Wykład 7
 jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur geometrycznych lub brył geometrycznych, umiejscowionych.
Geometria obliczeniowa Wykład 1
Geometria obliczeniowa Wykład 6
Geometria obrazu Wykład 7
Geometria obliczeniowa Wykład 8
Zapis prezentacji:

Geometria obrazu Wykład 6 Grafika wektorowa Diagram Voronoi zbioru punktów Diagram Voronoi zbioru odcinków Oś medialna. Szkielet prosty. Triangulacja Delaunay Triangulacja Delaunay rzędu k

Grafika wektorowa. Grafika wektorowa (obiektowa) jest jednym z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur lub brył geometrycznych, umiejscowionych w danym układzie współrzędnych. Drugim z podstawowych typów grafiki komputerowej jest grafika rastrowa. Grafika wektorowa Grafika rastrowa [http://pl.wikipedia.org/wiki/Grafika_wektorowa]

Typowe możliwości: elementarne figury: prosta, prostokąt, okrąg, łuk, wielokąt foremny, wielokąt gwiaździsty, spirala, krzywe Beziera, standardowe atrybuty: grubość i kolor linii rysowania, kolor wypełnienia, zaokrąglenia rogów oraz ich przekształcenia takie jak konwersja figur elementarnych w krzywe, grupowanie oraz scalanie obiektów ze sobą, operacje boolowskie między obiektami (przycinanie, część wspólna itp.) wstawianie obrazu rastrowego (bez wektoryzacji) z możliwością przekształcania go jako całości, import grafik wektorowych oraz wektoryzacji grafik rastrowych i inne.

Zalety: skalowalność, prostota opisu, a przez możliwość modyfikacji poprzez zmianę parametrów obrazu, mniejszy rozmiar w przypadku zastosowań niefotorealistycznych (schematy techniczne, loga, flagi i herby, wykresy itp.), opis przestrzeni trójwymiarowych, bardzo dobre możliwości konwersji do grafiki rastrowej. Wady: duża złożoność pamięciowa dla obrazów fotorealistycznych, przy skomplikowanych obrazach rastrowych konwersja do formy wektorowej nie opłaca się .

Definicja diagramu Voronoi. Niech S={p1, ... , pn} będzie zbiorem n punktów na płaszczyźnie. Dla każdego z punktów należących do S określamy obszar Voronoi zawierający punkty płaszczyzny, dla których dany punkt jest najbliższy spośród punktów z S, tzn.: VD(pi)={x: ii d(pi,x)  d(pj,x)}. Punkty należące do brzegów obszarów Voronoi tworzą diagram Voronoi. Lemat. Obszar Voronoi jest wielokątem wypukłym (może być nieograniczony).

Algorytm dziel i rządź uporządkuj zbiór S względem x-owej współ-rzędnej, a następnie podziel go na małe grupy kolejnych punktów; znajdź diagramy Voronoi dla każdej grupy ; while zbiór S jest podzielony do for kolejne pary podziałów do znajdź styczne do otoczek wypukłych podziałów ; znajdź przecięcia symetralnych stycz- nych z pierwszymi zewnętrznymi kra- wędziami znanych diagramów Voronoi ; korzystając z podwójnie łączonych list krawędzi znajdź łamaną wyznaczającą resztę krawędzi wspólnego diagramu Voronoi rozdzielających podziały ;

Lemat. Czas potrzebny do znalezienia łamanej określającej krawędzie diagramu Voronoi między dwoma łączonymi zbiorami punktów jest liniowy względem sumy rozmiarów tych zbiorów. Stosując metodę dziel i rządź możemy stworzyć diagram Voronoi dla n-elementowego zbioru S punktów na płaszczyźnie w czasie O(n log n).

Diagramy Voronoi dla odcinków w R2. Odległość punktu p od odcinka I definiu-jemy jako odległość p od najbliższego punktu należącego do I: d(p,I) = minq  I d(p,q) . Krawędziami obszarów Voronoi mogą być odcinki, półproste i fragmenty para-bol (gdy dla punktu z brzegu obszaru najbliższym punktem jednego z sąsiadu-jących odcinków jest jego koniec a dru-giego - punkt z jego wnętrza). Każdy generator należy do swojego obszaru. Lemat. Diagram Voronoi dla n odcinków na płaszczyźnie można znaleźć w czasie O(n log n) (np. metodą dziel i rządź).

Przykład.

Szkielety. Szkieletem (lub osią medialną) wielokąta prostego nazywamy graf podziału jego wnętrza na obszary Voronoi wyznaczane przez krawędzie wielokąta. Twierdzenie (Chin, Snoeyink, Wang 1995). Szkielet wielokąta prostego o n wierz-chołkach można znaleźć w czasie O(n).

Szkielet prosty. Załóżmy, że dany wielokąt będzie „obkurczać się” w taki sposób, że jego wierzchołki będą poruszać się wzdłuż dwusiecznych kątów wyznaczanych przez proste zawierające boki wielokąta. Mamy dwa rodzaje zdarzeń, które powo-dują zmianę kierunku poruszania się wierzchołka: - zdarzenie krawędziowe, gdy znika krawędź „obkurczającego się” wielokąta, zdarzenie rozdzielające, gdy krawędź „obkurczającego się” wielokąta jest rozbijana przez wierzchołek poruszający się w przeciwnym kierunku.

Własności szkieletu prostego. Krawędzie szkieletu prostego są odcinkami. Szkielet prosty dzieli wielokąty na wielokąty monotoniczne. Szkielet prosty wielokąta wypukłego jest identyczny z odpowiednią osią medialną. Lemat. Jeśli P nie jest wielokątem wypukłym, ma n wierzchołków, z których r tworzy kąt większy od , to szkielet prosty tego wielokąta składa się z 2n-3 krawędzi, a jego oś medialna ma 2n+r-3 krawędzie, z czego r jest fragmentami parabol. Twierdzenie (Tănase, Veltkamp 2004) Szkielet prosty dla n-kąta prostego na płaszczyźnie można obliczyć w czasie O(n).

Triangulacja Delaunay. Dany jest zbiór S zawierajacy n punktów na płaszczyźnie. Załóżmy, że żadne cztery punkty ze zbioru S nie są współokręgowe. Triangulacją Delaunay nazywamy graf dualny do diagramu Voronoi, którego wierzchołkami są punkty z S a krawędzie łączą wierzchołki odpowiadające sąsiednim obszarom Voronoi. Triangulacje Delaunay możemy również rozpatrywać bez żadnych ograniczeń dla zbioru S. Jednakże wtedy triangulacja może być wyznaczona niejednoznacznie.

Własności triangulacji Delaunay. 1. Jest to (z definicji) graf planarny o n wierzchołkach. Brzegiem triangulacji jest otoczka wypukła zbioru S. Jeśli otoczka ma k wierzchołków, to triangulacja ma 2n-2-k ścian i 3n-3-k krawędzi (ćwiczenia). 2. Każdy trójkąt odpowiada wierzchołkowi diagramu Voronoi. Każda krawędź trian-gulacji odpowiada krawędzi diagramu. 3. Okrąg przechodzący przez dwa punkty pi,pj  S, który nie zawiera w swoim wnętrzu innych punktów z S, istnieje wtedy i tylko wtedy, gdy odcinek należy do triangulacji Delaunay. 4. Triangulacja Delaunay w R2 maksy-malizuje minimalny kąt w triangulacji. 5. Triangulacja w Rd zawiera O(nd/2) sympleksów.

Algorytm legalizacji krawędzi. Dla triangulacji T zbioru S definiujemy wektor kątów, jako uporządkowany niemalejąco ciąg wszystkich kątów trójkątów tworzących triangulację A(T) := (1, 2, ...., m). Przekątną czworokąta wypukłego nazywamy krawędzią nielegalną, gdy wektor kątów dla przyległych do niej trójkątów jest leksykograficznie mniejszy od wektora kątów trójkątów tworzonych przez drugą przekątną. 6 5 4 3 2 1 6 5 4 3 2 1 (1, 2, ...., 6) < (1, 2, ...., 6)

Algorytm LegalTiangulation(S) Dane: Dowolna triangulacja T zbioru S Wynik: Legalna triangulacja zbioru S while T zawiera nielegalną krawędź e do zastąp e przez krawędź e’ łączącą przeciwległe wierzchołki trójkątów sąsiadujących z e; return T; Taki algorytm jest nieefektywny.

Algorytm przyrostowy. Załóżmy, że mamy dodatkowe trzy punkty tworzące trójkąt, wewnątrz którego znajdują się punkty ze zbioru S. Dodając kolejny punkt dostajemy jeden z dwóch przypadków: dodany punkt wpada do wnętrza jednego z trójkątów aktualnej triangulacji, dodany punkt pojawia się na krawędzi aktualnej triangulacji. W obu przypadkach łączymy go z wierzchołkami trójkątów, do których należy.

procedure LegalizeEdge(p,e,T) (*Niech wstawiany punkt p i krawędź e tworzą trójkąt należący do T oraz krawędzie e, e’ i e” tworzą trójkąt sąsiadujący *) if e jest nielegalna then begin zamień e przez krawędź łączącą p z przeciwległym wierzchołkiem sąsiedniego trójkąta; LegalizeEdge(p,e’,T); LegalizeEdge(p,e”,T); end;

Algorytm DelaunayTriangulation(S) Dane: Zbiór S i trzy punkty q1, q2, q3 ograniczające S. Wynik: Triangulacja Delaunay zbioru S. T:= trójkąt q1q2q3 ; oblicz losową permutację punktów z S; for i:=1 to n do begin znajdź trójkąt w T, do którego należy pi; połącz pi z odpowiednimi wierzchoł-kami T; legalizuj krawędzie trójkątów o wierz-chołku w pi; end; usuń z T punkty q1, q2, q3 wraz z incydent- nymi krawędziami; return T;

Twierdzenie. Algorytm ten znajduje triangulację Delaunay dla zbioru n punktów na płaszczyźnie w oczekiwanym czasie O(n log n) i oczekiwanej pamięci O(n). Triangulację nazywamy triangulacją Delaunay rzędu k, gdy okrąg opisany na dowolnym trójkącie triangulacji zawiera w swoim wnętrzu co najwyżej k punktów z danego zbioru S. Taka triangulacja nie jest jednoznaczna.

Metoda zamian. Postępujemy podobnie jak w przypadku znajdywania legalnej triangulacji. Startujemy z triangulacji Delaunay i zamieniamy przekątne w czworo-kącie będącym sumą sąsiednich trójkątów triangulacji, jeśli dwa nowe trójkąty należą do triangulacji Delaunay rzędu k, końcem nowej krawędzi jest najniższy wierzchołek danego czworokąta. Operacje te wykonujemy aż do wyczerpania możliwości zamian. Lemat. Algorytm wykonuje co najwyżej O(n2) zamian. Dla danego k algorytm wykonuje co najwyżej O(nk) zamian.

Twierdzenie. Dla danego k i zbioru n punktów na płaszczyźnie zastosowanie metody zamian w triangulacji Delaunay rzędu k wymaga czasu O(nk2 + nk log n).

Dziękuję za uwagę.