Geometria obrazu Wykład 7

22
Geometria obrazu Wykład 7 1. Triangulacja Delaunay - Definicje i właściwości - Algorytm legalizacji krawędzi - Algorytm przyrostowy 2. Modelowanie terenu - Metoda zamian - Metoda otoczek - Skracanie dolin

description

Geometria obrazu Wykład 7. Triangulacja Delaunay Definicje i właściwości Algorytm legalizacji krawędzi Algorytm przyrostowy Modelowanie terenu Metoda zamian Metoda otoczek Skracanie dolin. - PowerPoint PPT Presentation

Transcript of Geometria obrazu Wykład 7

Page 1: Geometria obrazu Wykład 7

Geometria obrazuWykład 7

1. Triangulacja Delaunay- Definicje i właściwości- Algorytm legalizacji krawędzi- Algorytm przyrostowy

2. Modelowanie terenu- Metoda zamian- Metoda otoczek- Skracanie dolin

Page 2: Geometria obrazu Wykład 7

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.

Page 3: Geometria obrazu Wykład 7

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(nd/2) sympleksów.

jipp

Page 4: Geometria obrazu Wykład 7

6

5

4

3

21

6 5

4

32

1

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ą.

(1, 2, ...., 6) < (1, 2, ...., 6)

Page 5: Geometria obrazu Wykład 7

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;

Algorytm jest nieefektywny (jego złożoność wynosi (O(n2) x czas znalezienia kolejnej nielegalnej krawędzi).

Page 6: Geometria obrazu Wykład 7

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.

Page 7: Geometria obrazu Wykład 7

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;

Page 8: Geometria obrazu Wykład 7

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 dobegin

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;

Page 9: Geometria obrazu Wykład 7

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).

Page 10: Geometria obrazu Wykład 7

Modelowanie terenu.

Rozpatrujemy zbiór punktów na płaszczyźnie, którym została przypisana dodatkowa wartość (wysokość).

Naszym celem jest stworzenie triangulacji o własnościach zbliżonych do triangulacji Delaunay i spełniającej dodatkowe warunki:

- minimalizacji liczby lokalnych minimów w grafie triangulacji (tzn. wysokości wszystkich sąsiadów są niemniejsze od wysokości danego wierzchołka) ,

- minimalizacji liczby i rozmiaru „dolin”, tzn. spójnych zbiorów krawędzi łączących wierz-chołki, dla których ciąg wysokości kolejnych sąsiadów ma co najmniej dwa lokalne minima.

Page 11: Geometria obrazu Wykład 7

Fakt.

Triangulacja Delaunay nie koniecznie musi spełniać podane warunki.

Twierdzenie.

Problem znalezienia triangulacji minimalizującej liczbę lokalnych minimów jest NP-trudny.

Wniosek.

Poszukujemy rozwiązań aproksymacyjnych.

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.

Page 12: Geometria obrazu Wykład 7

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. (ćwiczenia)

Lemat.

Dla danego k algorytm wykonuje co najwyżej O(nk) zamian.

Page 13: Geometria obrazu Wykład 7

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).

Przykład.

Nie zawsze udaje się otrzymać rozwiązanie optymalne (k = 2).

9

8

5

4

3

1

Page 14: Geometria obrazu Wykład 7

Metoda otoczek.

1.Dla danego zbioru S i wartości k konstruujemy zbiór krawędzi E, do którego należą wszystkie krawędzie, które mogą wystąpić w pewnej triangulacji Delaunay rzędu k.2.Krawędzie z E porządkujemy względem najmniejszego k’, przy którym dana krawędź pojawia się w triangulacji Delaunay rzędu k’.3.Wyznaczamy zbiór S’ lokalnych minimów w triangulacji Delaunay oraz podzbiór E’ zbioru E krawędzi, które łączą punkty z S’ z punktem o mniejszej wysokości. 4.Zaczynamy od pierwszej krawędzi e z E’. Eliminujemy wszystkie krawędzie triangulacji Delaunay, które przecina e. Triangulujemy obszary powstałe po obu stronach e i zaznaczamy nowe krawędzie.5.Tak samo postępujemy z kolejną krawędzią z E’. Jeśli przecina ona wybraną wcześniej krawędź z E’ lub zaznaczone krawędzie triangulacji, to pomijamy ją.6.Po wstawieniu e do grafu, usuwamy z E’ wszystkie krawędzie, dla których wyższy koniec e jest również wyższym końcem.

Page 15: Geometria obrazu Wykład 7

Twierdzenie.

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

Page 16: Geometria obrazu Wykład 7

Przykład.

Model terenu powstały po zastosowaniu

- triangulacji Delaunay,

- metody zamian (k = 8),

- metody otoczek (k = 8).

De Kok et al.. „Generating realistic terrains with higher-oorder Delaunay triangulations”

Page 17: Geometria obrazu Wykład 7

Powyższe rozważania dotyczyły minimalizacji liczby lokalnych minimów. Rozważmy teraz możliwości wpływu na kształt dolin.

Mamy trzy rodzaje krawędzi.

De Kok et al.. „Generating realistic terrains with higher-oorder Delaunay triangulations”

Page 18: Geometria obrazu Wykład 7

Fakt.

1.W wypukłym czworokącie odpowiadającym triangulacji terenu co najwyżej jedna krawędź wyznacza dolinę.

2.Jeśli dwie krawędzie trójkąta triangulacji wyznaczają dolinę, to ich wspólny koniec nie jest najwyższym punktem tego trójkąta.

3.Na ewentualną likwidację krawędzi wyznaczającej dolinę ma wpływ zamiana co najwyżej pięciu krawędzi należących do czworokąta wypukłego, którego przekątną jest dana krawędź (ta krawędź i boki czworokąta).

Próbujemy zmniejszyć liczbę krawędzi wyznaczających dolinę dokonując zamian krawędzi. Wykorzystując diagram Voronoi (k+1)-rzędu sprawdzamy, czy triangulacja pozostaje triangulacją Delaunay rzędu k.

Page 19: Geometria obrazu Wykład 7

Twierdzenie.

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

Page 20: Geometria obrazu Wykład 7

Przykład.

Model terenu powstały po zastosowaniu skracania dolin oraz

-triangulacji Delaunay,

-metody zamian (k = 8),

-metody otoczek (k = 8).

De Kok et al.. „Generating realistic terrains with higher-oorder Delaunay triangulations”

Page 21: Geometria obrazu Wykład 7

Dziękuję za uwagę.

Page 22: Geometria obrazu Wykład 7

Ćwiczenia.

1. Udowodnij, że triangulacja Delaunay, której brzegiem jest otoczka wypukła o k krawędziach ma 2n-2-k ścian i 3n-3-k krawędzi.

2. Podaj przykład triangulacji oraz kwadratowej liczby zmian krawędzi przekształcającej ją w triangulację Delaunay.

3. Pokaż, że algorytm zmian dokonuje co najwyżej O(n2) zamian.

4. Udowodnij, że algorytm legalizacji krawędzi zakończy się.

5. Udowodnij, że jeśli krawędź ab jest w triangulacji, to metoda zamian nigdy nie wygeneruje krawędzi cd przecinającej ab takiej, że min(c,d) min(a,b).