Sunteți pe pagina 1din 13

MODULUL VI.

DIAGRAMA VORONOI
Tema are ca scop prezentarea detaliat a uneia din construciile foarte utile ale Geometriei computaionale i anume diagrama Voronoi a unei mulimi de puncte din plan. Proprieti remarcabile ale acesteia permit abordarea i rezolvarea unor probleme de proximitate. Dup parcurgerea i nsuirea acestei teme, studentul va cunoate: Noiunea de diagram Voronoi. Proprieti ale diagramei Voronoi. Algoritmul de construire a diagramei Voronoi. Aplicaii

Studenii vor ntocmi o tem de cas care const n rezolvarea problemelor i exerciiilor propuse. Cuvinte cheie: diagrama Voronoi, graf planar, regiuni nemrginite, principiul divide et impera. Indicaii de studiere a temei: Timpul minim pe care trebuie s-l acordai studierii acestui modul este de 3 ore. Se citete cu atenie i se noteaz ideile principale, ecuaiile matematice, se aprofundeaz noiunile subliniate. Se parcurg ntrebrile de control i testele de verificare. Se studiaz problemele i exerciiile rezolvate. Se rezolv exerciiile propuse. Dac nu se neleg rezolvrile sau nu pot da soluii unor probleme propuse se restudiaz subiectul n cauz. Cuprins 6.1. Diagrama Voronoi: definiie, exemple 6.2. Proprieti ale diagramei Voronoi 6.3. Aplicaie: cele mai apropiate perechi de puncte ale unei mulimi M 6.4. Graful planar definit de diagrama Voronoi a unei mulimi M 6.5. Metoda divide et impera pentru construirea diagramei Voronoi a unei mulimi M de puncte din plan 6.6.Teme pentru cas

6.1. DIAGRAMA VORONOI: DEFINIIE, EXEMPLE


DEFINIIE Dat fiind o mulime M de puncte P1, P2, ..., Pn din plan, fiecare punct Pi determin o regiune i n care se gsesc punctele care sunt mai apropiate de punctul Pi dect de celelalte puncte ale mulimii. ntregul plan va fi mprit ntre aceste regiuni care, evident, nu pot avea puncte interioare comune. Aceast mprire se numete diagrama Voronoi a mulimii M. Urmtoarele exemple ofer o introducere n problematica diagramelor Voronoi. EXEMPLE a) Considerm mulimea M constituit din dou puncte A i B. Mediatoarea segmentului AB mparte planul n dou regiuni. n regiunea n care se afl punctul A sunt punctele care sunt mai apropiate de A dect de B iar n regiunea cealalt sunt punctele mai apropiate de B dect de A. Pe mediatoare, frontiera dintre cele dou regiuni, se afl punctele situate la distane egale fa de A i B.

A A B O B a) A B O O C B P D c) d) M O C b) A N C

b) Dac mulimea M este constituit din trei puncte A, B i C atunci mediatoarele laturilor triunghiului ABC se ntlnesc n punctul O care este centrul cercului circumscris, singurul punct din plan care se afl la aceeai distan de cele trei puncte A, B, C. Aceste trei mediatoare, mpreun cu punctul O, delimiteaz cele trei regiuni ale diagramei Voronoi. c) Se consider mulimea M constituit din patru puncte A, B, C i D aflate pe un cerc cu centrul n punctul O. Mediatoarele coardelor se ntlnesc n punctul O. Ele delimiteaz cele partu regiuni ale diagramei Voronoi. De fapt regiunea cuprins ntre semidreptele ce pornesc din O i au drept suport mediatoarele segmentele AB i AC este format din punctele care sunt mai apropiate de A dect de B i de C. Dar mediatoarea corzii AD, care trece i ea prin punctul O, mparte planul n dou regiuni astfel c regiunea lui A conine ntreaga mulime a punctelor care sunt mai apropiate de A dect de B i de C. Punctul O este singurul punct din plan care este egal deprtat de cele patru puncte. Este uor de vzut c aceast diagram se poate generaliza la cazul cnd mulimea M este constituit din vrfurile unui poligon inscriptibil. d) Considerm mulimea M constituit din punctele A, B, C i O n care triunghiul ABC este ascuitunghic iar O este centrul cercului circumscris triunghiului ABC, n care se ntlnesc mediatoarele laturilor triunghiului. Mediatoarele segmentelor OA i OB se ntlnesc n punctul M situat pe mediatoarea laturii AB. Punctul M este centrul cercului circumscris triunghiului AOB. Analog, punctele N, respectiv P sunt centrele cercurilor circumscrise triunghiurilor AOC respectiv BOC. Triunghiul MNP delimiteaz regiunea Voronoi corespunztoare punctului O. Aceasta este singura regiune mrginit a diagramei.

6.2. PROPRIETI ALE DIAGRAMEI VORONOI


1). Regiunile

Fiecare regiune a diagramei Voronoi este o mulime convex. ntradevr, fie Pi un punct al mulimii M = {P1, P2, ...,Pn} i i regiunea corespunztoare punctului Pi. Pentru fiecare indice j i se consider mediatoarea segmentului PiPj i j semiplanul n care se afl punctul Pi n raport cu aceast mediatoare.

Regiunea i este intersecia tuturor semiplanelor j. Cum intersecia unor mulimi convexe este convex reyult c regiunea i este o mulime convex. Evident c frontiera unei regiuni este constituit din semidrepte sau segmente de dreapt. Regiunile mrginite ale diagramei Voronoi sunt poligoane convexe.
2). Muchiile

Orice muchie a diagramei Voronoi, mrginit sau nemrginit, separ dou regiuni bine determinate i i j corespunztoare punctelor Pi i Pj respectiv. Mulimea punctelor acestei muchii este intersecia celor dou regiuni. Punctele muchiei sunt la egal distan de punctele Pi i Pj.
3) Vrfurile

Orice vrf G al diagramei Voronoi este intersecia a cel puin trei regiuni. ntr-adevr, dac punctul G ar fi captul comun al numai dou muchii atunci ele ar mrgini dou regiuni. Una din cele dou regiuni nu va fi atunci convex deoarece din cele dou unghiuri formate de muchii unul este mai mare dect 180*. Punctul G nu poate fi captul unei singure muchii deoarece scond aceast muchie se obine o mulime care nu este convex. Dac numrul muchiilor incidente n punctul G este r 3 atunci punctul G este comun pentru r regiuni care corespund la r puncte ale mulimii M. Ordonnd aceste muchii n sens trigonometric sau invers, unghiul dintre dou muchii consecutive trebuie s fie mai mic dect 180* deoarece ntre ele se afl o singur regiune. Aceste puncte fiind egal deprtate de punctul G nseamn c G este centrul cercului care conine toate aceste r puncte. Rezult c dac mulimea M nu are patru puncte conciclice atunci n orice vrf al diagramei Voronoi sunt incidente exact trei muchii.
4). Poligonul inscriptibil corespunztor unui vrf.

Dac n vrful G al diagramei Voronoi sunt incidente r 3 muchii atunci G este punctul comun al regiunilor corespunztoare la r puncte Q1, Q2, ...,Qr ale mulimii M. Deci punctul G fiind egal deprtat de cele r puncte, acestea se gsesc pe un cerc cu centrul n G.

n interiorul acestui cerc nu se afl nici un punct al mulimii M. ntr-adevr, dac n interiorul acestui cerc s-ar gsi un punct al mulimii M atunci punctul G ar fi mai apropiat de acest punct dect de cele r puncte i deci G nu ar aparine regiunilor definite de cele r puncte.
5). Regiunile nemrginite ale diagramei Voronoi a mulimii M

Considerm nfurtoarea convex a mulimii M = {P1, P2, ..., Pn}. Aceasta este un poligon convex avnd drept vrfuri puncte ale mulimii M. Vom arta c singurele regiuni nemrginite ale diagramei Voronoi sunt cele care corespund punctelor mulimii M situate pe frontiera acestui poligon. Fie Pi i Pj situate pe o latur a poligonului care nfoar mulimea M. Dreapta PiPj mparte planul n dou regiuni din care una, pe care o notm conine toate punctele mulimii M. Cercul cu centrul ntr-un punct H almediatoarei segmentului PiPj i de raz egal cu HPi = HPj nu conine alte puncte ale mulimii M dect cele situate n segmentul de cerc situat nsemiplanul . Dac centrul H al cercului se deplaseaz pe mediatoare n direcia opus semiplanului , deci ctre exteriorul nfurtoarei, n acest cerc vor rmne din ce n ce mai puine puncte ale mulimii M. Fie H0 poziia punctului H pentru care interiorul cercului cu centrul n H0 nu conine nici un punct al mulimii M dar arcul PiPj conine astfel de puncte.

H H0 Pj H

Pi

Dac punctul H se ndeprteaz pe mediatoare dincolo de H0 atunci punctele Pi i Pj, aflate la distan egal de punctul H, sunt cele mai apropiate puncte ale lui M de punctul H. Deci punctul H se afl pe frontiera care desparte regiunile Voronoi ale regiunilor Pi i Pj. Aadar regiunea Voronoi a unui punct al mulimii M situat pe frontiera nfurtoarei convexe a acesteia va avea muchii nemrginite. Deci regiunea este nemrginit. Reciproc, s considerm un punct Pi al mulimii M a crui regiune Voronoi are o muchie nemrginit d. Aceast muchie desparte regiunea lui Pi de regiunea unui alt punct Pj iar muchia d va avea ca suport mediatoarea segmentului PiPj. Cercul care prece prin punctele Pi i Pj i cu centrul pe semidreapta d nu poate avea n interior puncte ale mulimii M, n caz contrar aceste puncte ar fi mai apropiate de puncte ale lui d dect punctele Pi i Pj. Dar deprtnd la nesfrit centrul cercului pe semidreapta d acest cerc, la limit conine toate punctele semiplanului determinat de dreapta PiPj i n care se afl semidreapta d. Prin urmare semiplanul opus semidreptei d va conine toate punctele mulimii M, adic segmentul PiPjse afl pe frontiera nfurtoarei convexe a mulimii M.

6.3. APLICAIE: CELE MAI APROPIATE PERECHI DE PUNCTE ALE UNEI MULIMI M
Fie Pi un punct fixat al mulimii M i Pj un punct aflat la distan minim de punctul Pi. Vom arta c frontiera regiunii lui Pi conine o muchie care desparte aceast regiune de regiunea lui Pj. Pentru a dovedi acest lucru s notm H mijlocul segmentului PiPj i d mediatoarea acestui segment. Cercul cu centrul n Pi i de raz PiH este tangent dreptei d. n interiorul acestui cerc nu se afl nici un punct al frontierei regiunii lui Pi. ntr-adevr, dac punctul N situat n interiorul cercului ar fi pe frontiera regiunii lui Pi atunci N se afl pe o muchie a acestei regiuni, muchie ce o separ de regiunea Voronoi a unui alt punct Ph. Aceast muchie are ca suport mediatoarea segmentului PiPh i deci PiN = NPh. Pe de alt parte PiN < PiH i deci: PiPh PiN + NPh = 2PiN < 2PiH = PiPj. Acest rezultat contrazice ipoteza c punctul Pj se afl la distana minim de Pi.

Pj H d Pi N

Ph

Aadar interiorul cercului este n ntregime n regiunea Voronoi a punctului Pi. Cum punctele de pe segmentul HPj sunt mai apropiate de Pj dect de Pi nseamn c punctele acestui segment nu se afl n regiunea Voronoi a lui Pi. nseamn c punctul H se afl pe frontiera acestei regiuni. Punctul H nu poate fi vrf al acestei regiuni deoarece n acest caz cel puin una dintre muchiile incidente acestui vrf ar avea puncte n interiorul cercului avnd n vedere c unghiul dintre ele trebuie s fie strict mai mic dect 180*. n concluzie, punctele mulimii M care se afl la distana minim de punctul fixat Pi se afl printre punctele ale cror regiuni sunt desprite de regiunea lui Pi prin muchiile regiunii lui Pi. Cutnd, pentru fiecare punct Pi al mulimii M punctele care sunt cele mai apropiate de punctul Pi gsim cele mai apropiate perechi de puncte ale mulimii M.

6.4. GRAFUL PLANAR DEFINIT DE DIAGRAMA VORONOI A UNEI MULIMI M.


Diagrama Voronoi este aproape un graf planar i chiar format din segmente de dreapt. Singurul ei defect este c are muchii nemrginite. Vom modifica diagrama Voronoi astfel nct s devin un graf planar. Fie un punct situat n afara cercului care conine toate muchiile mrginite ale diagramei Voronoi. Exteriorul acestui cerc fiind o mulime

conex punctul se poate uni cu cte un punct de pe fiecare muchie nemrginit cu cte o curb, astfel c aceste curbe s nu se ntretaie i nici una s nu taie vreo muchie mrginit a diagramei Voronoi. Se obine un graf planar dar care nu este format numai din segmente de dreapt deoarece muchiile incidente n vrful nu sunt n general segmente de dreapt. Acest graf planar are un vrf n plus fa de diagrama Voronoi, anume vrful . Dac mulimea M are n puncte atunci tot n vrfuri are diagrama Voronoi dar graful planar corespunztor are n + 1 vrfuri. Complexitatea algoritmului de gsire a perechilor celor mai apropiate ale mulimii M = {P1, P2, ... ,Pn} Presupunem c am determinat diagrama Voronoi a mulimii M i avem i tabelul dublu conex al muchiilor grafului planar asociat. n aceast situaie putem parcurge conturul fiecrei regiuni a grafului, complexitatea acestei operaii fiind egal cu numrul muchiilor regiunii. Pentru un punct fixat Pi al mulimii M parcurgem lista muchiilor ce constituie frontiera regiunii punctului Pi. Aceste muchii despart regiunea punctului Pi de alte regiuni corespunztoare unor alte puncte Pj ale mulimii M. Din proprietatea 5) rezult c printre aceste puncte se afl toate punctele mulimii M care se afl la distana minim de punctul Pi. Pentru fiecare punct Pi al mulimii M se alctuiete lista punctelor celor mai apropiate puncte de punctul Pi precum i distana comun corespunztoare. Din aceste liste se rein cele pentru care distana este minim. Obinem astfel lista tuturor perechilor de puncte ale mulimii M aflate la distan minim. n ce privete complexitatea algoritmului admitem faptul c frontiera unei regiuni poate avea tot attea muchii cte puncte are mulimea M, adic n. Ar rezulta c algoritmul are complexitatea n2. Totui inem seam c fiecare muchie este luat n calcul de exact dou ori. Pe de alt parte, am dedus, din teorema lui Euler c numrul muchiilor i al vrfurilor este de acelai ordin de mrime ca i numrul regiunilor care este n. n concluzie dac avem diagrama Voronoi a mulimii M = {P1, P2, ...,Pn) i tabelul dublu conex al muchiilor grafului planar corespunztor atunci algoritmul de determinare a listei perechilor de puncte aflate la distana minim are complexitatea n.

6.5. METODA DIVIDE ET IMPERA PENTRU CONSTRUIREA DIAGRAMEI VORONOI A UNEI MULIMI M DE PUNCTE DIN PLAN
Am artat cum probleme de proximitate privind mulimi M de puncte din plan se rezolv n timp liniar dac se dispune de diagrama Voronoi a acestei mulimi. Sunt i alte probleme a cror rezolvare presupune deja construit diagrama Voronoi. Pentru construirea diagramei se dispune de un algoritm de complexitate nlogn dac se asum ipoteza pe care am mai menionat-o i anume c mulimea M nu are patru puncte pe acelai cerc. Prezentarea complet a acestui algoritm, cu detaliile demonstrrii consistenei, nu face obiectul acestei expuneri. Ne mrginim s dm o descriere sumar a pailor algoritmului urmat de un exemplu de aplicare a acestuia. Algoritmul folosete principiul cunoscut sub numele divide et impera. Se mparte mulimea M n dou submulimi, Ms i Md, aproximativ egale ca numr de elemente, dar ndeplinind condiia c sunt separate printr-o linie vertical de abscis x0: Punctele din mulimea Ms au abscisa strict mai mic dect x0 iar cele din mulimea Md au abscisa strict mai mare dect x0. Se continu aceast diviziune pn cnd se obin submulimi suficient de mici nct s se poat construi direct diagrama Voronoi a acestora, de exemplu dac se ajunge la mulimi care au cte trei sau patru puncte. Numrul mpririlor succesive este log2n. Dup ce se obin diagramele Voronoi ale mulimilor de pe ultimul nivel, se cupleaz dou cte dou i se obin diagramele Voronoi ale submulimilor de pe nivelul imediat superior. Repetnd acest proces se ajunge la diagrama Voronoi a mulimii M. Dificultatea algoritmului const n cuplarea diagramelor Voronoi a dou submulimi. Mai precis, folosindu-ne de diagramele Voronoi ale submulimilor Ms i Md notate Vors i Vord trebuie construit diagrama Voronoi a mulimii M, pe care o notm Vor(M) Procesul de cuplare const n adugarea unor noi muchii precum i eliminarea unora (sau poriuni) din muchiile celor dou diagrame. Se folosesc nfurtoarele convexe ale celor dou submulimi i se consider podul superior UsUd i podul inferior LsLd n care Us i Ls sunt puncte ale mulimii Ms iar Ud i Ld sunt puncte ale mulimii Md. Se consider mediatoarele mu i ml mediatoarele acestor segmente. n continuare se parcurge un drum de sus n jos, de la mu la ml n paii cruia se adaug la diagramele Voronoi ale celor dou submulimi

noi muchii i se elimin unele din muchiile vechi sau poriuni ale acestora. Mediatoarea mu servete drept suport al muchiei Voronoi care desparte regiunea lui Us de regiunea lui Ud (acestea fiind puncte alturate de pe nfurtoarea convex a mulimii M, regiunile lor vor avea ca muchie comun o semidreapt situat pe mediatoarea mu). Pe de alt parte, la distan suficient de mare pe mediatoare ne aflm n intersecia a dou regiuni: regiunea Vors(Us) a lui Us din diagrama Vors i regiunea Vord(Ud) cea a lui Ud din Vord. Mediatoarea va intersecta ntr-un punct bine determinat Qs frontiera regiunii Vors(Us) i n punctul Qd frontiera regiunii Vord(Ud). Notm Q0 pe cel cu ordonata mai mare. Punctul Q0 va fi vrf al diagramei nou construite Vor(M) iar semidreapta de pe mediatoare de la infinit la Q0 va fi muchie nou introdus pentru diagrama Vor(M). Pe de alt parte, dac Q0 = Qs atunci se elimin partea din muchia regiunii Vors(Us) de la Qs la infinit, iar dac Q0 = Qd atunci se elimin partea din muchia regiunii Vord(Ud) de la Qd la infinit. n cazul Q0 = Qs, dac se continu deplasarea n direcia mediatoarei, se va trece n regiunea diagramei Vors a unui punct Us,1 din Ms care este desprit de regiunea Vors(Us) prin muchia lui Vors care trece prin punctul Qs. Ne vom afla deci la intersecia regiunilor Vors(Us,1) i Vord(Ud). n aceast intersecie se gsesc punctele care sunt mai apropiate de Us,1 dect de toate punctele din Ms i mai apropiate de Ud dect de toate punctele din Md. Mediatoarea segmentului Us,1Ud va despri regiunea lui Us,1 de regiunea lui Ud. Remarcm c aceast mediatoare trece prin Qs deoarece acest punct este centrul cercului circumscris triunghiului UsUdUs1. Deci din punctul Qs se continu drumul pe direcia perpendicularei pe Us1Ud. Analog se procedeaz dac Q0 = Qd. Deplasndu-ne pe noua mediatoare (a lui Us1Ud) ne vom afla n intersecia regiunilor Vors(Us1) i Vord(Ud) astfel c va intersecta ntr-un punct bine determinat frontiera primei regiuni i n alt punct bine determinat din frontiera celeilalte regiuni. Primul dintre ele va fi noul vrf Q1 al diagramei Vor. Se repet procedeul pn ajungem la mediatoarea mu a podului inferior.

EXEMPLU
mu Q1 A Q0 A

C O

O B

Q2

Q3 ml

Punctele A, B, C constituie mulimea Ms iar A, B, C mulimea Md. Diagrama Voronoi a mulimii Ms are ca muchii mediatoarele laturilor triunghiului ABC care se ntlnesc n punctul O care este centrul cercului circumscris acestui triunghi. Punctul O este singurul vrf al diagramei Voronoi a mulimii Ms. n figur sunt indicate muchiile i vrful O ale diagramei Voronoi a mulimii Md. Podul superior al celor dou mulimi este evident segmentul AA iar cel inferior este BB. Se vede c mediatoarea mu a podului superior strbate partea comun a regiunilor Voronoi ale punctelor A i A . n aceast zon, cuprins ntre mediatoarele segmentelor AC i AC, sunt punctele care sunt mai apropiate de A i A dect de toate celelalte puncte. Deci n aceast zon trebuie tranat ntre A i A. Poriunea din mediatoarea mu care se afl n aceast zon, (semidreapta lui mu avnd captul n Q0) este muchia diagramei Voronoi a ntregii mulimi M care delimiteaz regiunea lui A de regiunea lui A. n punctul Q0 mediatoarea mu traverseaz mediatoarea segmentului AC care desparte regiunea lui A de regiunea lui C n diagrama

Voronoi a mulimii Md. Se trece astfel n zona comun dintre regiunea lui C din Md i tot regiunea lui A din Ms. Aceste dou regiuni sunt separate de mediatoarea segmentului AC, care trece prin Q0 deoarece n acest punct se ntlnesc mediatoarele laturilor AA i AC ale triunghiului AAC. Deci ducnd perpendiculara din Q0 pe AC aceasta este i mediatoare a acestui segment. Partea din mediatoarea lui AC care trece dincolo de Q0 nu mai are nici un rol pentru diagrama Voronoi a ntregii mulimi. Perpendiculara din Q0 pe AC ntlnete mediatoarea lui AC n punctul Q1. Segmentul Q0Q1 este muchia comun dintre regiunile lui A i C n diagrama mulimii M. n punctul Q1 se traverseaz mediatoarea lui AC care separ regiunea lui A de regiunea lui C n diagrama lui Ms. Deci zona n care se trece este comun regiunilor lui C din Ms i a lui C din Md. Pe de o parte poriunea din mediatoarea lui AC care este dincolo de punctul Q1 nu mai face parte din diagrama Voronoi a ntregii mulimi M, deci se terge. Pe de alt parte, n noua zon trebuie s se separe regiunea lui C de regiunea lui C. Aceast separare se face cu mediatoarea lui CC care trece prin punctul Q1 care este intersecia dintre mediatoarele laturilor AC i AC ale triunghiului ACC. Mediatoarea lui CC ntlnete frontiera regiunii lui C din Ms n punctul Q2 de pe mediatoarea lui BC care separ regiunea lui B de regiunea lui C din Ms. Mai departe se trece n zona comun dintre regiunea lui B din Ms i regiunea lui C din Md. Pe de o parte se terge poriunea din mediatoarea lui BC situat dincolo de punctul Q2. Pe de alt parte din Q2 se continu n direcia perpendicular pe BC, care va fi i mediatoarea acestui segment. Aceast mediatoare ntlnete mediatoarea lui BB (care este mediatoarea ml a podului inferior) n punctul Q3. Se continu drumul din Q3 pe direcia mediatoarei ml i se terge poriunea din mediatoarea lui BC situat dincolo de punctul Q3. n final se obine diagrama Voronoi a ntregii mulimi M care are 6 vrfuri: O, O, Q0, Q1, Q2, Q3. Muchiile acestei diagrame sunt evideniate n desen prin linii ngroate. Din cele 6 regiuni ale diagramei dou sunt mrginite i anume regiunea lui C, care este triunghiul OQ1Q2, i regiunea lui C care este pentagonul OQ0Q1Q2Q3.

6.6. TEME PENTRU CAS


6.6.1. S se alctuiasc tabelul dublu conex al grafului constituit din 4 vrfuri: A, B, C, D n care punctul D este n interiorul triunghiului ABC iar muchiile, n numr de 6, unesc fiecare vrf cu celelalte trei. 6.6.2. S se determine diagrama Voronoi a mulimii formate din punctele A, B, C, O n care O este centrul cercului circumscris triunghiului ABC. 6.6.3. Fie triunghiul ascuitunghic ABC i D simetricul lui C fa de AB. Notm E i F centrele cercurilor circumscrise triunghiurilor ABC i respectiv ABD. Se cere diagrama Voronoi a mulimii formate din punctele A, B, C, D, E, F.

Bibliografie
[1] J. CHEN, Computational Geometry: Methods and Applications, Texas A&M University, 1996. [2] F. P. PREPARATA, M. I .SHAMOS, Computational Geometry: An Introduction, Springer-Verlag, New York, 1985. [3] J. SCHWARTZ, C. YAP Algorithmic and Geometric Aspects of Robotics, New Jersei, 1987.

S-ar putea să vă placă și