Voroného (Voronoi) diagramy
Georgij Fedosjevič Voronoj 1868-1908
Formulace úlohy Vstup: Množina P={p1,p2,…pn} bodů v R2 Výstup funkce f: R2 → P, která každému bodu x z R2 přiřadí nejbližší bod p z P Množinu všech bodů x, pro které f(x)=pi nazýváme Voronojovou buňkou bodu pi
Hledání nejbližší stanice metra
Terminologie
Vlastnosti Voroného diagramu V.D. je rovinný graf Voroného buňky jsou konvexní útvary Voroného buňka bodu p je neomezená, právě když bod p leží na hranici konvexního obalu množiny P.
Odhad počtu buněk diagramu Z Eulerovy formule plyne B <= 2n – 4 H <= 3n - 6
Voroného diagramy pro pravidelné množiny
Poštovní problém Voroného diagram nad okresními městy ČR
Další vlastnost diagramu Bod q je Voroného vrcholem mezi buňkami pi,pj a pk. Pak body pi,pj a pk leží na jedné kružnici se středem v bodě q
Souvislost Voroného diagramu a Deleanuy triangulace Body pi a pj jsou spojeny hranou v D.T. právě když jejich Voroného buňky mají společnou hranu Voroného vrcholy ve V.D. jsou středy kružnic opsaných trojúhelníkům D.T.
Metody konstrukce V.D. Nepřímé Přímé Vytvořím Deleunay triangulaci Spojím středy kružnic opsaných trojúhelníkům D.T. Přímé Inkrementální konstrukce Algoritmus zametací přímky
Inkrementální konstrukce Voroného diagramu
Inkremetální konstrukce složitější situace při vložení vrcholu
Zametací (sweep) křivka parabola obsahující body stejně vzdálené od daného bodu a dané přímky
Algoritmus zametací křivky Nad každým bodem vstupní množiny vytvořím kužel s úhlem u vrcholu rovným ω (např. 45 stupňů) Vytvořím pomocnou rovinu r svírající s rovinou xy úhel ω Rovina r se bude pohybovat ve směru osy y Průsečnice roviny r a jednotlivých kuželů tvoří v rovině xy parabolické oblouky Průsečíky těchto oblouků jsou Voroného vrcholy
Sweeping algoritmus
Sweeping algoritmus (typická situace)