Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Geometria obrazu Wykład 12 1.Bryły ograniczające. 2.Boundary volume hierarchy (BVH). 3.Funkcja kosztu kolizji. 4.Wykrywanie kolizji -metoda klasyczna,

Podobne prezentacje


Prezentacja na temat: "Geometria obrazu Wykład 12 1.Bryły ograniczające. 2.Boundary volume hierarchy (BVH). 3.Funkcja kosztu kolizji. 4.Wykrywanie kolizji -metoda klasyczna,"— Zapis prezentacji:

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

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

3 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]

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

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

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

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

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

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

10 Funkcja kosztu kolizji. Funkcję kosztu kolizji definiujemy w następujący sposób (Weghorst, Gottschalk, Klosowski) : T = N u C u + N v C v + N p C p, gdzie N u - liczba aktualizowanych brył ograniczających, C u - oszacowanie kosztu aktualizacji bryły ograniczającej, N v - liczba przecinających się brył ograniczających, C v - oszacowanie kosztu sprawdzenia, czy bryły ograniczające przecinają się, N p - liczba par sprawdzanych obiektów, C p - 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.

11 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]

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

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

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

15 Podejście stochastyczne. Zdefiniujmy prawdopodobieństwo przecięcia się dwóch brył ograniczających w następujący sposób: P(A i,B j ) = (Vol (A i ) + Vol (B j ) )/(Vol(A) + Vol(B)), Gdzie A i B są przecinającymi się przodkami P(A i,B j ) ( w przeciwnym przypadku P(A i,B j ) = 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.

16 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(A i,B j ) jest dostatecznie duże then return kolizja else if P(A i,B j ) > 0 then q.insert((A i,B j ), P(A i,B j ) ); end;

17 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]

18 Pole odległości. Definiujemy funkcję D: R 3 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.

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

20 Model Taylora. Zamiast sztywnych szacowań bryły ograniczającej (np. wartości funkcji cos x + 3 1/2 sin x zawierają się w przedziale [0, 1+ 3 1/2 ]) dla x [0, /2), stosujemy wzór Taylora: f(t) n i=0 t i f (i) (m)/i!+[r 0,r 1 ] dla pewnego m [t 0, t 1 ]. 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/

21 Dziękuję za uwagę.


Pobierz ppt "Geometria obrazu Wykład 12 1.Bryły ograniczające. 2.Boundary volume hierarchy (BVH). 3.Funkcja kosztu kolizji. 4.Wykrywanie kolizji -metoda klasyczna,"

Podobne prezentacje


Reklamy Google