• Nie Znaleziono Wyników

Geometria obrazu

N/A
N/A
Protected

Academic year: 2021

Share "Geometria obrazu"

Copied!
30
0
0

Pełen tekst

(1)

Geometria obrazu

Wykład 7

Modelowanie terenu 1. Modelowanie

2. Siatki wielokątowe

3. Diagram Voronoi i triangulacja Delaunay 4. Modelowanie terenu

- Metoda zamian - Metoda otoczek - Skracanie dolin

5. Drzewa czwórkowe

- Modelowanie na meshu

(2)

Modelowanie — w grafice 3D proces tworzenia i modyfikacji obiektów trójwymiarowych za pomocą specjalizowanego programu komputerowego, zwanego modelerem, który dostarcza zestawu niezbędnych narzędzi, a także często zbioru podstawowych figur (w j. ang. primitives), np. prostopadło- ścianów, kul i innych, które można wykorzystać od razu przy budowaniu obiektów.

Obiekty 3D są przeważnie budowane z siatek wielokątów lub definiowane przy pomocy krzywych bądź powierzchni parametrycznych (np. płaty Beziera - https://www.youtube.com/watch?v=pnYccz1Ha34, NURBS (Non-Uniform Rational B-Spline )).

Siatka wielokątowa (polygonal mesh) to zbiór połączonych płaskich powierzchni ograniczonych przez krzywe zamknięte.

Zazwyczaj mamy do czynienia z siatkami trójkątnymi.

https://www.123rf.com/footage_68086729_the-brain-of-a-polygonal-mesh- glowing-a-computer-model-of-the-brain-video-with-alpha-channel-.html?vti=- 1-69

(3)

Przykład.

Chmura punktów i siatka wielokątowa.

[pcworld.pl]

(4)

Reprezentacje siatki:

- vertex-vertex: wierzchołek i jego sąsiedzi,

- vertex-edge : wierzchołek i sąsiadujące krawędzie,

- vertex-edge-face: zależności między odpowiednimi elementami, - winged-edge (podwójnie łączona lista krawędzi).

Nie każda reprezentacja pozwala na opis dowolnej siatki,

np. w przypadku powierzchni niejednospójnej trudno byłoby skorzystać z reprezentacji vertex-vertex czy vertex-edge.

(5)

Przykład.

Podwójnie łączona lista krawędzi .

Niech D będzie podziałem płaszczyzny na wielokątne obszary. Z każdą krawędzią zwiążmy dwie przeciwnie zorientowane półkrawędzie.

Podwójnie łączona lista krawędzi składa się z powiązanych ze sobą trzech zbiorów rekordów:

- półkrawędzi pamiętających wskaźniki do ściany leżącej z lewej strony, następnej, poprzedniej i sąsiedniej półkrawędzi dla tej ściany oraz początek półkrawędzi,

- ściany pamiętających wskaźniki do pew- nej półkrawędzi na jej zewnętrznym brze- gu oraz do wybranych półkrawędzi ścian zawartych w danej,

- wierzchołka pamiętających jego współ- rzędne i wskaźnik do dowolnej krawędzi

zaczynającej się w nim. nil

(6)

Teselacja (ang. tessellation) – dzielenie wygenerowanych podczas tworzenia obrazu 3D wielokątów na mniejsze, dzięki czemu wyświetlany obiekt może być dokładniej narysowany. Podczas teselacji powstaje siatka wielokątów, która reprezentuje powierzchnię obiektu. Najczęściej obiekt dzielony jest na trójkąty (triangulacja) lub ich grupy.

Przykład.

https://www.youtube.com/watch?v=QS2PdR0MWNA

[chip.pl]

(7)

Przykładowy algorytm triangulacji siatki wielokątowej (lub powierzchni).

Dla danego obszaru znajdujemy płaszczyznę P, która jest średniokwadratowo najbliższa wierzchołkom tego obszaru (jeśli obszar jest płaski, to szukana płaszczyzna zawiera ją).

Dla każdej przekątnej k dzielącej ścianę znajdujemy płaszczyznę P’

prostopadłą do P i zawierającą tę krawędź.

Obliczamy stosunek odległości od P’ najbliższego wierzchołka ściany nie należącego do P’ i długości krawędzi k.

Do podziału ściany wybieramy tę krawędź k, dla której obliczona wartość będzie największa (w ten sposób staramy się zmaksymalizować

rozwartości katów tworzonych wielokątów).

Powtarzamy tę procedurę aż do otrzymania triangulacji.

(8)

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

(9)

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.

(10)

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.

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.

j ip p

(11)

6

5

4

3

2

1

6

5

4

3

2

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)

(12)

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.

(13)

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.

(14)

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;

(15)

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;

(16)

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

(17)

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. takich punktów, dla których 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.

(18)

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.

(19)

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 (ale porównań może być więcej).

Lemat.

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

(20)

Metoda otoczek.

1.Dla danego zbioru S i wartości k konstruujemy zbiór krawędzi E, do którego należą wszystkie krawędzie mogące 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 przecinają 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.

(21)

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

(22)

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-order Delaunay triangulations”

(23)

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-order Delaunay triangulations”

(24)

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.

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

(25)

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”

(26)

Drzewa czwórkowe.

Drzewa czwórkowe można wykorzystać do tworzenia sieci trójkątów dla efektywnych obliczeń numerycznych w szczególnych przypadkach płytek obwodów

drukowanych (kierunki ścieżek różnią się o wielokrotność /4).

Siatki (mesh) muszą :

- być dopasowane (conforming) (nie ma wierzchołków trójkątów na krawędziach innych trójkątów),

- uwzględniać dane (respect the input) (ścieżki są zawarte w krawędziach siatki), - być dobrze ukształtowana (well shaped) (trójkąty muszą mieć określony kształt), - być niejednolite (non-uniform) (małe trójkąty blisko ścieżek, a duże – daleko).

(27)

Jeśli jesteśmy w stanie określić wartości wysokości dla dowolnych punktów (a nie tylko dla niektórych), to możemy zastosować bardziej regularną siatkę trójkątów, na której znacznie prościej będzie się przeprowadzać obliczenia.

Tam, gdzie są mniejsze różnice wysokości możemy zdefiniować większe trójkąty, a tam, gdzie zmiany są większe – mniejsze.

Następnie należy usunąć miejsca, w których wierzchołki mniejszych trójkątów znajdują się wewnątrz boku większych (T-junction). Polega to na dodaniu nowych trójkątów (pośredniego rozmiaru).

http://www.isprs.org/proceedings/XXXVII/congress/4_pdf/103.pdf

(28)

Mimo wszystko, przy podobnej liczbie punktów zastosowanie

triangulacji Delaunay lepiej określa własności terenu.

http://www.isprs.org/proceedings/XXXVII/congress/4_pdf/103.pdf

(29)

Przykłady.

https://www.youtube.com/watch?v=VWnVr_tUGUI

https://sketchucation.com/forums/viewtopic.php?f=323&t=60179

(30)

Dziękuję za uwagę.

Cytaty

Powiązane dokumenty

Czasami zdarza się, że na linii konsument – przedsiębiorca dochodzi do sytuacji spornej lub też konsument nie jest pewny jak napisać jakieś pismo, jakie przepisy

W wyniku przeprowadzonej oceny oddziaływania na środowisko przedmiotowego przedsięwzięcia, wnikliwego przeanalizowania akt sprawy, a przede wszystkim raportu o

ULICE: Cybulskiego, Jankego nr nieparzyste od 1 - 13, Kalinowskiego, Kiepury, Kolejowa nr nieparzyste od 1 - 53, Kościuszki nr nieparzyste od 193 - 229, Kłodnicka,

plantarum Kor 1, które zawieszono w 10-procentowym roztworze inuliny, obniżyła się o 2,6 log jtk/ml, natomiast komórki tych samych bakterii bez dodatku czynnika ochronnego

Analizując wpływ czynników jakościowych na wybór sklepu dyskontowego jako miejsca zakupu produktów mleczarskich, można stwierdzić, że najsilniejszy sty- mulujący wpływ na

Zastosowanie dodatku serwatki kwasowej wpływa na obniżenie wartości pH i aktywności wody kiełbas surowo dojrzewających z mięsa wołowego i mięsa da- niela oraz

Celem pracy było określenie wpływu implementacji znormalizowanych syste- mów zarządzania jakością i bezpieczeństwem żywności na doskonalenie wybranych procesów realizowanych

a) zdanie z wynikiem pozytywnym wewnętrznego egzaminu, b) uzyskanie zaliczenia z praktyki zawodowej. Słuchacz, który spełnił wszystkie powyższe warunki, uzyskuje