Algoritmer for Delaunay-triangulering

Like dokumenter
Algoritmer for Delaunay-triangulering

INF-MAT5370. Delaunay-trianguleringer og Voronoi-diagram

Trianguleringer i planet.

INF-MAT5370. Trianguleringer i planet (Preliminaries)

INF Triangulering. Med sterk støtte fra Petter Kristiansen. Skal først se på et eksempel fra Google Earth

INF-MAT5370. Grafer og datastrukturer

Obligatoriske oppgaver 2009

kap. 8.6 Computational Geometry Hovedkapittelet (kap. 8) dreier seg generelt om devide-and-conquer eller splitt og hersk :

Øvingsforelesning 3: Splitt og hersk. Daniel Solberg

INF2220: Time 12 - Sortering

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)

INF2220: Forelesning 2

INF2220: Forelesning 2

Rekursiv programmering

To geometriske algoritmer, kap. 8.6

Divide-and-Conquer II

Rekursiv programmering

LO118D Forelesning 2 (DM)

Data-avhengige trianguleringer

Geometri i rommet. Kapittel Vektorer i R 3. Lengden av v er gitt ved

Hva er en algoritme? INF HØSTEN 2006 INF1020. Kursansvarlige Ragnar Normann E-post: Dagens tema

LO118D Forelesning 12 (DM)

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

PG4200 Algoritmer og datastrukturer Forelesning 3 Rekursjon Estimering

Algoritmer og Datastrukturer

Løsnings forslag i java In115, Våren 1998

Kjøretidsanalyse. Hogne Jørgensen

INF Algoritmer og datastrukturer

Oppgave 1 LØSNINGSFORSLAG. Eksamen i INF desember Betrakt følgende vektede, urettede graf:

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy

Læringsmål og pensum. Algoritmeeffektivitet

TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis. Professor Alf Inge Wang

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1

INF2220: Gruppe me 2. Mathias Lohne Høsten 2017

Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes

Løsnings forslag i java In115, Våren 1996

Søkeproblemet. Gitt en datastruktur med n elementer: Finnes et bestemt element (eller en bestemt verdi) x lagret i datastrukturen eller ikke?

Disjunkte mengder ADT

Uke 12 inf2440 v2018. Eric Jul PSE-gruppa Ifi, UiO

3.9 Teori og praksis for Minste kvadraters metode.

Datastrukturer for rask søking

EKSAMEN med løsningsforslag

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer

MA2401 Geometri Vår 2018

TDT4105 Informasjonsteknologi, grunnkurs

Om Kurset og Analyse av Algoritmer

Kap.8 Sortering og søking sist oppdatert 16.03

Lineære ligningssystemer og gausseliminasjon

Ekstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.

Algoritmer og Datastrukturer IAI 21899

Kondisjonstest. Algoritmer og datastrukturer. Python-oppgaver. Onsdag 6. oktober Her er noen repetisjonsoppgaver i Python.

Divide-and-Conquer. Lars Vidar Magnusson

Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda

ALGORITMER OG DATASTRUKTURER

Binære trær: Noen algoritmer og anvendelser

INF Algoritmer og datastrukturer

Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

MA2401 Geometri Vår 2018

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Ikke lineære likninger

Quicksort. Lars Vidar Magnusson Kapittel 7 Quicksort Randomisert Quicksort Analyse av Quicksort

Forelesning 14 torsdag den 2. oktober

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder

Trianguleringer og anvendelser

TMA4140 Diskret Matematikk Høst 2016

Fig1. Den konvekse innhyllinga av 100 tilfeldige punkter i planet (de samme som nyttes i oppgaven.)

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

Ny/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Uke 5 Disjunkte mengder

Lineære ligningssystemer og gausseliminasjon

Hvorfor sortering og søking? Søking og sortering. Binære søketrær. Ordnet innsetting forbereder for mer effektiv søking og sortering INF1010 INF1010

12 Projeksjon TMA4110 høsten 2018

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO

Forelesning 19 torsdag den 23. oktober

Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner

Pensum: Starting out with Python

MAT1030 Forelesning 17

INF Algoritmer og datastrukturer

Grunnleggende Datastrukturer

Definisjon av binært søketre

Dynamisk programmering

Komplekse tall. Kapittel 15

3.4 Geometriske steder

Grunnleggende Grafteori

Løsnings forslag i java In115, Våren 1999

Logaritmiske sorteringsalgoritmer

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker

At z + w og zw er reelle betyr at deres imaginrdeler er lik null, det vil si at b + d 0 ad + bc 0 Den frste ligningen gir b d. Setter vi dette inn i d

Stoff som i boka står i kap 4, men som er. 10. Februar Ifi, UiO

EKSAMEN. Emne: Algoritmer og datastrukturer

MAT1140: Kort sammendrag av grafteorien

Hvor raskt klarer vi å sortere?

EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00

PG 4200 Algoritmer og datastrukturer Innlevering 2

Grunnleggende Grafalgoritmer

MAUMAT644 ALGEBRA vår 2016 Første samling Runar Ile

Transkript:

Algoritmer for Delaunay-triangulering 1. En enkel algoritme 2. Radial Swee 3. Steg-for-steg 4. Inkrementelle algoritmer 5. Slitt-og-hersk Innsetting av unkter Punkt-lokalisering Tidsforbruk 1

Enkel LOP-basert algoritme Direkte resultat fra kaitlene foran; bruker: Algoritme I fra første del: Triangulering av et lukka olygon; bruker fremskutte unkt. Algoritme II; innsetting av et unkt i en triangulering. LOP (lokal otimerings-rosedyre) som swaer sidekanter etter Delaunay-kriterier til trianguleringen er Delaunay. Gitt et unktsett P. 1. Beregn Q ConvHullP. 2. Algoritme I å Q gir en triangulering. 3. Algoritme II for å sette inn alle unkter fra P innen for Q i gir en triangulering P. 4. LOP å sidekantene i helt til ingen sidekanter kan swaes gir: En triangulering P der alle sidekanter er lokalt otimale. I følge Teorem er Delaunay. 2

Kommentarer: ConvHullP kan beregnes i ONlog N. Ste4eravordenON 2 i verse fall. Krever en effektiv unktlokaliserings-algoritme i Ste 3. Algoritmen er ikke sesielt rask. Algoritmen kan være ustabil da vi ikke får swaet bort smale trekanter etter hvert. Hvordan kan vi få den mer stabil? 3

Radial Swee algoritme Bytter ut Ste 1,2,3 i enkel algoritme. (a) (b) (c) (d) 1. Velg et unkt nær senteret av P og lag sidekanter E,i N1 i1 ; figur (a) 2. Sorter og ordne P å retning og avstand fra og lag randkanter E B1 ; figur (b) triangulering P. 3. Lag trekanter T i1, i, i1 å randen av P og odater randen etter hvert. Reeter til ConvP er dekket av trekanter P; figur (c). 4. LOP å sidekantene i P helt til ingen sidekanter kan swaes; figur (d) En triangulering der alle sidekanter er lokalt otimale. I følge Teorem er P Delaunay 4

Kommentarer: Algoritmen er statisk, dvs. man må kjenne alle unktene når man starter algoritmen. SorteringeravordenONlog N Ste4avordenON 2 i verste fall. 5

Steg-for-steg algoritme Metoden går ut å å lage en og en Delaunay-trekant fra unkter i P til vi har en Delaunay-triang. P. Hvordan kan vi velge tre unkter i, j og k fra P slik at T i, j, k er en Delaunay-trekant? Fra forrige kaittel har vi: LEMMA (sirkel-lemma). Den omskrivende sirkel til en trekant i en Delaunay-triangulering av P omslutter ingen unkter fra P. Kan det finnes en trekant T i, j, k slik at CT i, j, k ikke omslutter unkter fra P, men som likevel ikke er Delaunay? TEOREM. En trekant T a,b,c med hjørneunkter a, b og c fra et unktsett P er en Delaunay-trekant i P (hvis og bare hvis) CT a,b,c omslutter ingen unkter fra P. 6

b α T ba c T abc E b α C(T abc ) a Bevis. Vi lager et konstruktivt bevis som samtidig definerer en algoritme. Anta at CT a,b,c omslutter ingen unkter fra P, se figur. La sirkelen vokse å motsatt side av E b fra c til den når et unkt. Hvis et unkt fra P ikke kan nås, må E b være en kant å ConvHullP;velgenannensidekantiT a,b,c som E b etc. Lag trekanten T b,a, ; CT b,a, omslutter nå ingen unkter fra P. Gjenta dette med en ny E b hver gang til hele ConvP er T dekket av trekanter T i i1 i en triangulering P. CT i, i 1,,T omslutter nå ingen unkter i P. P er en Delaunay-triangulering i følge Teorem og Teorem (eller Corollar). T a,b,c er en Delaunay trekant. 7

Hvis T a,b,c er en Delaunay-trekant i en Delaunay-triangulering P, så omslutter CT a,b,c ingen unkter fra P (i følge sirkel-lemma). 8

Algoritme (steg-for-steg). 1. Finn en Delaunay-sidekant E i, j fra P; for eksemel: a. i og j er to nærmste naboer i P, eller: b. i og j er to naboer å ConvHullP. 2. Lag den første voksende sirkelen C I tilfelle (a); la C ha senter i i j /2 I tilfelle (b), la C være uendelig stor med senter utenfor ConvP 3. Resten blir som konstruksjonen i beviset ovenfor. Kommentarer: Vi trenger en assende underliggende data-struktur for P slik at søk etter et hjørneunkt til en Delaunay-trekant T a,b, blir effektiv. Hvis ikke, blir tidsforbruket alltid ON 2. Algoritmen undersøker vinkelen med tounkt i,se figur. Punktet som gir max velges. Algoritmen er statisk. 9

Inkrementelle algoritmer Inkrementelle algoritmer å et unktsett P kjennetegnes ved: 1. Starter med en initiell Delaunay-triangulering I,for eks.: a. I P; der P er et subsett av P ( I kan være en trekant) b. I S der S er temorære unkter som ikke hører til P. i ConvS, i 1,,N. 2. De gjenværende unktene blir satt inn ett og ett i vilkårlig rekkefølge. Trianguleringen odateres til å være Delaunay for hvert unkt som settes inn. I tilfelle (b) må S fjernes til slutt. *) Det vil lønne seg å sortere unktene, f.eks. leksikografisk å x og y for effektiv lokalisering. Figur, LEDA 10

Ste 2: Innsetting av et unkt i en Delaunay-triangulering N P slik at N1 P også er Delaunay. (a) (b) Q R DEFINISJON (Influens-region). R trekanter som må endres ved innsetting av. DEFINISJON (Influens-olygon). Q randen til R. Alternativ (a): i) Finn R ; ii) fjern alle trekantene i R ; iii) retrianguler Q. Alternativ (b): i) Finn trekanten T i, j, k slik at T i, j, k ; ii) lag sidekanter E,i, E,j og E,k ; iii) Swa kanter til trianguleringen er Delaunay. HVORDAN ER R? 11

LEMMA. En trekant T i må endres når settes inn hvis og bare hvis CT i. Bevis. Følger direkte fra Teorem over. TEOREM. La N1 være Delaunay-trianguleringen fra innsetting av i en Delaunay-triangulering N. Da vil alle nye (og endrede) trekanter i N1 ha som en felles node. Bevis (Motbevis). Merk først at kun trekantene innenfor Q i N vil endres. Anta at det er en Delaunay-trekant T i, j, k i N1 innenfor Q slik at ikke er en node i T i, j, k. i, j and k er Voronoi-naboer relativt til P. Da er de også Voronoi-naboer i P i følge Lemma ;og siden T i, j, k er en Delaunay-trekant i N1, er den også en Delaunay-trekant i N. Motsigelse: Siden T i, j, k er innenfor Q har vi at CT i, j, k og følgelig kan T i, j, k ikke være en Delaunay-trekant i N1. 12

(a) (b) Q R Konsekvenser: Nodene til trekantene i N innenfor R hører til Q R er sammenhengende (hvis er innenfor N ) Q er stjerneformet s.a. alle noder i Q er synlige fra Algoritme 1 (med R og Q. 1. Finn R,dvs.T i slik at CT i ; Figur (a) 2. Fjern alle T i 3. Lag sidekanter E,i der i er unkter å Q. 13

(c) (d) Hvis ligger utenfor N må vi sørge for at randen til N1 blir konveks. forbindes til alle unkter å ConvHullP som er synlige fra. 14

Punktinnsetting og rekursiv swaing Innsetting av i en triangulering: N P N1 P Det fremgår av det foregående at: 1. Influensregionen R er sammenhengende 2. R er ofte begrenset (men i verste fall kan R være hele P Vi skal utnytte dette til å lage en rask og komakt algoritme basert kun å swaing. 15

Algoritme 2 (med swaing). 1. Lokaliser en trekant T i, j, k slik at T i, j, k 2. Sett inn sidekanter E,i, E,j og E,k. 3. Swa kanter innenfor R i henhold til Delaunay-kriteriene. I unkt 3 kan vi f.eks. kjøre LOP, men vi skal utlede en smartere swae-strategi (men som fortsatt kun swaer kanter som ikke er lokalt otimale)... 16

Rekursiv swaerosedyre (a) (b) E 1,1 E 1,3 ' E 1 E 1 E 1,2 E 3 E 3 E 1,4 E 2 E 2 Start å rekursiv swaing Figur (a) viser situasjonen etter Ste 2 over E,i, E,j og E,k kan ikke swaes Kun E 1, E 2 and E 3 i (a) er kandidater for swaing. (Alle andre kanter er diagonaler i de samme kvadrilateraler som før innsetting av og er derfor lokalt otimale siden N er Delaunay ) SWAP, f.eks. E 1 til E 1 ; se figur (b). Merk at E 1 swaes til. E 1,1 and E 1,2 motsatt E 1 fra blir nye kandidater for swaing, 17

(a) (b) E 1,1 E 1,3 ' E 1 E 1 E 1,2 E 3 E 3 E 1,4 E 2 E 2 Start å rekursiv swaing men, hva med E 1,3 og E 1,4? Generelt blir også disse kandidater, men: Hyotese: E 1,3 og E 1,4 som har noder i er ikke kandidater for swaing (vises senere) SWAP E 1,2 og rekursjon, se over (E 1,1 er lokalt otimal i dette eksemelet) Algorithm (recswadelaunay(edge E i )) 1. if (swatest(e i ) OK) 2. RETURN 3. swaedge(e i ) // til 4. recswadelaunay(e i,1 ) // rekursjon 5. recswadelaunay(e i,2 ) // rekursjon 18

Konklusjon så langt (hvis hyotesen holder): Kan swae rekursivt utover fra uten å måtte beregne influensregionen R.... flere konklusjoner følger senere... 19

c x E i,3 E i,1 b ' E i E i,2 C E i,4 C a Hyotese LEMMA. Hver kant-swa i algoritme recswadelaunay genererer maks. to kandidater for swaing. Bevis. Må vise at E i,3 og E i,4 er lokalt otimale etter at E i er swaet til E i. Vi gjør dette for E i,3 vedåseå kvadrilateralet, b, c, x: C a,b,c (.g.a. at E i ble swaet), men ellers er C a,b,c unktfri siden T a,b,c er Delaunay i N. C c,,b : c b C a,b,c (siden c b interolerer.) c b er unktfri og x C c,,b og E i,3 er lokalt otimal. Tilsvarende for E i,4 følger fra symmetri. 20

Observasjoner og flere resultater: Swaing starter i 3 avgrensede vinkel-sektorer utsent av og E i, i 1, 2, 3 (som dekker hele lanet) For hver swa deles en vinkelsektor i to (rekursjon). Hver kant som sjekkes er å motsatt side av i en trekant med som node En kant swaes alltid til og vil ikke swaes igjen i recswadelaunay LEMMA. Ingen kanter sjekkes mer enn en gang i recswadelaunay. En vinkelsektor, E i i R 2 er ferdigbehandlet hvis E i ikke skal swaes. recswadelaunay convergerer Alle kanter i N1 er lokalt otimale og N1 er Delaunay 21

Det følger fra Lemma: KOROLLAR: Følgende er Delaunay-kanter: 1. E,i, E,j og E,k (nye kanter som ikke swaes) 2. Alle kanter som swaes (til ) 3. Alle kanter som asserer swatest. Dette er forskjellig fra generell LOP å en vilkårlig triangulering der en swa av en kant ikke nødvendigvis gir en Delaunay-kant. 22

Verifisering av Korollar med: TEOREM. En kant E i,j mellom to unkter i og j i P er en Delaunay-kant. det eksisterer en sirkel C gjennom i og j slik at det indre av C ikke inneholder unkter fra P. (a) C C (b) C C T i ' E i E i T i 1. E,i, E,j og E,k ; figur (a). 2. Alle kanter som swaes (til ); figur (b) 3. Alle kanter som asserer swatest.; figur (b). (i så fall: C) 23

Punktinnsetting forts.... Hvis settes inn å en eksisterende indre kant dekkes dette av teorien og recswadelaunay uten sesialbehandling Hvis settes inn å å en rand-kant E i må vi slitte E i hvis vi ikke tillater degenererte trekanter. Hvis settes inn utenfor trianguleringen: Får nye initielle kanter E,1,E,2,E,3, der 1, 2, 3, er alle noder som er synlige fra. Ellers er teorien den samme (og recswadelaunay). 24

Tidsforbruk for inkrementelle algoritmer Vi skal først undersøke tidsforbruk for en worst-case konfigurasjon av P. (a) 1 (b) (c) 2 3 4 5 6 8 7 10 9 La P x i, y i være unkter uniformt fordelt å en arabel y 1 2 x2 ; figur (a). Start med T 1, 2, 3 og sett inn unkter i rekkefølgen: 4, 5,, 10. Anta at vi har satt inn k slik at 1,, k er Delaunay. Ved innsetting av k1 er influensregionen R 1,, k ; dvs. alle trekantene må endres for at 1,, k1 skal være Delaunay; figur (b) og (c). 25

Tidsforbruk for å triangulere N unkter blir: siden N i 1 1 2 N2 1 2 N 3 ON2. i4 1 2 3 N NN 1/2 1 2 N2 1 2 N 25 15 10 5-4 -2 0 2 x 4-5 ON, ONlog N, ON 2 26

Kommentarer: Punktkonfigurasjoner som gir worst-case otrer nesten aldri i raksis. Tidsforbruket er valigvis mer avhengig av den underliggende data-struktur enn av teoretisk orden å algoritmer. I raksis, hvis man har en assende data-struktur, har de flese algoritmer et ONlog N eller nesten ON forlø. 27

Punkt-lokalisering PROBLEM. Gitt et unkt og en start-trekant T i i P. Finn trekanten T i P slik at T ; eller avgjør om er utenfor. Raske algoritmer for Problem er viktige i, inkrementelle algoritmer evaluering av P etc. Eksemel å løsning av Problem: Gitt en dart d i V i,e i,t i orientert mot klokka i T i. La Hd i være halvlanet til venstre for d i som inneholder V i og noden i 0 d i. T i Hd i H 1 0 d i H 0 1 d i Anta at randen til P er konveks: 2 d b d b og Hd b er utenfor P. 28

Algoritme: Gitt x,y og en dart d i V i,e i,t i orientert mot klokka i T i. Finn T slik at T d i 1. d start : d i 2. if Hd i 3. d i : 1 0 d i // next edge ccw. in T i 4. if d i d start 5. FOUND : true, RETURN // inside T i 6. else // try to move to the adjacent triangle 7. if 2 d i d i // check if on boundary 8. FOUND : false, RETURN // outside 9. d start : 0 2 d i 10. d i : 1 2 d i // next edge ccw. in adj. T 11. GOTO Ste 2 29

temlate class PointTye, class DartTye bool locateface(pointtye& oint, DartTye& dart_iter) { DartTye dart_start dart_iter; DartTye dart_rev; for (;;) { // endless loo if (dart_iter.inlefthalfplane(oint)) { dart_iter.alha0().alha1(); if (dart_iter dart_start) return true; // left to all edges in face } else { // try to move to the adjacent triangle dart_rev dart_iter; dart_iter.alha2(); if (dart_iter dart_rev) return false; // iteration to outside boundary dart_start dart_iter; dart_start.alha0(); dart_iter.alha1(); // avoid twice on same edge and ccw in next } } // end for } 30

Slitt-og-hersk algoritme Slitt-og-hersk (divide-and-conquer) er en generell teknikk brukt innen mange områder av CG, for eksemel: Konveks omhylning Nærmeste naboer Voronoi-diagram Generelt er slitt-og-hersk algoritmer av orden ONlog N. Slitt-og-hersk er den eneste triangulerings-algoritmen som teoretisk er av orden ONlog N Siden det finnes standard slitt og-hersk algoritmer for å finne Voronoi-diagrammet VDP, kunne vi avlede Delaunay-trianguleringen fra VDP i ON tid. Vi skal se å en slitt-og-hersk algoritme for å finne Delaunay-trianguleringen direkte. 31

Løsning: 1. Sorterer unktsettet P leksikografisk å X og Y: i x i,y i x j,y j j x i x j, eller x i x j og y i y j. 2. Deler o P rekursivt i unktsett P 1,,P N slik at hvert P i inneholder noen få unkter. N er et artall. 3. Lag Delaunay-trianguleringer P 1,,P N. 4. Sy sammen ( merge ) to og to nabo-trianguleringer P L og P R til P L P R. Ste 3 og 4 gjøres rekursivt til vi har en Delaunay-triangulering P. Vi skal se nærmere å ste 4. 32

(a) E u (b) L R E b Gitt P L og P R,finnP L P R : 1. Finn ConvHullP L P R. Siden ConvHullP L og ConvHullP R er funnet, gjøres dette enkelt i (max) ON tidvedåfinnee b og E u ; figur (a). 2. Start sammensying ved E b : Finn unktet fra P L eller P R som danner en Delaunay-trekant med E b. Bruk en voksende sirkel slik som i steg-for-steg algoritmen. T L, R, i figur (a) er nå en Delaunay-trekant i følge Teorem. Sidekanter i P L og P R som skjerer T L, R, fjernes. Sett E b til den nye sidekanten og reeter helt til E u nås. 3. P L P R er nå Delaunay siden ingen unkter i P L P R er innenfor en omskrevet sirkel til en trekant i P L P R 33

Tidsforbruk for slitt-og-hersk Merk at dette er rent teoretisk. Sammensyingen av P L og P R er av orden ON. tn tidsforbruk for Delaunay-triangulering av N unkter. MN MN/2, N/2 tidsforbruk for å sy sammen P L og P R hver med N/2 unkter. Merk at MN er lineær i tid slik at, 2MN/2 MN. Vi får følgende rekursjons-formel: tn 2tN/2 MN t1 0 Dette gir tn ONlog N. Viktig: I raksis viser det seg at slitt-og-hersk ikke er raskere enn andre algoritmer selv om den (teoretisk) er den eneste som er ONlog N. 34

Anta at P ble delt inn i 2 k subsett: tn 2tN/2 MN 22tN/4 MN/2 MN 4tN/4 2MN 8tN/8 3MN 16tN/16 4MN 2 k tn/2 k kmn. Anta totalt antall unkter N 2 m Hvis N er stor og k er stor er m k Worst-case er ON 2 for Delaunay-triangulering 1. ledd av orden: 2 k N/2 k 2 2 k 2 m /2 k 2 2 2mk 2 m (siden m k) N; dvs.on 2. ledd av orden (MN er ON): kn mn, menm log 2 N (siden N 2 m ); dvs. Nlog 2 N eller ON log N 35