Obsah 1 Úvod 3 2 Historie 4 3 Definice a základní vlastnosti Voroneho diagramů v rovině 5 3.1 Struktura Voroneho buňky.................... 5 3.2 Hrany Voroneho diagramu.................... 6 3.3 Základní vlastnosti Voroneho diagramu............. 7 4 Algoritmy pro konstrukci Voroneho diagramů 9 4.1 Naivní algoritmus......................... 9 4.2 Inkrementální algoritmus..................... 9 4.3 Algoritmus,,rozděluj a panuj 10 4.4,,Plane sweep algoritmus..................... 11 5 Delaunayho triangulace 14 5.1 Vlastnosti Delaunayho triangulace................ 14 6 Zobecnění Voroneho diagramů 16 6.1 Změna dimenze.......................... 16 6.2 Změna metriky.......................... 16 6.2.1 metrika L p......................... 17 6.3 Změna váhy............................ 17 6.4 Rozšíření generující množiny................... 19 6.5 Pohyb bodu............................ 20 6.6 Speciální případy Voroneho diagramů.............. 20 6.6.1 Silový Voroneho diagram................. 20 6.6.2 Krystalický Voroneho diagram.............. 21 7 Využití Voroneho diagramů v praxi 23 7.1 Poštovní problém......................... 23 7.2 Problém skládky toxického odpadu............... 24 7.3 Biologie, příroda, zoologie.................... 24 7.4 Chemie............................... 26 7.5 Mozaiky.............................. 28 7.6 Geografie............................. 28 1
7.7 Hranice osobního prostoru.................... 29 7.8 Robotika.............................. 30 8 Přehled použitého značení 31 9 Seznam použité literatury 32 2
1 Úvod V přírodních i společenských vědách existuje mnoho oborů, které řeší problém členění prostoru na oblasti. S tímto problémem se můžeme setkat při studiu struktur vesmíru v astronomii, při hledání nejlepších alternativ pro rozmístění center v nejrůznějších oblastech (města, školy, nákupní střediska) nebo při studiu rozložení živočišných revírů, sídlišt atd. Výsledkem je rozdělení prostoru na systém oblastí, buněk, které mají společné nejvýše své hranice. Toto dělení prostoru nazýváme teselací (v rovině také mozaikou). Nejjednodušší dělení je založeno na vzdálenostech bodů v prostoru od center (tzn. vnitřek buňky je tvořen body, které mají k danému centru blíže než k centrům jiným, přičemž body na hranicích jsou stejně vzdáleny od více center). Tyto vzdálenosti nemusí být nutně eukleidovské. Pro,,obyčejný Voroneho diagram však tyto vzdálenosti eukleidovské jsou. 3
2 Historie Poprvé se Voroneho diagramy objevují v roce 1644 v Descartově díle s názvem,,principy filozofie, kde Descart použil těchto diagramů k popisu uspořádání hmoty ve sluneční soustavě a jejím okolí. Podrobnější zpracování uskutečnil při studiu pozitivně definitních kvadratických ploch německý matematik G. H. Dirichlet (1850) pro dvou a třírozměrný případ. Díky tomu se můžeme také setkat s názvem Dirichletovy mozaiky. V roce 1908 jsou tyto struktury studovány v obecnějších případech (d-dimenzionální případy), a to německým matematikem M. G. Voronoiem. Voroneho diagramy jsou použity v nejrůznějších oblastech vědy. Diagramy jsou nejprve uplatněny v roce 1911 v meteorologii (Thiessenem; odtud termín Thiessenovy polygony), následně v roce 1927 v krystalografii (Niggli) a v roce 1933 ve fyzikální chemii (Wigenerem a Seitzem; odtud termín Wignerovy-Seitzovy buňky používané ve fyzice). Během následujících let se objevují další oblasti aplikace Voroneho diagramů jako například biologie, medicína, chemie, robotika, kartografie, geografie a další. Voroneho diagramy byly mnohokrát zkoumány a zpracovávány nezávisle na sobě. Díky tomu se můžeme setkat s pojmem potencionálně využitelná plocha, který jako přirozenou oblast výživy stromů zavedl Brown (1965) nebo kapilární doména, kterou při studiu rozložení kapilár v řezu tkáně zásobované krví zavedl Hoofd (1985). Od poloviny století začalo využívání Voroneho diagramů i v sociálních a ekonomických vědách. Od sedmdesátých let tohoto století se Voroneho diagramy začaly stále více používat v počítačové grafice, přičemž tím rovněž začalo rozsáhlé studium jejich vlastností pomocí počítačových simulací. 4
3 Definice a základní vlastnosti Voroneho diagramů v rovině Euklidovská vzdálenost dvou bodů v rovině P = [p x, p y ], Q = [q x, q y ] je definována vztahem P Q = (p x q x ) 2 + (p y q y ) 2. Máme danou množinu P = {P 1, P 2,..., P n } n různých bodů v rovině, které nazýváme generující body. Voroneho diagram množiny bodů P je rozdělení roviny na n buněk příslušných k daným bodům P i tak, že pro libovolný bod Q ležící v buňce příslušné k bodu P i platí QP i < QP j P j P, kde j i. Obrázek 1: Voroneho diagram Obrázek 1 znázorňuje Voroneho diagram, kde části přímek ohraničují jednotlivé buňky Voroneho diagramu a body P 1, P 2,..., P n jsou generujícími body množiny P. 3.1 Struktura Voroneho buňky Pro dva body P, Q v rovině definujeme osu, jako osu úsečky P Q. Tato osa rozděluje rovinu na dvě poloroviny. 5
Označíme: h(p, Q)... otevřená polorovina obsahující bod P h(q, P )... otevřená polorovina obsahující bod Q Z definice Voroneho diagramu vyplývá, že pro libovolný bod R platí (viz obrázek 2) R h(p, Q) RP < RQ. Obrázek 2: Voroneho diagram pro dva body P, Q Voroneho buňka je průnikem n 1 polorovin, kde polorovina je konvexní útvar. Jedná se tedy o otevřenou konvexní mnohoúhelníkovou oblast, která je ohraničená nejvýše n 1 vrcholy a nejvýše n 1 hranami. 3.2 Hrany Voroneho diagramu Voroneho diagram rozděluje rovinu na n buněk, kde hranice mezi buňkami jsou úsečky, polopřímky a ve speciálním případě i přímky. Tyto hranice se nazývají Voroneho hrany. Pokud leží všechny generující body na jedné přímce (jsou kolineární), pak všechny hrany Voroneho diagramu jsou rovnoběžné přímky (viz obrázek 4). Těchto přímek je celkem n 1. 6
Obrázek 3: Voroneho diagram pro dva a tři body Obrázek 4: Voroneho diagram pro body ležící na přímce Obrázek 5: Voroneho diagram pro alespoň jeden bod neležící na přímce Pokud alespoň jeden generující bod neleží na stejné přímce jako ostatní generující body (Voroneho diagram je souvislý), pak žádná Voroneho hrana není přímkou. V takovém Voroneho diagramu jsou hrany pouze úsečky a polopřímky (viz obrázek 5). 3.3 Základní vlastnosti Voroneho diagramu Bod, kde se setkává tři a více Voroneho hran, nazýváme Voroneho vrchol. Necht n 3, kde n značí počet generujících bodů množiny P. Počet vrcholů Voroneho diagramu je nejvýše 2n 5 a počet hran je nejvýše 3n 6. Víme, že hrany jsou části os úseček dvou generujících bodů a vrcholy jsou průsečíky těchto os. Ovšem ne všechny osy definují hrany Voroneho diagramu a ne všechny průsečíky těchto os jsou jeho vrcholy. 7
Necht Q je bod v rovině. Pak C p (Q) je největší kružnice se středem v bodě Q, která neobsahuje uvnitř žádný bod z množiny P. Obrázek 6: Aby část osy úsečky dvou generujících bodů P i, P j byla hranou, musí na ose P i P j existovat takový bod X, že na kružnici C p (X) leží pouze generující body P i, P j. Aby byl průsečík těchto os (bod Y) vrcholem, musí platit, že na kružnici C p (Y ) leží tři nebo více bodů z množiny P (viz obrázek 6). 8
4 Algoritmy pro konstrukci Voroneho diagramů Existuje několik druhů algoritmů, pomocí kterých lze zkonstruovat Voroneho diagram pro zadanou množinu generujících bodů P. Jednotlivé algoritmy se liší svou efektivností i složitostí. 4.1 Naivní algoritmus Při použití tohoto algoritmu vycházíme přímo z definice Voroneho diagramu. Mějme množinu generujících bodů P = {P 1,..., P n }. Pro každé i = 1, 2,..., n vytvoříme n 1 polorovin h(p i, P j ) pro 1 j n; j i. Průnikem těchto polorovin h(p i, P j ) je Voroneho buňka ν(p i ). Tato metoda je intuitivní, ale není vhodná pro algoritmizaci. Nebot počet polorovin a tedy i čas výpočtu roste s n 2. Složitost tohoto algoritmu je O(n 2 log n). 4.2 Inkrementální algoritmus Tento algoritmus patří mezi nejpoužívanější, a to zejména pro svou jednoduchost a časovou nenáročnost. Máme zadanou množinu generujících bodů P = {P 1,..., P n }, pro kterou hledáme Voroneho diagram. Nejprve nalezneme Voroneho diagram pro několik málo generujících bodů (nejčastěji volíme tři). Tento zjednodušený diagram pak postupně modifikujeme přidáváním dalších generujících bodů z množiny P (viz obrázek 7). Hlavní část tedy spočívá v transformaci diagramu z i 1 na i generujících bodů, pro každé i = 1, 2,..., n. Složitost tohoto algoritmu je obecně O(n 2 ), ve speciálních případech může být i O(n). 9
Obrázek 7: Inkrementální algoritmus 4.3 Algoritmus,,rozděluj a panuj Princip algoritmu spočívá v rekurzivním dělení zadané množiny generujících bodů na dvě části, dokud nedostaneme množinu dvou nebo tří generujících bodů. Pro dva generující body P i a P i+1 je Voroneho diagram tvořen pouze osou úsečky P i P i+1. Voroneho diagram pro tři generující body tvoří osy stran trojúhelníka, jehož vrcholy jsou umístěny v generujících bodech. Po sestrojení Voroneho diagramů pro rekurzivně získané množiny následuje,,zpětný chod, při kterém jsou jednotlivé části postupně spojovány do jediného Voroneho diagramu (viz obrázek 8). Obrázek 8: Algoritmus,,rozděluj a panuj 10
Nevýhodou tohoto algoritmu je jeho náchylnost k numerickým chybám. Naopak výhodou je, že tento algoritmus má optimální složitost O(n log n). 4.4,,Plane sweep algoritmus Tento algoritmus známe také pod názvem,,fortune s algoritmus. Algoritmus využívá takzvané zametací přímky. Klasický způsob algoritmu zkoumá průsečíky zametací přímky s Voroneho diagramem. Zde pak nastává problém, jelikož Voroneho diagram nad zametací přímkou závisí jak na generujících bodech nad přímkou, tak i na generujících bodech pod ní. Nicméně, body pod přímkou ještě nejsou známy. Proto tento přístup modifikujeme: Budeme uchovávat informace pouze o té části Voroneho diagramu, kterou už nelze změnit (tedy o té části diagramu, která není ovlivněna generujícími body pod zametací přímkou). Zametací přímku označíme l. Polorovinu nad zametací přímkou označíme l +. Nyní tedy hledáme tu část Voroneho diagramu, která už nemůže být změněna (jinak řečeno, hledáme body Q l + o nichž víme, který generující bod k nim je nejblíže). Platí, že vzdálenost libovolného bodu Q l + od libovolného generujícího bodu pod zametací přímkou je větší, než jeho vzdálenost od zametací přímky. Existuje-li generující bod P i l + takový, že QP i Ql pak generující bod P j pro bod Q nemůže ležet pod zametací přímkou (viz obrázek 9). Množina bodů Q l +, které mají blíže k bodu P i l + než k zametací přímce, je ohraničena parabolou. To ovšem platí pro libovolný generující bod nad zametací přímkou. Množina bodů Q l + je tedy ohraničena parabolickými oblouky. Tuto hranici nazýváme,,beach line. 11
Obrázek 9: Průsečíky parabolických oblouků, které leží na beach line, leží zároveň na hranách Voroneho diagramu. Při pohybu zametací přímky tvoří tyto průsečíky hrany Voroneho diagramu. Při vytváření Voroneho diagramu jsou důležité dvě operace. Jedná se o,,site event, což je objevení nového generujícího bodu na zametací přímce. Obrázek 10: Vznik nové paraboly (v počátku je degenerovaná) Obrázek 11: Vznik nové paraboly O,,circle event, což je zánik parabolického oblouku. 12
Obrázek 12: Zánik parabolického oblouku část 1. Obrázek 13: Zánik parabolického oblouku část 2. Obrázek 14: Zánik parabolického oblouku část 3. Složitost je O(n log n). 13
5 Delaunayho triangulace Delaunayho triangulace je duální strukturu k Voroneho diagramu. Obrázek 15: Delaunayho triangulace Delaunayho triangulaci dostaneme spojením generujících bodů, jejichž buňky jsou sousedící ve Voroneho diagramu (tedy ty, které mají společnou hranu; viz obrázek 15). 5.1 Vlastnosti Delaunayho triangulace Pro Voroneho a Delaunayho hrany platí, že odpovídající si páry hran jsou na sebe kolmé (plyne z definyce voroneho hran). Nejmenší Delaunayho mnohoúhelník obsahující množinu generujících bodů P je konvexní obal množiny P. Delaunayho triangulace maximalizuje minimální úhel v trojúhelníku (tzv. kritérium max-min). Danný čtyřúhelník rozdělí úhlopříčkou na dva trojúhelníky tak, aby úhly ve vzniklých trojúhelnících byly maximální. 14
Kružnice opsaná každému trojúhelníku z Delaunayho triangulace neobsahuje žádný další generující bod (tzv. kritérium prázdného kruhu). Libovolné triangulace, které nesplňují vlastnosti triangulace Delaunayho, můžeme na Delaunayho triangulaci převést. To, že Delaunayho triangulace splňuje kritérium max-min, je důležité pro aplikace jako je např. metoda konečných prvků, interpolace apod. 15
6 Zobecnění Voroneho diagramů V předchozích kapitolách jsme vycházeli z definice Voroneho diagramu v rovině. Používali jsme Eukleidovskou vzdálenost. Jednotlivé předpoklady můžeme měnit. 6.1 Změna dimenze Máme množinu generujících bodů P = {P 1, P 2,..., P n } z prostoru R d. Pak Voroneho buňka pro bod P i je definována vztahem ν(p i ) = {Q R d : Q P i < Q P j, j i} kde Q P i je Eukleidovská vzdálenost dvou bodů. V prostoru R d je hranicí dvou Voroneho buněk, část (d 1)-dimenzionálního prostoru (jedná se o nadrovinu). Voroneho buňka ν(p i ) je tedy průnikem všech poloprostorů ohraničených nadrovinami s vlastností Q P i = Q P j, tedy platí νp i = j i{q R d : Q P i < Q P j }. Odtud plyne, že Voroneho buňka je konvexní mnohostěn. Voroneho diagram je tedy rozdělení prostoru R d na n buněk ν(p 1 ),..., ν(p n ). 6.2 Změna metriky Jedná se o nahrazení Eukleidovské vzdálenosti (metriky) jinou libovolnou metrikou. Pro každou Voroneho buňku platí ν(p i ) = j i{q R d : dist(q, P i ) < dist(q, P j )} kde dist označuje libovolnou metriku. Mezi nejpoužívanější příklady patří tzv. L p -metriky. 16
6.2.1 metrika L p Vzdálenost dvou bodů P = [p x1, p x2,..., p xd ], Q = [q x1, q x2,..., q xd ] v prostoru R d je ( d ) 1 dist p (P, Q) = P Q p = p xi q xi p i=1 p. Obrázek 16: Voroneho diagram v metrice L 1 6.3 Změna váhy Jednotlivým generujícím bodům přiřazujeme reálné číslo w i. Jedná se o váhu daného generujícího bodu. Takto upraveným Voroneho diagramům se říká vážené Voroneho diagramy a dělíme je na dvě podskupiny. Aditivní vážené Voroneho diagramy Bodu P i je přiřazena váha w i. Metriku můžeme definovat vztahem kde dist je libovolná metrika. dist a (P, Q) = dist(p, Q) w i Pokud za metriku zvolíme Eukleidovskou vzdálenost, pak dist a (P, P i ) lze chápat jako Eukleidovskou vzdálenost bodu P od kružnice se středem v bodě P i a poloměrem w i (viz obrázek 17). Jelikož množina bodů, které mají stejnou vzdálenost od dvou kružnic tvoří hyberbolu, jsou Voroneho hrany částmi hyperbol. 17
Obrázek 17: Aditivní vážený Voroneho diagram Multiplikativní vážené Voroneho diagramy V tomto případě definujeme metriku vztahem dist m (P, Q) = 1 w i dist(p, Q) Množina bodů, pro které je poměr Eukleidovských vzdáleností ke dvěma bodům P i, P j konstantní, tvoří kružnici. Tedy hranami takto upraveného Voroneho diagramu jsou kruhové oblouky (viz obrázek 18). Obrázek 18: Multiplikativní vážený Voroneho diagram 18
6.4 Rozšíření generující množiny Množina P = l 1, l 2,..., l n obsahuje místo generujících bodů vzájemně disjunktní úsečky v R 2. Pro nějaký bod v R 2 definujeme dist(p, l i ) jako eukleidovskou vzdálenost bodu P od nejbližšího bodu ležícího na l i. Pravidlo nejbližšího souseda, s respektováním dané vzdálenosti, dává rozdělení roviny do oblastí, odpovídající úsečkám l 1,..., l n. Toto rozdělení nazýváme Voroneho diagram pro úsečky (viz obrázek 19). Voroneho diagram pro úsečky může být konstruován v čase O(n log n) algoritmem,,plane-sweep. Postup algoritmu je podobný jako pro Voroneho diagram s generujícími body. Obrázek 19: Voroneho diagram pro úsečky Speciálním případem Voroneho diagramu pro úsečky je Voroneho diagram pro mnohoúhelníky. Jendá se o Voroneho diagram pro úsečky, jež mají společné krajní body tak, že tvoří mnohoúheník. Hranami Voroneho diagramu pro úsečky, v případě, kdy se úsečky nedotýkají, jsou obecně nějaké křivky. Hrana Voroneho diagramu pro mnohoúheníky je dána střední příčkou mnohoúhelníka; viz obrázek 20). Dále můžeme definovat Voroneho diagram pro kružnice (viz obrázek 21), kde hranami jsou části hyperbol. Popřípadě můžeme také tyto objekty různě kombinovat. Například Voroneho diagram množiny P, která obsahuje úsečky, body, mnohoúhelníky. Hrany tohoto diagramu jsou tvořeny částmi přímek a částmi parabolických oblouků. Těchto diagramů se využívá například v GIS (geografické informační systémy). 19
Obrázek 20: Voroneho diagram pro mnohoúhelník Obrázek 21: Voroneho diagram pro kružnice 6.5 Pohyb bodu Pro zadanou množinu generujících bodů P 1, P 2,..., P n budeme řešit problém pohybu jednoho ze zadaných generujících bodů. Předpokládejme, že množina generujících bodů P 1, P 2,..., P n 1 je pevně zadaná. Budeme tedy pohybovat pouze generujícím bodem P n. Ze základních vlastnosí Voroneho diagramů plyne, že struktura Voroneho diagramu se změní pouze v případě: odstranění generujícího bodu P n přidání generujícího bodu při změně konvexního obalu 6.6 Speciální případy Voroneho diagramů Případy zobecnění, jež jsem uvedla v předchozích podkapitolách, se dají různě kombinovat. 6.6.1 Silový Voroneho diagram Pro generující bod P i, s váhou w i, můžeme definovat sílu (jinak také Laguerre metrika) jako dist L (P, P i ) = P P i 2 w i 20
Voroneho diagram s touto metrikou se nazývá silový diagram nebo také Laguerre Voroneho diagram (viz obrázek 26). Obrázek 22: Silový Voroneho diagram Pro každý generující bod P i s nezápornou váhou w i můžeme vykreslit kružnici, která má střed v bodě P i a poloměr w i. Hrany tohoto diagramu jsou pak části přímek, které jsou kolmé na úsečku dvou generujících bodů. Pokud se kružnice dvou sousedních generujících bodů protínají, pak hrana mezi nimi vede průsečíky těchto dvou kružnic. V případě, že se kružnice neprotínají, sestavujeme hranu jako pro Voroneho diagram s váhami. 6.6.2 Krystalický Voroneho diagram Krystal označuje oblast okolo generujícího bodu. Předpokládejme, že krystaly pro generující body P 1, P 2,..., P n rostou různou rychlostí, dokud dosahují na oblast nepokrytou jinými krystaly. Tím získáváme rozdělení prostoru do krystalů. Toto rozdělení pak nazýváme Krystalický Voroneho diagram (viz obrázek 25). Obrázek 23 ukazuje krystalický Voroneho diagram pro dva body, z nichž jeden roste dvakrát rychleji než ten druhý. Část hranice Krystalického Voroneho diagramu je stejná s hranicí Multiplikativního váženého Voroneho diagramu pro stejnou množinu generujících bodů s váhou, která v krystalickém Vororneho diagramu značí rychlost růstu. Ovšem zbylá část hranice je odlišná od Multiplikativního váženého Voroneho 21
Obrázek 23: Krystalický Voroneho diagram Obrázek 24: Krystalický Voroneho diagram v čase Obrázek 25: Krystalický Voroneho diagram při dokončení růstu diagramu, protože v Krystalickém Voroneho diagramu je vzdálenost měřená jako délka nejkratší cesty, vyhýbající se ostatním krystalům. Pro konstrukci tohoto Voroneho diagramu potřebujeme simulovat růst krystalů. Jedním z možných přístupů pro simulaci růstu krystalů je metoda,,fast marching. Příklad Krystalického Voroneho diagramu pro více než dva krystaly generované touto metodou je znázorněn na obrázcích 24 a 25. Obrázek 24 ukazuje střední stupně krystalického růstu v čase t a obrázek 25 znázorňuje konečný tvar krystalického Voroneho diagramu. 22
7 Využití Voroneho diagramů v praxi 7.1 Poštovní problém Klasický poštovní problém se dá modifikomat jako problém pro nákupní střediska. Na místo toho, že pro pošty nacházející se ve městě hledáme množinu obyvatel, která bude dannou poštu navštěvovat. Předpokládejme, že plánujeme postavit novou pobočku obchodního řetězce. Hledáme tedy vhodné umístění pobočky tak, aby byla atraktivní pro co nejvíce návštěvníků a tedy aby byla zisková. Snažíme se odhadnout počet návštěvníků, pro které bude pobočka atraktivní. Vytváříme model chování potencionálních návštěvníků. Pro zjednodušení budeme předpokládat některá omezení: Cena zboží je stejná v každém středisku. Náklady na získání zboží se rovnají součtu ceny zboží a ceny dopravy. Cena dopravy do střediska je rovna součinu pevné ceny za jednotku vzdálenosti a Euklidovské vzdálenosti do střediska. Návštěvník se snaží minimalizovat náklady na získání zboží. Obrázek 26: Voroneho diagram nad okresními městy ČR Za normálních okolností však tyto předpoklady nejsou zcela splněny. Zboží může mít v každém středisku jinou cenu, cena dopravy neroste lineárně s Eukleidovskou vzdáleností apod. Tento model tedy poskytuje pouze hrubou 23
aproximaci. Z předpokladů vyplývá, že pro střediska vytváříme určité oblasti (regiony) tak, že lidé žijící v dané oblasti, chodí nakupovat do střediska v téže oblasti, nebot ho mají nejblíže. 7.2 Problém skládky toxického odpadu Pro n generujících bodů v rovině, reprezentující města, potřebujeme najít úložiště odpadu, jehož lokalizace by splňovala následující podmínky: dostatečná vzdálenost od generujících bodů (měst) předpoklad umístění do konvexního obalu Přičemž konvexní obal zde představuje například hranice státu, nebot odpad není možné vyvážet za hranice. Všechna potencionální úložiště budou ležet na hranách Voroneho diagramu. Ideální místo na uložení toxického odpadu, tedy to místo nejvíce vzdálené od generujících bodů (měst), se bude nacházet na nejdelší spojnici dvou generujích bodů (měst). Stejně jako poštovní problém lze i problém skládky toxického odpadu modifikovat na jiné problémy. Jedním z nich je například nejvhodnější umístění nového obchodu. Předpokládejme, že chceme v dané oblasti vybudovat nový obchod. Nejvýhodnější umístění je v co největší vzálenosti od současných obchodů, abychom pokryli co největší oblast potencionálních zákazníků. 7.3 Biologie, příroda, zoologie Voroneho diagramy se v biologii používají pro: Modelování růstu rostlin Pro danou skupinu rostlin, v rovině, charakterizované souřadnicemi: poloměrem a druhem. Různé druhy rostlin mají různá pravidla pro svůj růst a pravidla jež definují poměr mezi velikostí oblasti ve které se rostlina vyskytuje a šířkou této rostliny. Úkolem je studovat vztahy: velikost-vzdálenost, velikost-plocha a vztahy v hustě posázeném systému rostlin. 24
Pro řešení tohoto problému se využívá vážených eukleidovských Voroneho diagramů. Rostliny jsou reprezentovýny generujícími body. Voroneho diagram je pro společenstvo rostlin konstruován inkrementálním algoritmem. Oblast, ve které se rotlina vyskytuje, se vypočítává jako obsah oblasti odpovídající buňky Voroneho diagramu. Růst buněk v mitóze Ty obalují krevní cesty a jsou obalené odpočívajícími buňkami, které tvoří takzvané hrozny. Včelí plástve Jsou speciálním případem Voroneho diagramů při pohledu zhora (tvoří mozaiku). Každá larva má mít stejně velký a stejně ohraničený prostor. Toho se docílí tak, že larvy vezmeme jako generující body množiny a vykreslíme pro ně Voroneho digram. Obrázek 27: Včelí plástve Další využití v této oblasti je například pro modelování teritorií jednotlivých zvířat, stád atd. Mořské korály si staví buňky do tvaru Voroneho diagramů. Každý organismus z kolonie si staví buňku rozdílnou rychlosí, dokud se nesetká se sousedem. Pak již nemuže pokračovat. Do tvaru Voroneho diagramů, praská nebo se naopak shlukuje zem. 25
A to v důsledku smršt ování nebo roztahování půdy, díky zamrzání a tání tundry nebo kvůli vysušování a zavodňování zeminy (např. solné pouště). Obrázek 28: Voroneho diagram v poušti Obrázek 29: Motýlí křídla Obrázek 30: Pohled zblízka 7.4 Chemie V chemii se Voroneho diagramy používají především jako 3D model buněk, chemických prvků atd. Jedná se tedy o Voroneho diagram v prostoru. 26
Pro zadanou množinu generujících bodů P 1, P 2,..., P n vykreslujeme Voroneho diagram tak, že z každého generujícího bodu necháme růst kouli, všechny stejnou rychlostí, dokud nedojde k dotyku koulí pro sousední generující body. Buňky Voroneho diagramu pak budou konvexními mnohostěny. Obrázek 31: Voroneho diagram v chemii Pro případ, kdy budeme potřebovat namodelovat tvar krystalu některé konkrétní látky, stačí znát rozložení atomů v dané látce. Atomy vezmeme jako množinu generujících bodů, pro kterou vykreslíme Voroneho diagram. Pro tento Voroneho diagram najdeme jeho Delaunayovu triangulaci, ta je velmi dobrou aproximací tvaru krystalu. Voroneho diagramy se dají také použít pro určení strukturálních vlastností proteinů (nalezení největšího volného prostoru, konstrukce povrchu molekul atd.). 27
7.5 Mozaiky Pokud budeme vykreslovat Voroneho diagram pro speciálně zadanou množinu generujících bodů, budou vznikat mozaiky. Obrázek 32: Obrázek 33: Obrázek 34: 7.6 Geografie Voroneho diagramy se v geografii používají například k analýze sídel. Představme si, že Zemi rozdělíme na buňky podle hustoty osídlení lidskou populací. V hustě osídlených oblastech budou buňky menší a bude jich více, než v oblastech s nízkým počtem obyvatel. Obrázek 35: Rozložení populace 28
7.7 Hranice osobního prostoru Pokud chceme určit hranici osobního prostoru člověka, pohybujícího se mezi dalšími lidmi, jedná se opět o Voroneho diagram. Jednotlivé osoby bereme jako generující body, přičemž hrany Voroneho diagramu se mění podle toho, jak se jednotlivé osoby pohybují. Hranice Voroneho diagramu, určujícího hranice osobního prostoru, budou v závislosti na počtu osob a pro nějaký omezený prostor (např. místnost), bud mnohoúhelníky nebo přímky. Obrázek 36: Hranice osobního prostoru 29
7.8 Robotika V rámci oborů kybernetika a robotika se Voroneho diagramy používají pro plánováni pohybu robota, popřípadě jiných pohybujících se strojů. Generující množina bodů je tvořena překážkami v prostoru. Pro tuto množinu generujích bodů vykreslíme Voroneho diagram. Robota necháme, pohybovat se po hranách Voroneho diagramu, nebot v každém okamžiku bude vzhledem k překážkám v ideální pozici. Obrázek 37: Pohyb robota 30
8 Přehled použitého značení P Q....... vzdálenost dvou bodů v rovině Ql........ vzdálenost bodu Q od zametací přímky l V or(p )..... Voroneho diagram množiny P ν(p i )....... Voroneho buňka pro bod P i h(p, Q)..... otevřená polorovina obsahující bod P CH(P )..... konvexní obal množiny P C p (Q)...... kružnice se středem v bodě Q l +......... polorovina nad zametací přímkou l......... polorovina pod zametací přímkou dist(p, Q).... vzdálenost dvou bodů v prostoru w i......... váha generujícího bodu P i 31
9 Seznam použité literatury Reference [1] de Berg, M.; van Kreveld, M.; Overmars, M.; Schwarzkopf, O.: Computation Geometry. Algorithms and Applications. Berlin. Springer Verlag 1997. ISBN 3-540-65620-0 [2] Farin, G.; Hoschek, J.; Kim, M. S.: Handbook of Computer Aided Design. Elsevier 2002 [3] Bastl, B.: Aplikace geometrie 2, pomocný učební text, ZČU, 2007 [4] Ponížil, P.: Prostorové teselace, Teze k rigózní zkoušce, VUT, 1998 [5] Sugihara, K.: Voronoi Diagrams, Department of Mathematical Engineering and Information Physics, University of Tokyo, Hongo, Bunkyo-ku, Tokyo 113-8656, Japan [6] Tomiczková, S.: Voroneho diagramy, numerický seminář, ZČU, 2006 [7] Ježek, F.; Bastl, B.; Tomiczková, S.: Geometrické modelování a jeho aplikace, stat, ZČU, 2002 [8] Slovák, J.: Geometrické algoritmy I., 1994 32