Strona główna Geometria Delaunay i Voronoi

△ Delaunay i Voronoi

Wyznacz na żywo triangulację Delaunaya (Bowyer–Watson) dla przeciągalnego zbioru punktów, z nałożonym diagramem dualnym Voronoi. Najedź na trójkąt, by zobaczyć jego pusty okrąg opisany — cechę definiującą triangulację Delaunaya.

Geometria3DZaawansowany60 FPS
delaunay-triangulation ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

Podobne symulacje

O triangulacji Delaunaya i diagramie Woronoja

Ta symulacja demonstruje triangulację Delaunaya — metodę łączenia zbioru punktów w nienachodzące na siebie trójkąty, tak aby żaden punkt nie leżał wewnątrz okręgu opisanego na żadnym trójkącie. Konstrukcja jest wykonywana za pomocą przyrostowego algorytmu Bowyera-Watsona, który wstawia punkty pojedynczo i naprawia triangulację, usuwając i ponownie łącząc trójkąty, których okręgi opisane zawierają nowy punkt. Możesz interaktywnie dodawać, przeciągać i usuwać punkty, obserwując aktualizację siatki w czasie rzeczywistym, a opcjonalnie wyświetlić diagram Woronoja — geometryczny dual triangulacji Delaunaya.

Triangulacja Delaunaya została wprowadzona przez Borisa Delaunaya w 1934 roku i jest dziś podstawą geometrii obliczeniowej, wykorzystywaną w generowaniu siatek do analizy metodą elementów skończonych, modelowaniu terenu, grafice komputerowej, planowaniu ścieżek robotów oraz systemach informacji geograficznej.

Najczęściej zadawane pytania

Czym jest triangulacja Delaunaya?

Triangulacja Delaunaya zbioru punktów to unikalna triangulacja (dla punktów w położeniu ogólnym), w której okrąg opisany na każdym trójkącie nie zawiera wewnątrz żadnego innego punktu ze zbioru. Ta własność „pustego okręgu opisanego” zapewnia, że triangulacja maksymalizuje minimalny kąt spośród wszystkich trójkątów, dając „najbardziej równoboczną” możliwą siatkę dla danego zbioru punktów.

Jak wchodzę w interakcję z tą symulacją?

Kliknij w dowolnym miejscu na płótnie, aby dodać nowy punkt i zobaczyć natychmiastową przebudowę triangulacji. Przeciągaj istniejące punkty, aby dynamicznie kształtować siatkę. Kliknij punkt prawym przyciskiem myszy, aby go usunąć. Użyj panelu sterowania, aby przełączać się między losowym, siatkowym i kołowym układem punktów, włączyć nakładkę duala Woronoja, pokazywać okręgi opisane po najechaniu, podświetlić otoczkę wypukłą i kolorować poszczególne trójkąty. Przycisk „Animuj konstrukcję” odtwarza sekwencję wstawiania Bowyera-Watsona krok po kroku.

Co oznacza własność „pustego okręgu opisanego” i dlaczego ma znaczenie?

Każdy trójkąt w triangulacji Delaunaya ma unikalny okrąg opisany przechodzący przez jego trzy wierzchołki. Warunek Delaunaya wymaga, aby żaden inny punkt wejściowy nie leżał ściśle wewnątrz tego okręgu. Włącz „Okrąg opisany po najechaniu” i przesuń mysz nad trójkątami, aby to zweryfikować: nakładka pokazuje znacznik „pusty okrąg opisany”, gdy warunek jest spełniony. Ta własność bezpośrednio implikuje, że minimalny kąt w triangulacji jest tak duży, jak to możliwe, co czyni obliczenia numeryczne na siatce bardziej stabilnymi i dokładnymi.

Jak działa algorytm Bowyera-Watsona?

Algorytm Bowyera-Watsona wstawia punkty pojedynczo do istniejącej triangulacji. Zaczyna od dużego „super-trójkąta”, który zawiera wszystkie punkty wejściowe. Dla każdego nowego punktu znajduje wszystkie trójkąty, których okrąg opisany zawiera ten punkt („złe” trójkąty), usuwa je, tworząc gwiaździsty wielokątny wykrój, a następnie łączy nowy punkt z każdą krawędzią tego wykroju, tworząc nowe trójkąty. Na koniec odrzucane są wszystkie trójkąty dzielące wierzchołek z super-trójkątem. Algorytm działa w oczekiwanym czasie O(n log n) dla losowych zbiorów punktów i O(n^2) w najgorszym przypadku.

Czym jest diagram Woronoja i jak wiąże się z triangulacją Delaunaya?

Diagram Woronoja dzieli płaszczyznę na regiony, po jednym na każdy punkt wejściowy, gdzie każdy region zawiera wszystkie miejsca bliższe temu punktowi niż jakiemukolwiek innemu. Triangulacja Delaunaya i diagram Woronoja są geometrycznymi dualami: środek okręgu opisanego każdego trójkąta Delaunaya staje się wierzchołkiem Woronoja, a łączenie środków okręgów opisanych sąsiednich trójkątów (dzielących krawędź) kreśli krawędzie Woronoja. Włącz „Diagram Woronoja” w symulacji, aby nałożyć obie struktury jednocześnie i zaobserwować, jak każdy wierzchołek Woronoja leży dokładnie w środku okręgu opisanego trójkąta Delaunaya.

Gdzie w praktyce wykorzystywana jest triangulacja Delaunaya?

Triangulacja Delaunaya stanowi podstawę generowania siatek elementów skończonych w symulacjach konstrukcyjnych i dynamiki płynów, gdzie dobrze ukształtowane trójkąty poprawiają dokładność solvera. Jest wykorzystywana w systemach informacji geograficznej do budowy triangulowanych nieregularnych sieci (TIN) dla modeli wysokościowych terenu. Potoki grafiki komputerowej używają jej do rekonstrukcji powierzchni z chmur punktów, kształtów alfa i atlasowania tekstur. Planowanie sieci bezprzewodowych i mobilnych wykorzystuje komórki Woronoja (dual) do modelowania obszarów pokrycia i granic przekazywania połączeń między stacjami bazowymi.

Czy triangulacja Delaunaya zawsze daje unikalny wynik?

Dla punktów w „położeniu ogólnym” — czyli gdy żadne cztery punkty nie leżą dokładnie na wspólnym okręgu — triangulacja Delaunaya jest unikalna. Gdy cztery lub więcej punktów leży na wspólnym okręgu (konfiguracja zdegenerowana), nie ma ścisłej preferencji między dwiema poprawnymi triangulacjami, więc wynik zależy od reguł rozstrzygania remisów. Symulacja radzi sobie z tym, stosując niewielkie losowe zaburzenie współrzędnych punktów podczas obliczeń Bowyera-Watsona, zapewniając spójny wynik nawet dla symetrycznych układów, takich jak regularne siatki czy okręgi.

Kto i kiedy odkrył triangulację Delaunaya?

Triangulacja została nazwana na cześć Borysa Nikołajewicza Delaunaya (transliterowanego też jako Delone), radzieckiego matematyka, który formalnie zdefiniował i udowodnił tę konstrukcję w swojej pracy z 1934 roku „Sur la sphere vide”. Georgij Woronoj opisał już wcześniej diagram dualny w 1908 roku. Przyrostowy algorytm Bowyera-Watsona, zaimplementowany w tej symulacji, został niezależnie odkryty przez Adriana Bowyera i Davida Watsona w 1981 roku, co uczyniło tę metodę wystarczająco wydajną do praktycznego, interaktywnego zastosowania.

Jakie są pokrewne struktury geometrii obliczeniowej?

Blisko powiązane struktury obejmują otoczkę wypukłą (zewnętrzną granicę triangulacji Delaunaya, pokazywaną po włączeniu „Otoczka wypukła” w tej symulacji), graf Gabriela (podgraf krawędzi Delaunaya, gdzie okrąg średnicowy każdej krawędzi jest pusty) oraz minimalne drzewo rozpinające (zawsze podgraf triangulacji Delaunaya). W wyższych wymiarach triangulacja Delaunaya uogólnia się do tetraedryzacji Delaunaya w 3D, niezbędnej do generowania siatek objętościowych w inżynierii obliczeniowej.

Jak triangulacja Delaunaya jest wykorzystywana w inżynierii i technologii?

W analizie metodą elementów skończonych (MES) źle ukształtowane trójkąty z bardzo małymi kątami powodują źle uwarunkowane macierze sztywności i niestabilność numeryczną; siatkowanie Delaunaya z algorytmami udoskonalającymi, takimi jak algorytm Rupperta, gwarantuje minimalne ograniczenie kąta (zwykle powyżej 20 stopni) w całej siatce. W widzeniu komputerowym triangulacja Delaunaya punktów charakterystycznych twarzy tworzy siatkę wykorzystywaną do przekształcania i morfowania twarzy oraz filtrów rzeczywistości rozszerzonej. Oprogramowanie geoprzestrzenne, takie jak QGIS i ArcGIS, wykorzystuje ją do interpolacji danych wysokościowych i generowania linii warstwicowych z rozproszonych pomiarów geodezyjnych.

Jakie są bieżące kierunki badań nad triangulacją Delaunaya?

Aktywne badania obejmują równoległą i przyspieszaną przez GPU konstrukcję Delaunaya dla bardzo dużych zbiorów punktów (miliardy punktów w symulacjach naukowych), dynamiczne struktury Delaunaya wspierające wydajne wstawianie i usuwanie punktów w scenariuszach strumieniowych lub z ruchomymi punktami, oraz siatkowanie anizotropowe, w którym kształty trójkątów dostosowują się do kierunkowości w obszarze bazowym (jak warstwy przyścienne w dynamice płynów). Trwają też prace nad ważonymi triangulacjami Delaunaya (diagramami potęgowymi) i ich zastosowaniami w transporcie optymalnym i geometrii uczenia maszynowego.