Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische...

72
Benjamin Niedermann · ¨ Ubung Algorithmische Geometrie Benjamin Niedermann ¨ Ubung Algorithmische Geometrie LEHRSTUHL F ¨ UR ALGORITHMIK I · INSTITUT F ¨ UR THEORETISCHE INFORMATIK · FAKULT ¨ AT F ¨ UR INFORMATIK Quad-trees 02.07.2014

Transcript of Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische...

Page 1: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Benjamin Niedermann

Ubung Algorithmische Geometrie

LEHRSTUHL FUR ALGORITHMIK I · INSTITUT FUR THEORETISCHE INFORMATIK · FAKULTAT FUR INFORMATIK

Quad-trees

02.07.2014

Page 2: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Ubersicht

Ubungsblatt 11 - Quadtrees

Page 3: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Motivation: Meshing von Platinenlayouts

Zur Simulation der Hitzeentwicklung aufPlatinen kann man die finite ElementeMethode (FEM) einsetzen:

zerlege die Platine in kleine homogeneElemente (z.B. Dreiecke) → Mesheigene Hitzeentwicklung und Einflussauf Nachbarn je Element bekanntapproximiere numerisch die gesamteHitzeentwicklung der Platine

Page 4: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Motivation: Meshing von Platinenlayouts

Zur Simulation der Hitzeentwicklung aufPlatinen kann man die finite ElementeMethode (FEM) einsetzen:

zerlege die Platine in kleine homogeneElemente (z.B. Dreiecke) → Mesheigene Hitzeentwicklung und Einflussauf Nachbarn je Element bekanntapproximiere numerisch die gesamteHitzeentwicklung der Platine

Qualitatseigenschaften von FEM:je feiner das Mesh desto besser die Approximationje grober das Mesh desto schneller die Berechnungje kompakter die Elemente desto schneller die Konvergenz

Page 5: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Motivation: Meshing von Platinenlayouts

Zur Simulation der Hitzeentwicklung aufPlatinen kann man die finite ElementeMethode (FEM) einsetzen:

zerlege die Platine in kleine homogeneElemente (z.B. Dreiecke) → Mesheigene Hitzeentwicklung und Einflussauf Nachbarn je Element bekanntapproximiere numerisch die gesamteHitzeentwicklung der Platine

Qualitatseigenschaften von FEM:je feiner das Mesh desto besser die Approximationje grober das Mesh desto schneller die Berechnungje kompakter die Elemente desto schneller die Konvergenz

Ziel: adaptive Meshgroße (klein an Materialgrenzen, sonst grober)wohlgeformte Dreiecke (nicht zu schmal)

Page 6: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Adaptive Dreiecksnetze

Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j

mit oktilinearen, ganzzahligen Polygonen im Inneren.

Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften

Page 7: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Adaptive Dreiecksnetze

Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j

mit oktilinearen, ganzzahligen Polygonen im Inneren.

Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften

keine Dreiecksknoten im Inneren von Dreieckskanten

unzulassige Dreiecksknoten

Page 8: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Adaptive Dreiecksnetze

Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j

mit oktilinearen, ganzzahligen Polygonen im Inneren.

Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften

keine Dreiecksknoten im Inneren von Dreieckskanten

Eingabekanten mussen Teil des Dreiecksnetzes sein

nicht Teil des Dreiecksnetzes

Page 9: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Adaptive Dreiecksnetze

Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j

mit oktilinearen, ganzzahligen Polygonen im Inneren.

Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften

keine Dreiecksknoten im Inneren von Dreieckskanten

Eingabekanten mussen Teil des Dreiecksnetzes sein

Dreieckswinkel zwischen 45◦ und 90◦

unzulassige Winkel

{gultig

Page 10: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Adaptive Dreiecksnetze

Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j

mit oktilinearen, ganzzahligen Polygonen im Inneren.

Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften

keine Dreiecksknoten im Inneren von Dreieckskanten

Eingabekanten mussen Teil des Dreiecksnetzes sein

Dreieckswinkel zwischen 45◦ und 90◦

adaptiv, d.h. fein an den Polygonkanten, sonstgrober

uniformes Dreiecksnetz

{gultig

Page 11: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Adaptive Dreiecksnetze

Geg.: Quadrat Q = [0, U ]× [0, U ] fur Zweierpotenz U = 2j

mit oktilinearen, ganzzahligen Polygonen im Inneren.

Ges.: Dreiecksnetz fur Q mit folgenden Eigenschaften

keine Dreiecksknoten im Inneren von Dreieckskanten

Eingabekanten mussen Teil des Dreiecksnetzes sein

Dreieckswinkel zwischen 45◦ und 90◦

adaptiv, d.h. fein an den Polygonkanten, sonstgrober

uniformes Dreiecksnetz

Kennen wir schon sinnvolle Triangulierungen fur Q?

{gultig

Page 12: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Delaunay Triangulierung ↔ Meshing

Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließichnicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦.

Page 13: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Delaunay Triangulierung ↔ Meshing

Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließichnicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦.

Page 14: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Delaunay Triangulierung ↔ Meshing

Meshing aus der Vorlesung liefert ausschließlich Dreiecke die ausschließichnicht-stumpfe Winkel besitzen, d.h., keinen Winkel > 90◦.

Sei nun T eine Triangulierung einer endlichen Punktmenge P ⊂ R2,sodass jedes Dreieck nur nicht-stumpfe Winkel besitzt. Zeige, dass T eineDelaunay Triangulierung ist.

Page 15: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Charakterisierung

Satz uber Voronoi-Diagramme:

Ein Punkt q ist ein Voronoi-Knoten⇔ |CP (q) ∩ P | ≥ 3,der Bisektor b(pi, pj) definiert eine Voronoi-Kante⇔ ∃q ∈ b(pi, pj) mit CP (q) ∩ P = {pi, pj}.

Satz 4: Sei P eine Menge von Punkten.Punkte p, q, r sind Knoten der gleichen Facette inDG(P ) ⇔ Kreis durch p, q, r ist leerKante pq ist in DG(P )⇔ es gibt einen leeren Kreis Cp,q durch p und q

Satz 5: Sei P Punktmenge und T eine Triangulierung von P .T ist Delaunay-Triangulierung⇔ Umkreis jedes Dreiecks ist im Inneren leer.

VL

Page 16: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Der Satz von Thales

a

Satz 2: Alle Dreiecke aus den Endpunktendes Kreisdurchmessers und einesHalbkreispunktes sind rechtwinklig.

b

Satz 2′: Alle Dreiecke aus den Endpunkten einer Sekante` = ab und eines Kreispunktes c auf der gleichen Seitevon ` haben den gleichen Winkel an c. Fur Dreiecke∆abd mit d innerhalb des Kreises gilt ∠adb > ∠acd,fur e außerhalb des Kreises gilt ∠aeb < ∠acd.

ab

c c′e

d

∠aeb < ∠acb = ∠ac′b < ∠adb

VL

Page 17: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Page 18: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

pq

r

z

m

C

Page 19: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.

pq

r

z

m

C

Page 20: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.

pq

r

z

m

C

1. Fall: z liegt außerhalb von ∆

O.B.d.A. sei z mit p und q verbunden.

Page 21: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.

pq

r

z

m

m′

C ′

C

1. Fall: z liegt außerhalb von ∆

O.B.d.A. sei z mit p und q verbunden.

Sei C ′ Kreis durch p und q Mittelpunkt m′

auf Halfte von pq

Page 22: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.

pq

r

z

m

m′

C ′

C

1. Fall: z liegt außerhalb von ∆

O.B.d.A. sei z mit p und q verbunden.

Sei C ′ Kreis durch p und q Mittelpunkt m′

auf Halfte von pq

Nach Satz 2’ liegt r nicht im Inneren von C ′

Da z in C liegt, muss z auch in C ′ liegen.

Page 23: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.

pq

r

z

m

m′

C ′

C

1. Fall: z liegt außerhalb von ∆

O.B.d.A. sei z mit p und q verbunden.

Sei C ′ Kreis durch p und q Mittelpunkt m′

auf Halfte von pq

Nach Satz 2’ liegt r nicht im Inneren von C ′

Da z in C liegt, muss z auch in C ′ liegen.

Nach Satz 2’ ist Winkel an z großer 90◦

Page 24: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 1

Annahme: Es gibt Triangulierung T mit nur nicht-stumpfen Dreiecken,die keine Delaunay-Triangulierung ist.

Es gibt Dreieck ∆ = (pqr) dessen Umkreis einen weiteren Punkt z enthalt.

z kann so gewahlt werden, dass mit mind. zwei Punkten von ∆ verbunden.

pq

r

z

m

m′

C ′

C

1. Fall: z liegt außerhalb von ∆

O.B.d.A. sei z mit p und q verbunden.

Sei C ′ Kreis durch p und q Mittelpunkt m′

auf Halfte von pq

Nach Satz 2’ liegt r nicht im Inneren von C ′

Da z in C liegt, muss z auch in C ′ liegen.

Nach Satz 2’ ist Winkel an z großer 90◦

2. Fall: z liegt innerhalb von ∆

Ahnliche Argumentation.

Page 25: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Quadtrees

NO NW SW SO

Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innereKnoten vier Kinder hat. Jeder Knoten entspricht einemQuadrat und die Quadrate der Blatter bilden eineUnterteilung des Wurzelquadrats.

Page 26: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Quadtrees

NO NW SW SO

Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innereKnoten vier Kinder hat. Jeder Knoten entspricht einemQuadrat und die Quadrate der Blatter bilden eineUnterteilung des Wurzelquadrats.

Ecken

Kanten

Seiten

Nachbarn

Page 27: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Quadtrees

Def.: Ein Quadtree ist ein Wurzelbaum, in dem jeder innereKnoten vier Kinder hat. Jeder Knoten entspricht einemQuadrat und die Quadrate der Blatter bilden eineUnterteilung des Wurzelquadrats.

Def.: Fur eine Punktmenge P in einem QuadratQ = [xQ, x

′Q]× [yQ, y

′Q] gilt fur den Quadtree T (P )

ist |P | ≤ 1, so ist T (P ) ein Blatt, das P und Q speichert

sonst sei xmid =xQ+x′

Q

2und ymid =

yQ+y′Q

2und

PNO := {p ∈ P | px > xmid and py > ymid}PNW := {p ∈ P | px ≤ xmid and py > ymid}PSW := {p ∈ P | px ≤ xmid and py ≤ ymid}PSO := {p ∈ P | px > xmid and py ≤ ymid}T (P ) besteht aus Wurzel v, die Q speichert, mit vierKindern fur Pi und Qi (i ∈ {NO,NW,SW,SO}).

Page 28: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Beispiel

Page 29: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Beispiel

Page 30: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Beispiel

Page 31: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Beispiel

Page 32: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Beispiel

Page 33: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Beispiel

Page 34: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Quadtree Eigenschaften

Die rekursive Definition eines Quadtrees lasst sich direkt ineinen Algorithmus zur Konstruktion umsetzen.

Welche Tiefe hat ein Quadtree fur n Punkte?

Lemma 1: Die Tiefe von T (P ) ist hochstens log(s/c) + 3/2,wobei c der kleinste Abstand in P ist und s dieSeitenlange des Wurzelquadrats Q.

Satz 1: Ein Quadtree T (P ) fur n Punkte und mit Tiefe dhat O((d+ 1)n) Knoten und kann in O((d+ 1)n)Zeit konstruiert werden.

Page 35: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

Page 36: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Page 37: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Page 38: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Page 39: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Page 40: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Page 41: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Page 42: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 2

Komprimierte Quadtrees

NO NW SW SO

Anzahl der Knoten jetzt O(n) (statt O((d+ 1)n))Laufzeit fur Umwandlung?Aufwand fur Konstruktion verringern?

Page 43: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 3

Balancierte Quadtrees

Page 44: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Balancierte Quadtrees

Def.: Ein Quadtree heißt balanciert, wenn die Seitenlange vonje zwei Nachbarquadraten in der zugeh. Unterteilungsich um einen Faktor von hochstens 2 unterscheidet.

VL

Page 45: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Quadtrees balancieren

BalanceQuadtree(T )

Input: Quadtree TOutput: balancierter Quadtree TL← Liste aller Blatter von T ;while L nicht leer do

µ← extrahiere Blatt aus L;if µ.Q zu groß then

Teile µ.Q in vier Teile und lege vier Blatter in T an;fuge neue Blatter zu L hinzu;if µ.Q hat jetzt zu große Nachbarn then fuge sie zu L hinzu;

return T

Satz 3: Sei T ein Quadtree mit m Knoten und Tiefe d. Diebalancierte Version TB von T hat O(m) Knoten undkann in O((d+ 1)m) Zeit konstruiert werden.

Page 46: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 3

Balancierte Quadtrees

Abanderung: Alle Rechtecke gleich groß

Page 47: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 3

Balancierte Quadtrees

Abanderung: Alle Rechtecke gleich groß

Frage: Wie viele Blatter?

Page 48: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Wiederholung: Bereichsanfrage

Szenario:

großer Straßengraph zeige nur einen kleinen Ausschnitt

Problem: BereichsanfrageGegeben eine Punktmenge P (die Knoten in dem Straßengraph) sowieein Rechteck R, finde alle Punkte aus P die in R liegen.

Einfache Losung:Teste fur jeden Punkt p ∈ P , ob p in R liegt.⇒ Laufzeit O(|P |), dabei werden ggf. sehr viel weniger Punkte angezeigt.

Page 49: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Wie kann man Quadtrees fur Bereichsanfragen nutzen?

Page 50: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage in einem kd-Tree

p1

p2

p3

p4 p5

p6p7

p8

p9p10

p11

p12p13

p1 p2

p4 p5

SearchKdTree(v,R)

if v Blatt thenprufe Punkt p in v auf p ∈ R;

elseif region(lc(v)) ⊆ R then

ReportSubtree(lc(v));else

if region(lc(v)) ∩R 6= ∅ thenSearchKdTree(lc(v), R);

if region(rc(v)) ⊆ R thenReportSubtree(rc(v));

elseif region(rc(v)) ∩R 6= ∅ thenSearchKdTree(rc(v), R);

p3

p6

p6

p7 p8 p9 p10

p7

p8

p9p10

p11 p12 p13

VL

Page 51: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

R

Page 52: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

Starte mit der Wurzel

R

Page 53: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

Starte mit der Wurzel

R

→ Rekursionsaufruf fur alle vier Kinder

Page 54: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

Starte mit der Wurzel

R

→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte

Page 55: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

Starte mit der Wurzel

R

→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte

→ Sud-West-Knoten: Rekursionsaufruf fur zwei Kinder→ Nord-West-Knoten: Rekursionsaufruf fur ein Kind

Page 56: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

Starte mit der Wurzel

R

→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte

→ Sud-West-Knoten: Rekursionsaufruf fur zwei Kinder→ Nord-West-Knoten: Rekursionsaufruf fur ein Kind→ Rekursionsende (Blatter erreicht): gib resultierende Knoten aus

Page 57: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Bereichsabfrage

PNW PNO

PSW PSO

Starte mit der Wurzel

R

→ Rekursionsaufruf fur alle vier Kinder→ Sud-Ost-Knoten: vorzeitiger Abbruch und Ausgabe der enthaltenenPunkte

→ Sud-West-Knoten: Rekursionsaufruf fur zwei Kinder→ Nord-West-Knoten: Rekursionsaufruf fur ein Kind→ Rekursionsende (Blatter erreicht): gib resultierende Knoten aus

Wie geht das schnell?

Page 58: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Problem 3(b)

Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T

Gesucht: Punktealler Nachfolgern von v

v

Page 59: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Problem 3(b)

Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T

Gesucht: Punktealler Nachfolgern von v

traversiere Teilbaum Tv

Tv

O(|Tv|) × ×Ansatz Laufzeit Speicher Vorverarbeitungszeit

v

Page 60: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Problem 3(b)

Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T

Gesucht: Punktealler Nachfolgern von v

traversiere Teilbaum Tv

Tv

O(|Tv|) × ×speichere allenachfolgenden Punkte

Ansatz Laufzeit Speicher Vorverarbeitungszeit

v

Page 61: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Problem 3(b)

Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T

Gesucht: Punktealler Nachfolgern von v

traversiere Teilbaum Tv

Tv

O(|Tv|) × ×speichere allenachfolgenden Punkte

O(k) O(d · |P |) O(d · |P |)

Ansatz Laufzeit Speicher Vorverarbeitungszeit

(k = Anzahl gefundener Punkte)

v

Page 62: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Problem 3(b)

Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T

Gesucht: Punktealler Nachfolgern von v

traversiere Teilbaum Tv

Tv

O(|Tv|) × ×speichere allenachfolgenden Punkte

O(k) O(d · |P |) O(d · |P |)

speichere Start und Ende inPunktliste

Ansatz Laufzeit Speicher Vorverarbeitungszeit

(k = Anzahl gefundener Punkte)

v

Page 63: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Problem 3(b)

Gegeben:gewurzelter Baum Tbis zu ein Punkt in jedem Blatt von Tein Knoten v in T

Gesucht: Punktealler Nachfolgern von v

traversiere Teilbaum Tv

Tv

O(|Tv|) × ×speichere allenachfolgenden Punkte

O(k) O(d · |P |) O(d · |P |)

speichere Start und Ende inPunktliste

O(k) O(|T |) O(|T |)

Ansatz Laufzeit Speicher Vorverarbeitungszeit

(k = Anzahl gefundener Punkte)

v

Page 64: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 65: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 66: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 67: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 68: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 69: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 70: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Quadtrees fur Range Queries?

Welchen Aufwand hat das Verfahren?

Page 71: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Was, wenn Anfragebereich eine durch eine vertikale Geradebegrenzte Halbebene ist?

Page 72: Benjamin Niedermann Ubung Algorithmische Geometrie€¦ · Benjamin Niedermann Ubung Algorithmische Geometrie Der Satz von Thales a Satz 2: Alle Dreiecke aus den Endpunkten des Kreisdurchmessers

Benjamin Niedermann · Ubung Algorithmische Geometrie

Aufgabe 4

Was, wenn Anfragebereich eine durch eine vertikale Geradebegrenzte Halbebene ist?