Conflictverzamelingen - science.uu.nl project csgooste110/meetkunde/jennymathieu.pdfIn dit hoofdstuk...

25
Conflictverzamelingen Dictaat Concrete Meetkunde Auteur: Jenny de Jong 3368017 Auteur: Mathieu van Ommeren 3551709 9 juni 2011

Transcript of Conflictverzamelingen - science.uu.nl project csgooste110/meetkunde/jennymathieu.pdfIn dit hoofdstuk...

Conflictverzamelingen

Dictaat Concrete Meetkunde

Auteur:Jenny de Jong3368017

Auteur:Mathieu van Ommeren

3551709

9 juni 2011

Inhoudsopgave

0.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1 Conflictverzamelingen 41.1 Twee punten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Twee lijnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 punt en lijn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 cirkel en punt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Algebraısche conflictverzamelingen 132.1 Twee punten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Twee lijnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Punt en lijn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4 Punt en cirkel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Voronoi diagramen 173.1 Definitie Voronoi-diagram . . . . . . . . . . . . . . . . . . . . . . 173.2 3D-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3 Fortune’s algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Conclusie 224.1 Huiswerkopgaven . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5 Referencies 24

1

0.1 Inleiding

In de 19e eeuw woonden er in Londen 2 miljoen inwoners. De hygiene was nogniet zoals wij die tegenwoordig gewend zijn. Er waren 200.000 beerputten. Alleontlasting kwam terecht in de Theems, waar ook het drinkwater vandaan kwam.Tussen 1830 en 1870 zijn meer dan 40.000 Londenaren gestorven aan cholera.Het was nog totaal onbekend waar deze ziekte vandaan kwam en hoe deze ver-spreid werd. In 1854 brak weer een grote cholera epidemie uit. John Snow,een Britse chirurg, viel het op dat het aantal besmette mensen niet gelijkmatigover de stad verdeeld was. In sommige straten waren veel meer sterfgevallendan in andere. Hij had het vermoeden dat vervuiling van het drinkwater iets temaken had met het aantal besmettingen. Op een kaart van Londen tekende hijeen lijn die hij ”Boundary of equal distance between Broad Street Pump andother Pumps,”noemde. Het was vrij snel duidelijk dat in het gebied rond BroadStreet vele malen meer besmettingen waren dan in het overige gebied. Vertalingvan een fragment uit een brief van John Snow over Broad Street:

”Toen ik daar aankwam ontdekte ik dat bijna alle sterfgevallen dicht bij depomp hadden plaatsgevonden. In huizen die overduidelijk dichter bij een anderestraatpomp stonden waren maar tien doden. In vijf van die gevallen vertelden defamilieleden mij dat de overledenen altijd water bij de Broad-Streetpomp haddenlaten halen, omdat ze dat liever hadden dan water van pompen die dichterbijstonden. In drie andere gevallen waren het kinderen die overleden waren. Zehadden vlak bij de pomp van Broad Street op school gezeten... Wat de sterfgeval-len betreft die plaatsvonden in de omgeving van de pomp, er waren 61 gevallenwaarover mij is verteld dat de overledenen gewend waren om - altijd of zo nuen dan - water uit de pomp van Broad Street te drinken...”

Bron: J. Snow, brief aan de redacteur van Medical Times and Gazette, datumonbekend

Zo werd uiteindelijk de pomp op Broad Street gesloten wat leidde tot mindersterfgevallen.

Wat in eerste instantie misschien niet duidelijk is, is dat John Snow eigenlijkbezig was met wiskunde. Door de lijn te construeren die even ver van de BroadStreet pomp af ligt als van de andere pompen, maakte hij als het ware de BroadStreet pomp-Voronoi cel. Het verhaal uit 1854 is een van de meest opmerkelijketoepassingen van Voronoi-diagrammen.

In dit dictaat gaan wij ons verder verdiepen in Voronoi-diagrammen. Hiervoorwillen wij eerst het onderwerp conflictverzamlingen uitgebreid behandelen. Ditis namelijk een onderwerp met een lange geschiedenis. De oude Grieken warenmet behulp van Euclidische meetkunde al bezig met het construeren van lijnendie even ver van twee objecten afliggen. Wij zullen ons beperken tot conflictver-zamlingen van twee punten, twee lijnen, een lijn en een punt, een cirkel en een

2

punt en een cirkel en een lijn. Hierbij gaan wij steeds uit van de standaard situa-tie: ze mogen elkaar niet raken of snijden (behalve twee lijnen). Hierna gaan wede conflictverzamelingen bekijken met behulp van analytische meetkunde. Zozullen we formules voor lijnen parabolen, ellipsen en hyperbolen afleiden. Totslot zullen wij de voorkennis die we dan hebben opgedaan gebruiken om tweemethodes te behandelen om Voronoi-diagrammen te construeren.

3

Hoofdstuk 1

Conflictverzamelingen

Euclides is een van de meest bekende Griekse wiskundigen. Zijn boeken, deelementen van Euclides, zijn na de Bijbel de meest gedrukte boeken. In dezeboeken worden alle waarheden van de meetkunde voor het eerst beschreven inde vorm van axioma’s en postulaten. Euclides wordt ook wel gezien als de ’va-der van de meetkunde’. Het zal geen verrassing zijn dat de Griekse wiskundevooral gebaseerd is op de Euclidische meetkunde. In deze elementen wordtuitgelegd dat bepaalde meetkundige figuren bestaan en dat ze uniek zijn. Daar-naast wordt de constructie van veel figuren uitgelegd. Deze constructie komt totstand met behulp van een passer en een liniaal. Eisen hieraan zijn dat de liniaalongemarkeerd en oneindig lang is, en een lijn kan trekken door twee willekeu-rige punten. De passer kan een cirkel tekenen met een gegeven middelpunt endoor een willekeurig ander punt. De poten van de passer kunnen oneindig veruit elkaar, en de passer mag niet gebruikt worden om afstanden over te brengen.

Dus ook voor de constructie van een conflictverzameling mocht alleen een passeren een liniaal gebruikt worden. De conflictverzameling is als volgt gedefinieerd:

Definitie 1.0.1. De conflictverzameling van twee objecten A en B is de verza-meling van alle punten X waarvoor geldt: d(X,A) = d(X,B).

In dit hoofdstuk zullen we achtereenvolgens de constructie van een conflictlijntussen twee punten, twee lijnen, een punt en een lijn, en een cirkel en puntbehandelen.

1.1 Twee punten

Beschouw twee willekeurige punten A en B, en beschouw het lijnstuk AB. Demiddelloodlijn van lijstuk AB is de lijn die door het midden van het lijnstuk

4

(a) (→) (b) (←)

Figuur 1.1: bewijs dat het de middellloodlijn is de conflictverzamling is.

AB gaat en loodrecht op AB staat. Nu stellen we het volgende: de verzamelingvan de punten P waarvoor geldt dat |PA| = |PB|, is de middelloodlijn van hetlijnstuk AB.

Bewijs:(→) Neem aan dat |PA| = |PB| zie figuur 1.1aLijn PM is de loodlijn uit P door AB. Nu geldt dat AP = PB, PM = PMen ∠PMA = ∠BMP = 1

2π. Hieruit volgt dat 4PAM en 4PBM congruentzijn. Dus AM = BM . Hieruit volgt dat de lijn door P en M de middelloodlijnis van het lijnstuk AB.

(←) Neem aan dat P op de middelloodlijn ligt van AB. Teken de lijnstukkenPA en PB. Zie figuur 1.1b.Nu geldt dat AM = BM , PM = PM en ∠PMA = ∠BMP = 1

2π. Hier-uit volgt dat 4PAM en 4PBM congruente driehoeken zijn. Hieruit volgt datPA = PB.

Constructie

De constructie van de middelloodlijn met behulp van passer en liniaal gaat alsvolgt:

1. Maak met een passer een cirkelboog rond punt A door B.

2. Maak met de passer een cirkelboog rond punt B door A. De cirkelbogensnijden elkaar in twee punten (C en D).

3. De lijn door C en D is de middelloodlijn op AB.

5

zie figuur 1.2 voor de contructie. Omdat de straal van de twee cirkels gelijk

Figuur 1.2: Elke stap om een middelloodlijn te construeren

is, geldt dat d(A,C) = d(C,B) en d(A,D) = d(D,B). Uit de definitie van demiddelloodlijn volgt nu dat C en D op de middelloodlijn liggen, dus de lijn doorC en D is de middelloodlijn en dus de conflictlijn tussen A en B.

1.2 Twee lijnen

Voor het construeren van de conflictlijn tussen twee lijnen l en k, kunnen wetwee gevallen onderscheiden. Deze gevallen gaan we apart behandelen.

1. de lijnen zijn parallel.

2. de lijnen snijden elkaar.

Geval 1: lijnen zijn parallel

In dit geval is de conflictlijn de middenparallel. Voor ieder punt op de midden-parallel volgt per definitie dat de afstand tot de ene lijn even groot is als deafstand tot de andere lijn. De constructie hiervan lijkt erg op de constructie vande middelloodlijn; we laten verdere uitwerking hiervan aan de lezer over.

6

Figuur 1.3: Conflictverzameling van kruisende lijnen

Geval 2: lijnen snijden elkaar

In dit geval bestaat de conflictlijn uit het bissectricepaar. Dit is als volgt in tezien:Zie figuur1.3

Hierin is D het snijpunt van de lijnen l en k, en A een willekeurig punt opeen conflictlijn. Dan geldt AB = AC, want A ligt op de conflictlijn. Verdergeldt ∠ABD = ∠ACD = 1

2π, want AB is de kortste afstand van A tot lijnl, en AC de kortste afstand van A tot lijn k. Tot slot geldt dat AD = AD,dus uit congruentiekenmerk ’zijde-zijde-rechte hoek’, volgt dat driehoek ADBen driehoek ADC congruent zijn, waaruit volgt dat ∠BDA = ∠CDA. Dus delijn door AD is de bissectrice voor de lijnen l en k.

Andersom, stel lijn m is de bissectrice van l en k. Bekijk weer een willekeurigpunt A. Dan geldt ∠BDA = ∠CDA. Ook geldt ∠ABD = ∠ACD = 1

2π, wantAB is de kortste afstand van A tot lijn l, en AC de kortste afstand van A totlijn k. Tot slot geldt AD = AD, dus 4ADB en 4ADC zijn congruent. Dus delengtes van de zijden zijn gelijk, en in het bijzonder geldt dat AB = AC. Dusde bissectrice m is een van de bissectrices van l en k.

De constructie van een bissectrice volgens de Euclidische meetkunde gaat alsvolgt:

1. Noem het snijpunt van de twee lijnen A.

2. Maak een cirkel met willekeurige straal rond A, en noem de snijpuntenvan de cirkel en de lijnen D en E.

3. Maak nu rond D en E twee cirkels met gelijke straal, groot genoeg dat ze

7

elkaar twee keer snijden.

4. Trek een lijn door een van de twee snijpunten en A; deze lijn is de bissec-trice.

(a) stap 1 (b) stap 2 (c) stap 3

Figuur 1.4: De stappen om een bissectrice te construeren

Er geldt: AE = AD, want dit is de straal van de grote cirkel. Ook geldt:DF = EF , want dit is gelijk aan de straal van de kleine cirkels. Tot slot geldtnatuurlijk AF = AF , dus 4ADF en 4AEF zijn congruent, waaruit volgt dat∠DAF = ∠EAF , dus AF is de bissectrice van de lijnen.

1.3 punt en lijn

Stel we hebben een lijn a en een punt C niet op a, zoals in figuur 1.5a.

1. Neem een punt D op a

2. Maak de middelloodlijn van C en D

3. Maak nu een lijn door D en loodrecht op a

Noem het snijpunt E. Dan geldt in het bijzonder dat E op de middelloodlijnligt van C en D, dus dat DE = EC; E is een conflictpunt.

Zie figuur 1.5a t/m 1.5c voor de constructie.Door het punt D te verplaatsen en steeds deze stappen uit te voeren vormenalle conflictpunten samen een parabool (zie figuur 1.5d.

Merk op dat een lijn l en een cirkel c die elkaar niet raken of snijden, dezelfdeconflictverzameling hebben als een lijn en een punt. Stel namelijk dat de cirkelstraal r heeft; dan kunnen we de lijn met een afstand r naar het middelpunt vande cirkel verplaatsen. Nu kunnen we de cirkel als punt beschouwen; namelijkhet middelpunt. Dit kan omdat, voor een punt x op de conflictverzameling,geldt d(l, x) = d(c, x) en d(c, x) = d(m,x)− r, dus d(l, x) + r = d(m,x).

8

(a) stap 1 (b) stap 2

(c) stap 3 (d) stap 4

Figuur 1.5: constuectie van een parabool

1.4 cirkel en punt

In deze sectie behandelen we twee gevallen: een punt buiten de cirkel en eenpunt binnen de cirkel. Een punt op de cirkel laten we buiten beschouwing.

Punt buiten cirkel

Stel het punt A ligt buiten de cirkel c, zoals in figuur 1.6a.

9

1. Neem een willekeurig punt E op de cirkel.

2. Maak de middelloodlijn tussen A en E.

3. Maak nu de lijn loodrecht op c door E. Dit is de lijn door E en hetmiddelpunt B.

Het snijpunt van deze lijn en de middelloodlijn noemen we F . Voor F geldtdat EF = AF , en is dus een conflictpunt van punt A en c. Het verschuivenvan punt E levert alle conflictpunten op, die samen een hyperbool vormen (ziefiguur 1.5). Deze constructie levert echter twee hyperbooltakken op, terwijl erin ons geval maar een relevant is. Het bewijs hiervan laten we aan de lezer over.In figuur 1.8a is de hele hyberbool te zien zoals hier wordt geconstrueerd.

Punt in de cirkel

Als het punt A in de cirkel c ligt dan kunnen we eigenlijk hetzelfde doen watwe de hele tijd doen.

1. Neem punt E op de c.

2. Maak de middelloodlijn van deze A en E.

3. Nu trekken we de lijn tussen E en het middelpunt van de cirkel.

Het snijpunt F is een punt van de conflictverzameling. Als we E gaan schuivenover de c krijgen we een figuur zoals 1.8b.

10

(a) begin (b) stap 1

(c) stap 2 (d) stap 3

Figuur 1.6: Constructie van conflictpunt van cirkel en punt buiten de cirkel

11

(a) stap 1 (b) stap 2 (c) stap 3

Figuur 1.7: Constructie van conflictpunt van cirkel en punt binnen de cirkel

(a) Hyperbool (b) Ellips

Figuur 1.8: De conflictverzameling van een punt buiten en binnen de cirkel.

12

Hoofdstuk 2

Algebraıscheconflictverzamelingen

Het begrip conflictverzamelingen stamt af uit de tijd van de oude Grieken. Metpasser en liniaal werden lijnen geconstrueerd die even ver van verschillende pun-ten afliggen. Echter in de 17e eeuw leefde de analytische meetkunde op. Pi-oniers hierin waren Decartes (1596-1650) en Fermat (1601-1665). Door eencoordinatenstelsel (carthetisch assenstelsel, vernoemd naar Descartes) aan tebrengen in de figuren, waren ze in staat de conflictverzamelingen te definierenaan de hand van formules. Op deze manier werd het bepalen van conflictver-zamelingen een stuk minder tijdrovend. In dit hoofdstuk zullen we dezelfdegevallen behandelen als in het eerste hoofdstuk; echter zullen we nu de conflict-verzamelingen op de analytische manier beschrijven.

2.1 Twee punten

Bekijk de twee punten A = (a1, a2) en B = (b1, b2) en een willekeurig punt X =(x, y) op de conflictlijn. Dan volgt uit de stelling van Pythagoras, gecombineerdmet het feit dat X op de conflictlijn ligt, dat:√

(a1 − x)2 + (a2 − y)2 =√

(b1 − x)2 + (b2 − y)2

Dit uitschrijven geeft:

a21 − 2a1x+ x2 + a22 − 2a2y + y2 = b21 − 2b1x+ x2 + b22 − 2b2y + y2

Dus(2b2 − 2a2)y = (2a1 − 2b1)x+ a21 + a22 + b21 + b22

Dus

y =(2a1 − 2b1)x+ a21 + a22 + b21 + b22

2b2 − 2a2

geeft de vergelijking van de conflictlijn van twee punten (a, b) en (c, d).

13

2.2 Twee lijnen

Weer onderschijden we twee gevallen.

Lijnen zijn parallel

Zonder verlies van algemeenheid kunnen we een lijn kiezen y = o en de anderey = a, met a ∈ R. Met niet veel moeite is in te zien dat y = 1

2a evenver vany = 0 als van y = a af ligt.

Lijnen snijden elkaar

Weer kunnen we aannemen dat een van de lijnen de x-as is en dat het snijpunt deoorsprong is. Hierdoor moet de andere lijn voldoen aan de vergelijking y = ax,met a ∈ R \ {0}.De hoek die Y maakt met de x-as is φ = arctan a. Want als we naar driehoek(0, 0), (1, 0) en y(1) kijken, zien we dat de aanliggende zijde lengte 1 heeft ende overstaande zijde lengte a. Dan passen we de arctanges toe om zo de hoekte kunnen berekenen. Een 1

2φ en 12φ + 1

2π zijn de hoeken die de conflictlijnenmaken met de x-as, dus de conflictlijnen zijn van de vorm y = tan

(12φ)x en

y = tan(12φ+ 1

2π)x.

2.3 Punt en lijn

We kiezen ons assenstelsel zo dat de richtlijn l(x) = a van de parabool evenwijdigloopt met de x-as. Het brandpunt noemen we F = (f1, f2). Dan geldt voor eenwillekeurig punt op conflictverzameling (x,y):

y − a =√

(x− f1)2 + (y − f2)2

Dus(y − a)2 = (x− f1)2 + (y − f2)2

Dit is gelijk aan

y2 − 2ay + a2 = x2 − 2f1x+ f21 + y2 − 2f2y + f22

Dit is te versimpelen

y(2f2 − 2a) = x2 − 2f1x+ f21 + f22

y =1

2(f2 − a)x2 − f1

f2 − ax+

f21 + f22 − a2

2(f2 − a)

2.4 Punt en cirkel

Hierin behandelen we twee gevallen: de hyperbool en de elips. In beide geallenkiezen we het punt A en de cirkel c verstandig. Oftewel A = (a, 0) met a 6= 1en de cirkel c heeft als middelpunt O = (0, 0) en straal 1.

14

Punt buiten de cirkel

Als het punt A buiten de cirkel is, dan moet gelden a > 1

d(X,A) = d(X, c)

Omdat d(X, c) = d(X,O)− 1 geldt, kunnen we het invulllen

d(X,A) = d(X,O)− 1

Als we uitwerken krijgen we√(x− a)2 + y2 =

√x2 + y2 − 1

Wanneer we dit kwadrateren krijgen we

x2 − 2ax+ a2 + y2 = x2 + y2 − 2√x2 + y2 + 1

Als we de wortel naar een kant halen

−a2x+a2 − 1

2=√x2 + y2

Dit kunnen we opnieuw kwadrateren

a4x2 + (a3 − a)x+a4 − 2a2 + 1

4= x2 + y2

Dit leidt tot de volgende vergelijking voor de conflictverzameling van de cirkelc en het punt A buiten de cirkel:

(a4 − 1)x2 + (a3 − a)x− y2 = −a4 − 2a2 + 1

4

Punt binnen de cirkel

Nu is A in de cirkel dus 0 ≤ a < 1.

d(A,X) = d(c,X) =

Weer geldt d(c,X) = 1−D(O,X), dus

d(A,X) = 1− d(O,X)

Deze afstanden uitschrijven geeft ons√(x− a)2 + y2 = 1−

√x2 + y2

Kwadrateren geeft

x2 − 2ax+ a2 + y2 = 1− 2(x2 + y2) + x2 + y2

15

Dus √x2 + y2 = ax+

1− a2

kwadrateren geeft

x2 + y2 = a2x2 + (a− a2)x+1− 2a+ a2

4

Dit leidt tot de volgende vergelijking voor de conflictverzameling van de cirkelc en het punt A binnen de cirkel:

(1− a2)x2 − (a− a2)x+ y2 =1− 2a+ a2

4

16

Hoofdstuk 3

Voronoi diagramen

In het laatste hoofdstuk zullen we een veelvoorkomende vorm van conflictverza-melingen bespreken; het Voronoi-diagram. Dit is de conflictverzameling horendebij een n aantal punten in R2. Voronoi-diagrammen hebben vele toepassingen inonder andere computer graphics, epidemiologie, geografie en meteorologie. EenVoronoi-diagram voor n punten construeren is echter behoorlijk ingewikkeld entijdrovend, zeker zodra n een groot getal wordt. Er moet dan namelijk tussenelk paar punten een middelloodlijn worden getekend, en vervolgens moet wor-den bepaald welke (delen van) middelloodlijnen geelimineerd kunnen worden.Gelukkig zijn er ook andere methoden om een Voronoi-diagram te construeren.We zullen in dit hoofdstuk zowel een analytische methode bespreken, als eenmethode die gebruikt maakt van de Euclidische constructie van parabolen; hetFortune’s algoritme.

3.1 Definitie Voronoi-diagram

Voor we kunnen beginnen moeten we een definitie geven van een Voronoi-diagram. Er is al genoemd dat een Voronoi-diagram de conflictverzamelingis horende bij een n aantal punten. We beperken ons tot punten in het vlak.Wanneer we de middelloodlijn van twee punten tekenen, verdelen we R2 in tweedelen. Zie figuur 3.1a Deze delen worden halfvlakken genoemd: oneindig grotevlakken, begrensd door een lijn. Wanneer we een punt toevoegen, zie figuur3.1b, dan is er voor elk paar punten een middelloodlijn te tekenen. Er zijn dusdrie middelloodlijnen.

Definitie 3.1.1. Een gesloten Voronoi-cel V (Ai) zijn alle punten in het vlakwaarvan de afstand tot Ai kleiner is dan of gelijk is aan alle andere punten uitA.

De conflictverzameling van de punten uit A bestaat uit alle punten die inminstens twee gesloten Voronoi-cellen liggen. Deze conflictverzamelingen noe-

17

(a) n=2 (b) n=3

Figuur 3.1: een paar simpele voronoi-diagramen

men we het Voronoi-diagram. Wanneer we de gesloten Voronoi-cel bij punt Ai,dan geldt hiervoor dus

V (Ai) =⋂

1≤j≤ni 6=j

h(Ai, Aj)

Hierin is h(Ai, Aj) het open halfvlak wat Ai bevat en waarvan de scheidingwordt bepaald door de middelloodlijn tussen punt Ai en punt Aj .

3.2 3D-Methode

Zoals we in hoofdstuk 1 zagen, is de conflictlijn van twee punten de middel-loodlijn. Maar hoe ziet de conflictverzameling eruit bij meerdere punten? Ookdan geldt nog dat de conflictlijn tussen twee punten de middelloodlijn is. Maaromdat we met meerdere middelloodlijnen te maken hebben, bestaat de conflict-verzameling uit verschillende lijnstukken. Deze lijnstukken samen vormen eenVoronoi-diagram. Beschouw de verzameling punten A = {A1, A2, . . . , An}, metAi = (ai, bi) voor i = 1, 2, . . . , n We noteren de Euclidische afstand van eenwillekeurig punt (x, y) tot een punt Ai ∈ A als volgt:√

(x− ai)2 + (y − bi)2

Ter herhaling: de gesloten Voronoi-cel van Ai is gedefinieerd als alle punten inhet vlak waarvan de afstand tot Ai kleiner is dan of gelijk is aan de anderepunten uit A. Nu geldt dat het punt (x, y) in de gesloten Voronoi-cel bij puntAi ligt als geldt:√

(x− ai)2 + (y − bi)2 ≤√

(x− aj)2 + (y − bj)2 voor i 6= j

Met andere woorden, als Aj het dichtstbijzijnde punt is, ligt (x, y) in de geslotenVoronoi-cel van Ai. Beide kanten zijn groter dan 0, dus deze vergelijking is

18

equivalent met

1

2((x−ai)2+(y−bi)2) ≤ 1

2((x−aj)2+(y−bj)2) voor j = 1, 2, . . . , n en i 6= j

Als we gaan uitwerken krijgen we

1

2(x2 − 2aix+ a2i + y2 − 2biy + b2i ) ≤ 1

2(x2 − 2ajx+ a2j + y2 − 2bjy + b2j )

Dus

aix+ biy −1

2a2i −

1

2b2i ≥ ajx+ bjy −

1

2a2j −

1

2b2j

Noem nu ck = −a2k+b2k2 voor k = 1, 2, . . . , n Dan

aix+ biy + ci ≥ ajx+ bjy + cj voor i 6= j

Defineer nuF (x, y) = max {aix+ biy + ci|i = 1, 2, . . . , n}

Dus, bij een gegeven (x, y) geeft F het grootste van de getallen a1x + b1y +c1, a2x + b2y + c2, . . . , anx + bny + cn. Hieruit volgt dat het punt (x, y) in degesloten Voronoi-cel ligt bij punt Ai als geldt aix+biy+ci = F (x, y). Want dangeldt aix+biy+ci = max {aix+ biy + ci|i = 1, 2, . . . , n} en dus in het bijzonderaix + biy + ci ≥ ajx + bjy + cj voor j = 1, 2, . . . , n. Voor n > 1 geldt dat defunctie F niet differentieerbaar is; er zitten knikken in de grafiek. Er blijkt datde projectie van de ’knikken’ op het (x, y)-vlak het Voronoi-diagram geeft vande punten uit A. Dit volgt uit het feit dat wanneer er een knik in de grafiek vanF zit, geldt twee vlakken daar in elkaar overgaan. Met andere woorden, in deknik geldt dat

aix+ biy + ci = ajx+ bjy + cj voor een bepaalde i 6= j

Hieruit volgt dat de punten op deze lijn dus even ver liggen van punt Ai als vanpunt Aj . En uit de definitie van een Voronoi-diagram volgt dat punten op dezelijn in de conflictverzameling zitten, en dus deel zijn van het Voronoi-diagram.

3.3 Fortune’s algoritme

De vorige methode is een analytische methode. In deze paragraaf zullen hetalgoritme van Fortune bespreken, dat gebruik maakt van de conflictverzamelin-gen tussen lijnen en punten.Fortune’s algoritme maakt gebruik van een horizontale lijn ly die van bovennaar onder door de verzameling S in het vlak beweegt. Via deze lijn wordende afstanden tussen de verschillende punten geanalyseerd. Zoals uit hoofdstuk1 bleek is de conflictlijn tussen een lijn en een punt een parabool. Deze para-bool verdeelt het vlak dus in 2 regio’s; een regio met punten dichterbij de lijn,en eem regio met punten dichterbij het punt. Beschouw het willekeurige puntX = (x, y) in het vlak. Als geldt voor een bepaalde i

19

• d(X,Ai) < y − ly dan ligt X boven de parabool

• d(X,Ai) = y − ly dan ligt X op de parabool

• d(X,Ai) > y − ly dan ligt X onder de parabool

Bekijk een willekeurige lijn l door de verzameling A, waarbij meerdere puntenboven de lijn liggen. Nu kunnen we voor elk punt de conflictverzameling metde lijn construeren. Zo krijgen we meerdere parabolen. Het belangrijkste puntvan Fortune’s algoritme is het invoeren van de ’beachline’; de kromme gevormddoor de laagste waarde van de parabolen. Hiervoor zullen we de volgende notatieinvoeren: Stel dat de punten uit A met Ai = (ai, bi) voor i = 1, 2, . . . , n als volgtgerangschikt zijn:

A1, A2, . . . , An zodat b1 ≥ b2 ≥ . . . ≥ bn

Dan geldt dat lijn lk de horizontale lijn is door Ak voor k = 1, 2, . . . , n. EnPAk,li is de parabool voor punt Ak en lijn li met k < i. Dus nu geldt dat debeachline B(li) bij lijn li gedefinieerd is als:

B(li) = min {PAk,li |k = 1, 2, . . . , i− 1}

Nu geldt voor alle punten onder de beachline dat ze dichterbij de lijn liggen danbij een van de punten, en alle punten boven de beachline liggen dichterbij eenvan de punten. Het Voronoi-diagram van alle punten bestaat boven de beachlinedus uit het Voronoi-diagram van de punten boven de beachline. Stel dat debeachline door het willekeurige punt Y = (y1, y2) gaat. En stel dat het punt Yhet dichtst bij Ai ligt (dus dan geldt d(Y,Ai) ≤ d(Y,Aj) voor j = 1, 2, . . . , n).Dus dan geldt

d(y,Ai) = y2 − lyOftewel

d(y,Aj) ≥ d(y,Ai) = y2 − lyvoor j = 1, 2, , n. Dit betekent dat als Y op de parabool PAi,l ligt, dan kan hetniet boven een andere parabool PAj ,l liggen. Dus, als Y op de parabool PAi,l

ligt, dan ligt het op de beachline. Dus als een punt op de beachline ligt, dan ligthet punt op de parabool die bij het dichtstbijzijnde punt hoort. Als een puntop de beachline ligt en op twee parabolen, dan heet het een breakpoint. Dusdan ligt dit punt even dicht bij twee punten. In andere woorden, de breakpointsliggen in de conflictverzameling van alle punten van A, en alle breakpoints samenvormen dus het Voronoi- diagram. Dus om het Voronoi-diagram te construeren,moeten de breakpoints worden gevolgd terwijl de lijn naar beneden beweegt. Hetalgoritme ziet er dus als volgt uit: Stel A = {A1, A2, . . . , An} met n > 3

1. Teken een horizontale lijn l3 door A3 en de parabolen PA1,l3 en PA2,l3 .

2. Markeer de beachline. Het gebied boven deze lijn bestaat uit het Voronoi-diagram van A1, A2. Teken dus de middelloodlijn in dit gebied.

20

3. Teken nu de horizontale lijn l4 door A4 en de parabolen PA1,l4 , PA2,l4 enPA3,l4 .

4. Markeer de beachline. Het gebied boven deze lijn bestaat uit het Voronoi-diagram van A1, A2 en A3. Teken dus de middelloodlijnen in dit gebied.Dit doen we door een cirkel te tekenen door A1, A2 en A3 en vervolgenshet middelpunt van deze cirkel met de tot nu toe gevonden breakpoints teverbinden.

5. Herhaal deze stappen tot het punt An.

6. Laat de beachline nog iets zakken tot onder An en maak het Voronoi-diagram af door de laatste breakpoints met het al geconstrueerde diagramte verbinden; deze lijnen mogen worden doorgetrokken.

Dit algoritme is nog steeds behoorlijk ingewikkeld om met de hand uit te voe-ren; de parabolen zullen steeds opnieuw geconstrueerd moeten worden en weerworden uitgeveegd. We kunnen het wel makkelijker maken door de formule vooreen parabool uit 2.3 toe te passen. Dit is nog steeds veel rekenwerk. Daaromvraagt dit algoritme om een computeranimatie waarbij de lijn met constantesnelheid van boven naar onder beweegt en de breakpoints worden gevolgd. Opdeze manier is Fortune’s algoritme een mooie manier om Voronoi-diagrammente construeren.

21

Hoofdstuk 4

Conclusie

In dit dictaat hebben wij conflictverzamelingen onderzocht. Eerst zijn we allemogelijke gevallen afgegaan, en hebben onderzocht hoe de conflictverzamelingeneruit zien. Een samenvatting hiervan is te zien in tabel 1.

tabel 1Conflictverzameling

vanPunt Lijn Cirkel

Punt Lijn Parabool Hyperbool / ellipsLijn Lijn(en) Parabool

Cirkel Hyperbool / ellips

We zijn hierbij steeds uitgegaan van figuren die elkaar niet snijden (behalvetwee lijnen) of raken. Het blijkt dat voor al deze figuren een constructie bestaatvolgens de Euclidische meetkunde. De Euclidische meetkunde is mooi maartijdrovend, dus we hebben ook de constructie met behulp van analytische meet-kunde onderzocht. Zo kwamen wij op de formules voor een lijn, ellips, hyperboolen parabool.Geınspireerd door het verhaal over John Snow uit de inleiding hebben wij ver-volgens de constructie van Voronoi-diagrammen nader onderzocht. Het blijktdat dit minder gemakkelijk is dan het lijkt. De analytische methode maakt ge-bruik van een functie F : R2 → R met F (x, y) = max{aix+biy+ci|i = 1, 2, , n}.Hierin is Ai = (ai, bi) een punt uit A, en (x, y) een willekeurig punt in R2. Defunctie F is niet- differentieerbaar op bepaalde lijnen. Het blijkt dat projectievan deze lijnen op het (x, y)-vlak het gezochte Voronoi-diagram oplevert.Tot slot hebben we Fortune’s algoritme behandeld. Dit is een algoritme watberust op de Euclidische constructie van parabolen. Ook dit algoritme is vrijingewikkeld om met de hand uit te voeren maar is zeer goed te doen met behulpvan de computer.Het moge duidelijk zijn dat meneer Snow geen gebruik heeft gemaakt van eenvan deze methodes. Het blijkt dat de methodes behoorlijk ingewikkeld zijn, endat er computers nodig zijn om deze constructies uit te voeren. Meneer Snow

22

heeft gewoon gebruik gemaakt van middelloodlijnen tussen verschillende pun-ten om het Voronoi-diagram te construeren. Omdat het om een beperkt aantalpompen ging in dat deel van Londen, was dit een prima methode. Echter wan-neer het aantal punten erg groot wordt, zijn de methodes in dit dictaat handigom een computer te laten uitvoeren, en zo het Voronoi-diagram te construeren.

4.1 Huiswerkopgaven

1. In 1.4 bleek dat, bij de constructie van de conflictverzameling van een cirkelen een punt buiten de cirkel, er twee hyperbooltakken ontstaan. Bewijsdat een van de twee takken de werkelijke conflictverzameling beschrijft.Je mag uitgaan van de situatie zoals in figuur 1.8a.

2. Bekijk de verzameling A = {(1, 0), (1, 1), (0, 2), (3, 12 ), (2, 3)}

(a) Consrueer het Voronoi-diagram met een passer en lineaal.

(b) Consrueer het Voronoi-diagram met een analystische methode.

23

Hoofdstuk 5

Referencies

Okabe, A., 1992, Spatial Tessellations Concepts and Apllications of VoronoiDiagrams, John Wiley & Sons Ltd., Chichester(herdruk: John Wiley & SonsLtd., Chichester, 1995)Fortune, S., 1986, A sweepline algorithm for Voronoi diagrams, Proceedings ofthe second annual symposium on Computational geometry 2, p 313-322Stienstra, J. (2011). Conflictmeetkunde, dominante termen, GGDs en 1 + 1 =1. p 1-6. Verkregen op 28 april 2011 van ¡ ¡ http://www.fi.uu.nl/nwd/nwd2011/handouts/StienstraNWDhandout.pdf ¿ ¿ .

24