🔷 Diagram Woronoja
Interaktywna teselacja Woronoja z algorytmem Lloyda do relaksacji centroidalnej. Wybierz metrykę euklidesową, miejską lub Czebyszewa oraz jeden z kilku trybów kolorowania.
O tej symulacji
Diagram Woronoja dzieli płaszczyznę wokół zbioru punktów zaczątkowych tak, że każde miejsce należy do obszaru swojego najbliższego punktu. Ten interaktywny generator rysuje te komórki w czasie rzeczywistym i obsługuje relaksację Lloyda, która iteracyjnie przesuwa każdy punkt do centroidu jego komórki, aby wyrównać układ, a także wybór metryki euklidesowej, miejskiej (Manhattan) lub Czebyszewa oraz opcjonalną nakładkę triangulacji Delaunaya.
🔬 Co pokazuje
Komórki Woronoja są obliczane na żywo za pomocą algorytmu zamiatania Fortune'a (O(n log n)). Graf dualny — triangulacja Delaunaya — jest rysowany jako nakładka: maksymalizuje minimalny kąt wszystkich trójkątów, co czyni go optymalną siatką dla metod elementów skończonych i renderowania terenu.
🎮 Jak korzystać
Kliknij w dowolnym miejscu, aby dodać punkt zaczątkowy. Przeciągaj punkty, aby obserwować aktualizację teselacji w czasie rzeczywistym. Przełącz nakładkę Delaunay. Wypróbuj przycisk relaksacji Lloyda, aby iteracyjnie zbliżać komórki do równomiernego rozmieszczenia — proces tworzący centroidalne diagramy Woronoja.
💡 Czy wiesz, że...
Słynna mapa cholery Johna Snowa z 1854 roku była wczesnym diagramem Woronoja: wyznaczył on granice wokół pomp wodnych i pokazał, że zgony skupiały się wewnątrz komórki jednej pompy. Usunięcie jej rączki zakończyło epidemię — wczesny triumf analizy danych przestrzennych.
Najczęściej zadawane pytania
Czym jest diagram Woronoja?
Mając zbiór punktów zaczątkowych, diagram Woronoja dzieli płaszczyznę na obszary, z których każdy zawiera wszystkie miejsca bliższe swojemu punktowi niż jakiemukolwiek innemu. Każda komórka jest „terytorium” jednego punktu, a granice komórek są równoodległe od sąsiednich punktów.
Czym jest relaksacja Lloyda?
Algorytm Lloyda wielokrotnie przelicza diagram Woronoja i przesuwa każdy punkt do centroidu jego komórki. Powtarzanie tego procesu tworzy centroidalną teselację Woronoja o bardziej jednolitych, równomiernie rozmieszczonych komórkach, przydatną do próbkowania i generowania siatek.
Co robią różne metryki odległości?
Odległość euklidesowa daje obszary najbliższego punktu wyznaczone liniami prostymi, o gładkich granicach. Odległość miejska (Manhattan) mierzy wzdłuż osi siatki, tworząc kanciaste komórki o krawędziach w kształcie rombu, a odległość Czebyszewa liczy większą różnicę na osiach, dając obszary o kwadratowym wpływie. Każda metryka inaczej kształtuje komórki.
Czym jest nakładka triangulacji Delaunaya?
Triangulacja Delaunaya łączy punkty, których komórki Woronoja mają wspólną krawędź, i jest geometrycznym dualem diagramu Woronoja. Jej nałożenie pokazuje, jak punkty są powiązane, i jest sama w sobie szeroko wykorzystywana do generowania dobrze ukształtowanych siatek trójkątów.
Jak wyznaczane są granice komórek?
Każda granica leży dokładnie w połowie drogi, według wybranej metryki, między dwoma sąsiednimi punktami. Przy odległości euklidesowej są to symetralne odcinków łączących sąsiednie punkty, spotykające się w wierzchołkach równoodległych od trzech lub więcej punktów.
Gdzie w przyrodzie występują wzory Woronoja?
Pojawiają się w spękaniach wysychającego błota, pianach mydlanych, granicach ziaren kryształów, układzie komórek liści, wzorach umaszczenia zwierząt takich jak żyrafy oraz podziałach terytorialnych, ponieważ wiele procesów wzrostu i upakowania naturalnie minimalizuje odległość do najbliższych centrów.
Do czego diagramy Woronoja są wykorzystywane w informatyce?
Wspierają zapytania o najbliższego sąsiada, wykrywanie kolizji, generowanie siatek, tekstury proceduralne i mapy w grach, interpolację przestrzenną danych oraz planowanie obszarów usługowych, takich jak zasięgi masztów, szkół czy szpitali.
Jak dodanie większej liczby punktów zmienia diagram?
Więcej punktów tworzy więcej, mniejszych komórek i dokładniejszy podział płaszczyzny. Średnie pole komórki maleje w przybliżeniu proporcjonalnie do odwrotności liczby punktów, a granice stają się gęstsze i bardziej złożone.
Dlaczego relaksacja Lloyda sprawia, że komórki są bardziej jednolite?
Przesunięcie każdego punktu do centroidu jego komórki rozsuwa skupione punkty i wypełnia rzadkie obszary. Powtarzane iteracje zbiegają do komórek o podobnym rozmiarze i zwartych, zbliżonych do sześciokątów kształtach, zmniejszając nieregularność losowego rozmieszczenia.
Jaka jest zależność między diagramem Woronoja a triangulacją Delaunaya?
Są to struktury dualne: każdy wierzchołek Woronoja odpowiada środkowi okręgu opisanego na trójkącie Delaunaya, a krawędzie Woronoja są prostopadłe do krawędzi Delaunaya. Obliczenie jednej struktury praktycznie daje drugą, a obie mają kluczowe znaczenie w geometrii obliczeniowej.