Geometria obrazu Wykład 12

Slides:



Advertisements
Podobne prezentacje
ALGORYTMY I STRUKTURY DANYCH
Advertisements

Wycinanki - składanki czyli o mierze inaczej.
ALGORYTMY GRAFOWE.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Temat: WIELOŚCIANY KLASA III P r.
Przygotowały: Jagoda Pacocha Dominika Ściernicka
Badania operacyjne. Wykład 2
Przekształcenia afiniczne
Geometria obliczeniowa Wykład 1
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 7. Spójność i rozpięte drzewa
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
Dynamiczne struktury danych 1
Eliminacja powierzchni niewidocznych Wyznaczanie powierzchni widocznych Które powierzchnie, krawędzie i punkty są widoczne ze środka rzutowania (albo wzdłuż.
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Analiza kosztu zamortyzowanego
Geometria obrazu Wykład 9
Geometria obrazu Wykład 13
Geometria obrazu Wykład 12
Geometria obrazu Wykład 6
Bryły geometryczne Konrad Wawrzyńczak kl. IIIa Bryły obrotowe
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Rzut równoległy Rzuty Monge’a - część 1
MATEMATYKAAKYTAMETAM
Geometria obliczeniowa Wykład 8
Symulacje komputerowe Detekcja kolizji brył sztywnych Fizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski (
Geometria obliczeniowa Wykład 9
Algorytmy i struktury danych
Geometria obliczeniowa Wykład 3
Figury przestrzenne.
Geometria obliczeniowa Wykład 4
Trójkąty.
FIGURY GEOMETRYCZNE.
Rzuty Monge’a cz. 1 dr Renata Jędryczka
Geometria obliczeniowa Wykład 7
PODSTAWOWE WŁASNOŚCI PRZESTRZENI
Geometria obliczeniowa Wykład 5
Zasady przywiązywania układów współrzędnych do członów.
ŚWIAT Z BRYŁ KATARZYNA MICHALINA
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
FUNKCJE Pojęcie funkcji
RUCH KULISTY I RUCH OGÓLNY BRYŁY
Patrycja Walczak Kl. III-5 Przedstawia BRYŁY OBROTOWE.
Bryły.
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
Zagadnienia AI wykład 2.
Geometria obrazu Wykład 3
Grafika i komunikacja człowieka z komputerem
Geometria obliczeniowa Wykład 5 Geometryczne struktury danych 1. Drzewa odcinków 2. Drzewa czwórkowe 3. Drzewa BSP.
Vademecum: Bryły Zagadnienia.
BRYŁY.
Geometria obrazu Wykład 6
Trójkąty Katarzyna Bereźnicka
Wykład Rozwinięcie potencjału znanego rozkładu ładunków na szereg momentów multipolowych w układzie sferycznym Rozwinięcia tego można dokonać stosując.
Rozpoznawanie brył przestrzennych
ALGORYTMY I STRUKTURY DANYCH
PODSTAWY STEREOMETRII
Figury płaskie Układ współrzędnych.
Opracowała: Iwona kowalik
Geometria obrazu Wykład 9
Zbiory rozłączne.
Bryły Przestrzenne Wokół Mnie
Geometria obliczeniowa Wykład 8
Symulacje komputerowe
Reprezentacja (opis) obiektów graficznych
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

Geometria obrazu Wykład 12 Bryły ograniczające. Boundary volume hierarchy (BVH). Funkcja kosztu kolizji. Wykrywanie kolizji metoda klasyczna, metoda stochastyczna, pole odleglości, model Taylora.

Definicja. Bryłą ograniczającą (brzegową, bounding volume) dla zbioru obiektów S nazywamy domknięty wielościan zawierający wszystkie obiekty z danego zbioru. Bryły ograniczające możemy definiować również dla podzbiorów zbioru S, w tym pojedynczych obiektów. Powinny one spełniać następując wymagania: dobrze przybliżać aproksymowane obiekty, być łatwe w konstrukcji, łatwo aktualizować się, pozwalać na efektywne sprawdzanie przecięć, wymagać małej pamięci, łatwo łączyć się w grupy.

kula – badamy odległość między środkami, Najprostsze bryły ograniczające, dla których można łatwo sprawdzić przecięcie: kula – badamy odległość między środkami, prostopadłościan zorientowany zgodnie z kierunkiem osi – sprawdzamy zależności między współrzędnymi boków prostopadłościan dowolnie zorientowany - analizujemy przecięcia płaszczyzn wyznaczających boki prostopadłościanu. [inst.eecs.berkeley.edu]

Przykłady brył ograniczających. axis-aligned bounding box (AABB) sfera oriented bounding box (OBB) discrete oriented polytope (k-DOP) swept sphere volume (SSV) otoczka wypukła

Twierdzenie (o osi rozdzielającej, Gottschalk et al. ’96). Dwa wypukłe wielościany są rozłączne wtedy i tylko wtedy, gdy istnieje oś rozdzielająca prostopadła do ściany jednego z wielościanów lub prostopadła do krawędzi obu wielościanów. Innymi słowy istnieje prosta spełniająca pewne warunki taka, że rzuty wielościanów w kierunku prostopadłym do prostej są rozłączne.

Bazując na bryłach ograniczających możemy stworzyć bounding volume hierarchy, czyli drzewiastą strukturę danych określoną na obiektach geometrycznych w ten sposób, że każdemu wierzchołkowi v drzewa odpowiada bryła ograniczająca sumę obiektów wyznaczających bryły odpowiadające synom v, liście zwierają informacje o obiektach. Struktura powinna mieć następujące własności: bryły ograniczające powinny dobrze aproksymować obiekty (jak najmniej nachodzić na siebie), na każdym poziomie każdy obiekt powinien należeć do co najwyżej jednej bryły pokrywającej, drzewo powinno być zbalansowane.

Trzy poziomy 18-DOP hierarchii. Przykład. Trzy poziomy 18-DOP hierarchii. [Teschner et al. „Colision Detcttion for Deformable objeects”, 2005]

Bounding volume hierarchy tworzy się zwykle jedną z dwóch metod: bottom-up : najpierw znajdujemy bryły ograniczające małe grupy bliskich obiektów, a następnie łączymy je w coraz większe zbiory, top-down : znajdujmy bryłę ograniczającą cały zbiór obiektów S, a następnie dzielimy S na podzbiory (np. minimalizując sumę rozmiarów brył ograniczających odpowiadających synom danego węzła lub minimalizując rozmiar maksymalnej bryły ograniczającej odpowiadającej synowi danego węzła). Metoda bottom-up jest zwykle kosztowniejsza, ale uwzględnia topologię zbioru. Drugą metodę łatwiej zaprogramować wybierając odpowiedni sposób podziału zbioru.

W przypadku zmian położenia obiektu, struktura danych musi być aktualizowana. W zależności od rodzaju ruchu lepsze są różne bryły ograniczające. Np. w przypadku sztywnych obiektów: dla przesunięć i obrotów: sfera, SSV, OBB, tylko dla przesunięć: AABB, DOP. Wtedy bryły ograniczające dla obiektów nie ulegają zmianie. Zmieniają się bryły odpowiadające węzłom na ścieżce od analizowanego liścia do korzenia. Podobnie jest w przypadku obiektów miękkich, z tym, że trzeba tu również zmienić postać liścia. Operacje te nie są zbyt trudne np. w przypadku DOP, gdzie bryła ograniczająca odpowiadająca węzłowi jest „sumą” brył odpowiadających synom tego węzła (ściany sumy wyznaczane są przez ściany brył składowych) .

T = NuCu + NvCv + NpCp, gdzie Funkcja kosztu kolizji. Funkcję kosztu kolizji definiujemy w następujący sposób (Weghorst, Gottschalk, Klosowski) : T = NuCu + NvCv + NpCp, gdzie Nu - liczba aktualizowanych brył ograniczających, Cu - oszacowanie kosztu aktualizacji bryły ograniczającej, Nv - liczba przecinających się brył ograniczających, Cv - oszacowanie kosztu sprawdzenia, czy bryły ograniczające przecinają się, Np - liczba par sprawdzanych obiektów, Cp - oszacowanie kosztu sprawdzenia oddziaływania pary obiektów. Niestety optymalizacja tej funkcji zależy zwykle od specyficznych własności problemu, a zmniejszenie jednego ze współczynników zazwyczaj zwiększa pozostałe.

procedure traverse(A,B); if BH(A) i BH(B) nie przecinają się Wykrywanie kolizji. Niech BH(C) oznacza bryłę ogranicza-jącą odpowiadającą wierzchołkowi C. procedure traverse(A,B); if BH(A) i BH(B) nie przecinają się then return; if A i B są liśćmi then zbadaj przecięcia obiektów z BH(A) z obiektami z BH(B) else for wszyscy synowie A i B do traverse(syn(A),syn(B)); Aby szybko minimalizować prawdo-podobieństwo przecięcia badamy prze-cięcie mniejszej bryły ograniczającej z bryłami „synów” drugiej. [T.Mezger, Bounded Volume Hierarchies, 2005]

Przykład. Binarne drzewo BVH. [T.Mezger, Bounded Volume Hierarchies, 2005]

Przykład. Czwórkowe drzewo BVH. [T.Mezger, Bounded Volume Hierarchies, 2005]

Zalety i wady drzewa o większym stopniu: mniejsza głębokość rekursji, mniejsza liczba wierzchołków implikuje mniejsze Nu, szybsza analiza niż w drzewie binarnym, gdy Cv jest małe (np. dla k-DOP), większe Nv, gdy liście nie kolidują a ich przodkowie tak.

Podejście stochastyczne Podejście stochastyczne. Zdefiniujmy prawdopodobieństwo przecięcia się dwóch brył ograniczających w następujący sposób: P(Ai,Bj) = (Vol (Ai) + Vol (Bj) )/(Vol(A) + Vol(B)), Gdzie A i B są przecinającymi się przodkami P(Ai,Bj) ( w przeciwnym przypadku P(Ai,Bj) = 0). Poszukując najbardziej prawdopodobnych miejsc kolizji będziemy wybierać w drzewie BVH ścieżki o największym prawdopodobieństwie sukcesu. Niech q oznacza kolejkę priorytetową par węzłów uporządkowaną względem prawdopodobieństwa przecięć odpowiednich brył ograniczających.

Algorytm. procedure traverse(A, B); while q nie jest pusta do begin A, B  q.pop; for wszyscy synowie A i B do if P(Ai,Bj) jest dostatecznie duże then return „kolizja” else if P(Ai,Bj) > 0 then q.insert((Ai,Bj) , P(Ai,Bj) ); end;

Metoda elastycznych powierzchni Metoda elastycznych powierzchni. Badamy mniej zależności między obszarami, które są względnie daleko i zwiększamy liczbę punktów kontrolnych w miarę zbliżania się obiektów. [Teschner et al. „Colision Detcttion for Deformable objeects”, 2005]

Pole odległości. Definiujemy funkcję D: R3  R w następujący sposób: D(p) = sign(p)dist(p), Gdzie dist( ) oznacza odległość do najbliższego punktu powierzchni, a sign( ) przyjmuje wartość ujemną wewnątrz obiektu. Pole odległości określamy z pomocą drzew ósemkowych, BSP lub np. diagramów Voronoi, dzieląc przestrzeń na obszary, w których będzie obliczana funkcja odległości. Chcąc wykryć kolizję badamy pary obiektów i analizujemy ich położenie względem pól odległości. Możemy też określać pola odległości względem konkretnych obiektów.

Przykład. [Teschner et al. „Colision Detcttion for Deformable objeects”, 2005]

Model Taylora. Zamiast sztywnych szacowań bryły ograniczającej (np Model Taylora. Zamiast sztywnych szacowań bryły ograniczającej (np. wartości funkcji cos x + 31/2 sin x zawierają się w przedziale [0, 1+ 31/2]) dla x [0, /2), stosujemy wzór Taylora: f(t)  ni=0 tif(i)(m)/i!+[r0,r1] dla pewnego m  [t0, t1]. Analizujemy parę: wielomian, przedział. Takie pary możemy np. sumować. Pozwala to na dokładniejsze przybliżanie obiektów niż klasyczną metodą. http://graphics.ewha.ac.kr/CATCH/

Dziękuję za uwagę.