• Keine Ergebnisse gefunden

Downgrading: Oberfl¨ ache Polyeder!

N/A
N/A
Protected

Academic year: 2022

Aktie "Downgrading: Oberfl¨ ache Polyeder!"

Copied!
149
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Offline Bewegungsplanung: Polyeder

Elmar Langetepe University of Bonn

(2)

Downgrading: Oberfl¨ ache Polyeder!

(3)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

(4)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

(5)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

s

(6)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

s

t

(7)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

s

t

(8)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

• Rand besteht aus Polygonen

s

t

(9)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

• Rand besteht aus Polygonen

• Keine d¨unnen Stellen:

s

t

(10)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

• Rand besteht aus Polygonen

• Keine d¨unnen Stellen: -Kugeln

s

t

(11)

Downgrading: Oberfl¨ ache Polyeder!

• Nat¨urliche Erweiterung der Polygone auf 3D

• Rand besteht aus Polygonen

• Keine d¨unnen Stellen: -Kugeln

• Datenstruktur QEDS: Triangulation Oberfl¨achen, Navigation!

s

t

(12)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

(13)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

• Lokale Eigenschaften (geod¨atisch) k¨urzester Wege

(14)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

• Lokale Eigenschaften (geod¨atisch) k¨urzester Wege

• Alle Kanten: Eingangswinkel=Ausgangswinkel

d1 α

α e

(i) d2

(15)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

• Lokale Eigenschaften (geod¨atisch) k¨urzester Wege

• Alle Kanten: Eingangswinkel=Ausgangswinkel

• Knoten: Nur nicht-konvexe Ecken

d1 α

α e

(i) d2

(16)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

• Lokale Eigenschaften (geod¨atisch) k¨urzester Wege

• Alle Kanten: Eingangswinkel=Ausgangswinkel

• Knoten: Nur nicht-konvexe Ecken

d1 α

α e

(i) d2

α1

β1

β2

β5

α7

α2

α3

(ii)

(17)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

• Lokale Eigenschaften (geod¨atisch) k¨urzester Wege

• Alle Kanten: Eingangswinkel=Ausgangswinkel

• Knoten: Nur nicht-konvexe Ecken

d1 α

α e

(i) d2

α1

β1

β2

β5

α7

α2

α3

(ii)

β

(18)

Lokale Eigenschaften (geod¨ atisch)! Lem. 1.39

• Lokale Eigenschaften (geod¨atisch) k¨urzester Wege

• Alle Kanten: Eingangswinkel=Ausgangswinkel

• Knoten: Nur nicht-konvexe Ecken

• Konvexe Ecke: Ebenenschnitt

d1 α

α e

(i) d2

α1

β1

β2

β5

α7

α2

α3

(ii)

β

(19)

Globale Eigenschaften (K¨ urzeste)! Lem. 1.40

(20)

Globale Eigenschaften (K¨ urzeste)! Lem. 1.40

πi, πj k¨urzeste von s nach bi resp. bj

(21)

Globale Eigenschaften (K¨ urzeste)! Lem. 1.40

πi, πj k¨urzeste von s nach bi resp. bj (i) πi hat keine Selbstschnitte

(22)

Globale Eigenschaften (K¨ urzeste)! Lem. 1.40

πi, πj k¨urzeste von s nach bi resp. bj (i) πi hat keine Selbstschnitte

(ii) πi schneidet jede Fl¨ache max. einmal

(23)

Globale Eigenschaften (K¨ urzeste)! Lem. 1.40

πi, πj k¨urzeste von s nach bi resp. bj (i) πi hat keine Selbstschnitte

(ii) πi schneidet jede Fl¨ache max. einmal

(iii) πi, πj kreuzen sich nicht im Innern einer Fl¨ache

(24)

Globale Eigenschaften (K¨ urzeste)! Lem. 1.40

πi, πj k¨urzeste von s nach bi resp. bj (i) πi hat keine Selbstschnitte

(ii) πi schneidet jede Fl¨ache max. einmal

(iii) πi, πj kreuzen sich nicht im Innern einer Fl¨ache Beweis!!! Lokal verk¨urzbar! (Tafel)

(25)

Berechnungsansatz: Ideen

(26)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

(27)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

• Nur letzte Schritte des Weges konkret

(28)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

• Nur letzte Schritte des Weges konkret

• Kombinatorisch gleiche zusammenfassen

(29)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

• Nur letzte Schritte des Weges konkret

• Kombinatorisch gleiche zusammenfassen

• Zun¨achst nur Intervalle auf Kanten betrachten

(30)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

• Nur letzte Schritte des Weges konkret

• Kombinatorisch gleiche zusammenfassen

• Zun¨achst nur Intervalle auf Kanten betrachten

• Sukzessive erweitern: Continous Dijkstra

(31)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

• Nur letzte Schritte des Weges konkret

• Kombinatorisch gleiche zusammenfassen

• Zun¨achst nur Intervalle auf Kanten betrachten

• Sukzessive erweitern: Continous Dijkstra

• In die Dreiecke fortpflanzen

(32)

Berechnungsansatz: Ideen

• Locus approach: Startpunkt s fest

• Nur letzte Schritte des Weges konkret

• Kombinatorisch gleiche zusammenfassen

• Zun¨achst nur Intervalle auf Kanten betrachten

• Sukzessive erweitern: Continous Dijkstra

• In die Dreiecke fortpflanzen

• Query Struktur f¨ur alle Punkte auf P

(33)

Kombinatorik: Gesamtweg analysieren!

(34)

Kombinatorik: Gesamtweg analysieren!

Folge von Kanten und Knoten!

(35)

Kombinatorik: Gesamtweg analysieren!

Folge von Kanten und Knoten!

π = v0

|{z}=s

, e1,1, . . . , e1,m1

| {z }

Kanten

, v1

|{z}2. Ecke

, e2,1, . . . , e2,m2

| {z }

Kanten

, v2, . . . , ek−1,1, . . . , ek−1,mk−1, vk

|{z}=t

f

s

t x

Kantenfolge E

(Weg verlaeuft nicht ueber Ecken von P) α

ei−11

(i-1)-te Ecke i-te Ecke

vi−1

ei−1mi−1

α

vi

(36)

Letzte Schritte: F¨ ur beliebige Kanten!

• Kante e, letzter Knoten v, Kantenfolge E

e f

s

β β e1

v

x em

Kantenfolge E

(Weg verlaeuft nicht ueber Ecken von P)

(37)

Letzte Schritte: F¨ ur beliebige Kanten!

• Kante e, letzter Knoten v, Kantenfolge E

• Kombinatorisch gleiche zuammenfassen,

e f

s

β β e1

v

x em

Kantenfolge E

(Weg verlaeuft nicht ueber Ecken von P)

(38)

Letzte Schritte: F¨ ur beliebige Kanten!

• Kante e, letzter Knoten v, Kantenfolge E

• Kombinatorisch gleiche zuammenfassen, Dreiecke nicht beachten

e f

s

β β e1

v

x em

Kantenfolge E

(Weg verlaeuft nicht ueber Ecken von P)

(39)

Letzte Schritte: F¨ ur beliebige Kanten!

• Kante e, letzter Knoten v, Kantenfolge E

• Kombinatorisch gleiche zuammenfassen, Dreiecke nicht beachten

• Optimalit¨atsintervall: Def. 1.42

e f

s

β β e1

v

x em

Kantenfolge E

(Weg verlaeuft nicht ueber Ecken von P)

(40)

Letzte Schritte: F¨ ur beliebige Kanten!

• Kante e, letzter Knoten v, Kantenfolge E

• Kombinatorisch gleiche zuammenfassen, Dreiecke nicht beachten

• Optimalit¨atsintervall: Def. 1.42

I(v,E) := {x ∈ e| ∃ K¨urzeste δ von s nach x mit

• δ ∩ INT(f) = ∅

• δ endet mit v, e1, . . . , em, x} .

e f

s

β β e1

v

x em

Kantenfolge E

(Weg verlaeuft nicht ueber Ecken von P)

(41)

Lem. 1.43 Eigenschaften: I (v, )

(i) Jede solche Menge I(v, E) ist Intervall auf e (evtl. leer).

(ii) Zwei verschiedene Intervalle k¨onnen sich nicht ¨uberlappen.

(iii) e wird von Intervallen I(v, E) ganz ¨uberdeckt.

Beweis!!! Gegeben: Kante e, letzter Knoten v, Kantenfolge E

(42)

I (v, E) ist Intervall auf e

(43)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

(44)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

(45)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

(46)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f

(47)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

(48)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

(49)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

E (aufklappen in Ebene zu f)

(50)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

E (aufklappen in Ebene zu f)

s

x2

x1

(51)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

E (aufklappen in Ebene zu f)

s

x2

x1 x0

(52)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

E (aufklappen in Ebene zu f)

s

x2

x1 x0 v¯0

(53)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

E (aufklappen in Ebene zu f)

s

x2

x1 x0 v¯0

(54)

I (v, E) ist Intervall auf e

• I(v, E) leer ⇒ fertig!

• Annahme: Es gibt zwei Punkte x1 und x2 in I(v, E)

• Zu zeigen: Alle Punkte dazwischen geh¨oren zu I(v, E)

f e

¯ v

E (aufklappen in Ebene zu f)

s

x2

x1 x0

v¯0 Widerspruch Lem. 1.40 (iii)

(55)

Intervalle I (v, E) uberlappen sich nicht ¨

(56)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

(57)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

• Sch¨onere Argumentation!!

(58)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

• Sch¨onere Argumentation!!

f

¯ vk

¯ vl e

(59)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

• Sch¨onere Argumentation!!

f

¯ vk

¯ vl

e x

(60)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

• Sch¨onere Argumentation!!

f

¯ vk

¯ vl

e x

vk x| +d(vk, s) = |v¯l x| + d(vl, s)

(61)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

• Sch¨onere Argumentation!!

f

¯ vk

¯ vl

e x

vk x| +d(vk, s) = |v¯l x| + d(vl, s) Hyperbel

(62)

Intervalle I (v, E) uberlappen sich nicht ¨

• Gleiche Argumentation geht auch!!

• Sch¨onere Argumentation!!

f

¯ vk

¯ vl

e x

vk x| +d(vk, s) = |v¯l x| + d(vl, s) Hyperbel

Genau ein x!!!

(63)

e wird von Intervallen I (v, E) ¨ uberdeckt

(64)

e wird von Intervallen I (v, E) ¨ uberdeckt

Klar!

(65)

e wird von Intervallen I (v, E) ¨ uberdeckt

Klar! Jeder Punkt x ∈ e wird von einem K¨urzesten Weg besucht!

(66)

e wird von Intervallen I (v, E) ¨ uberdeckt

Klar! Jeder Punkt x ∈ e wird von einem K¨urzesten Weg besucht!

Insgesamt:

(67)

e wird von Intervallen I (v, E) ¨ uberdeckt

Klar! Jeder Punkt x ∈ e wird von einem K¨urzesten Weg besucht!

Insgesamt: Lem. 1.43:

(68)

e wird von Intervallen I (v, E) ¨ uberdeckt

Klar! Jeder Punkt x ∈ e wird von einem K¨urzesten Weg besucht!

Insgesamt: Lem. 1.43:

(i) Jede solche Menge I(v, E) ist Intervall auf e (evtl. leer).

(ii) Zwei verschiedene Intervalle k¨onnen sich nicht ¨uberlappen.

(iii) e wird von Intervallen I(v, E) ganz ¨uberdeckt.

(69)

Alle I (v, E) berechnen!

(70)

Alle I (v, E) berechnen!

• Wie viele?

(71)

Alle I (v, E) berechnen!

• Wie viele?

• Was machen wir mit dem Inneren der Dreiecke?

• Lem. 1.44: Kante e, O(n) Intervalle I(v, )

(72)

Alle I (v, E) berechnen!

• Wie viele?

• Was machen wir mit dem Inneren der Dreiecke?

• Lem. 1.44: Kante e, O(n) Intervalle I(v, )

• Z¨ahlargument: Klassisch!!!

(73)

Lem. 1.44: O(n) Intervalle I (v, E)

(74)

Lem. 1.44: O(n) Intervalle I (v, E)

Benachbarte Intervalle trennen sich!!

πj−1 f

Ij Ij+1 e

g

w πj

πj+1

(i) (ii)

f Ij+1

Ij

g

w πj+1

πj+2

d d

Ij−1

πj

• Kante d kann max zweimal als Trenner vorkommen!!

(75)

Lem. 1.44: O(n) Intervalle I (v, E)

Benachbarte Intervalle trennen sich!!

πj−1 f

Ij Ij+1 e

g

w πj

πj+1

(i) (ii)

f Ij+1

Ij

g

w πj+1

πj+2

d d

Ij−1

πj

• Kante d kann max zweimal als Trenner vorkommen!!

• Wegen Schnitteigenschaft!! Ausklappen ohne ¨Uberlappungen!

(76)

Das Innere der Dreiecke f¨ ullen

(77)

Das Innere der Dreiecke f¨ ullen

Annahme: Intervalle I(v, E) berechnet!

(78)

Das Innere der Dreiecke f¨ ullen

Annahme: Intervalle I(v, E) berechnet! Situation f¨ur jedes Dreieck!

f

(79)

Das Innere der Dreiecke f¨ ullen

Annahme: Intervalle I(v, E) berechnet! Situation f¨ur jedes Dreieck!

Mehrere Kantenfolgen!!

v5

v4

E1

E2

v6

v1 v2,2

v2,1

v3

f

(80)

Das Innere der Dreiecke f¨ ullen

Annahme: Intervalle I(v, E) berechnet! Situation f¨ur jedes Dreieck!

Mehrere Kantenfolgen!!

s

v5

v4

E1

E2

v6

v1 v2,2

v2,1

v3

f

(81)

Das Innere der Dreiecke f¨ ullen

Annahme: Intervalle I(v, E) berechnet! Situation f¨ur jedes Dreieck!

Mehrere Kantenfolgen!!

s

v5

v4

E1

E2

v6

v1 v2,2

v2,1

v3

f

(82)

Das Innere der Dreiecke f¨ ullen

Annahme: Intervalle I(v, E) berechnet! Situation f¨ur jedes Dreieck!

Mehrere Kantenfolgen!!

s

v5

v4

E1

E2

v6

v1 v2,2

v2,1

v3

f

|x v2,2¯ |+ d(s, v2,2) = |x v¯5|+ d(s, v5)

x

(83)

Aufteilen der Dreiecke!

(84)

Aufteilen der Dreiecke!

¯ v4

¯ v2,2

¯ v5

¯ v6

¯ v1

¯ v2,1

¯ v3

f

x

|x v2,2¯ | + d(s, v2,2) = |x v¯5| + d(s, v5)

• Gewichte: d(s, vi),

(85)

Aufteilen der Dreiecke!

¯ v4

¯ v2,2

¯ v5

¯ v6

¯ v1

¯ v2,1

¯ v3

f

x

|x v2,2¯ | + d(s, v2,2) = |x v¯5| + d(s, v5)

• Gewichte: d(s, vi), Regionen bez¨uglich Orte v¯i

(86)

Aufteilen der Dreiecke!

¯ v4

¯ v2,2

¯ v5

¯ v6

¯ v1

¯ v2,1

¯ v3

f

x

|x v2,2¯ | + d(s, v2,2) = |x v¯5| + d(s, v5)

• Gewichte: d(s, vi), Regionen bez¨uglich Orte v¯i

• Voronoi Diagramm mit additiven Gewichten d(s, vi) voroAdd.html

(87)

Aufteilen der Dreiecke!

¯ v4

¯ v2,2

¯ v5

¯ v6

¯ v1

¯ v2,1

¯ v3

f

x

|x v2,2¯ | + d(s, v2,2) = |x v¯5| + d(s, v5)

• Gewichte: d(s, vi), Regionen bez¨uglich Orte v¯i

• Voronoi Diagramm mit additiven Gewichten d(s, vi) voroAdd.html

• Lokalisationsm¨oglichkeit! (Separators/Seidel)

(88)

Alg. 1.13

(89)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

(90)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

(91)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

(92)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E),

(93)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD,

(94)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

(95)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel),

(96)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

(97)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

• Query:

(98)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

• Query:

– Voronoi Region von t in V D(f)

(99)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

• Query:

– Voronoi Region von t in V D(f) O(log n)

– K¨urzesten Weg aus I(v, E): ¨Uber E und in v abgesp. K¨urz.

Weg zu s, k Segmente,

(100)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

• Query:

– Voronoi Region von t in V D(f) O(log n)

– K¨urzesten Weg aus I(v, E): ¨Uber E und in v abgesp. K¨urz.

Weg zu s, k Segmente, O(k)

(101)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

• Query:

– Voronoi Region von t in V D(f) O(log n)

– K¨urzesten Weg aus I(v, E): ¨Uber E und in v abgesp. K¨urz.

Weg zu s, k Segmente, O(k) – Nur L¨ange,

(102)

Alg. 1.13

• Input: Triang. Polyder P , n Ecken, s

• Output: K¨urzester Weg f¨ur beliebigen Anfragepunkt t ∈ f

• Preprocessing:

– Berechne Intervalle I(v, E), O(n2 log n) – F¨ur alle f add. gew. VD, O(n2 log n)

– Lokalisationstechnik!(Separators/Seidel), O(n2)

• Query:

– Voronoi Region von t in V D(f) O(log n)

– K¨urzesten Weg aus I(v, E): ¨Uber E und in v abgesp. K¨urz.

Weg zu s, k Segmente, O(k) – Nur L¨ange, O(1)

(103)

Ergebnis: Theorem 1.45

(104)

Ergebnis: Theorem 1.45

Sei s auf P fest, gegeben b auf P. Die Entfernung bzw. die K¨urzeste von s nach b auf P l¨aßt sich nach Vorbereitungszeit O(n2 log n) mit Platz O(n2) in Zeit O(log n) bzw. O(log n + k) berechnen.

(105)

Ergebnis: Theorem 1.45

Sei s auf P fest, gegeben b auf P. Die Entfernung bzw. die K¨urzeste von s nach b auf P l¨aßt sich nach Vorbereitungszeit O(n2 log n) mit Platz O(n2) in Zeit O(log n) bzw. O(log n + k) berechnen.

(Mount,Mitchell,Papdimitriou, 1986)

(106)

Berechnung aller I (v, E)

(107)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

(108)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s.

(109)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken!

s

(110)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s

(111)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s

(112)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(113)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(114)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(115)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(116)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(117)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(118)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2

(119)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

(120)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

(121)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

(122)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

(123)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

(124)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

(125)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6

(126)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6

(127)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6

(128)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6 v

(129)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6 v

(130)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6 v

s7

(131)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6 v

s7

(132)

Berechnung aller I (v, E)

Continous Dijkstra: Sukzessive (Teil)Intervalle festlegen!

Garantiepunkt si auf dem Intervall, n¨achster Punkt zu s. K¨urzeste Wege zu Knoten merken! Listen von Intervallen aufbauen!

s s3

s1

s2 s4

s5

s6 v

s7

(133)

Alg. 1.12 Continuous Dijkstra

(134)

Alg. 1.12 Continuous Dijkstra

• DS:

(135)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

(136)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

• Iterationsschritt:

(137)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

• Iterationsschritt:

– W¨ahle Intervall I(v, E) mit k¨urzestem Abstand.

(138)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

• Iterationsschritt:

– W¨ahle Intervall I(v, E) mit k¨urzestem Abstand.

d(s, v) + |¯v − si| ist am geringsten!

(139)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

• Iterationsschritt:

– W¨ahle Intervall I(v, E) mit k¨urzestem Abstand.

d(s, v) + |¯v − si| ist am geringsten! Wird stets Intervall bleiben!

(Eventuell sp¨ater gek¨urzt).

(140)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

• Iterationsschritt:

– W¨ahle Intervall I(v, E) mit k¨urzestem Abstand.

d(s, v) + |¯v − si| ist am geringsten! Wird stets Intervall bleiben!

(Eventuell sp¨ater gek¨urzt).

– F¨uhre dieses Intervall auf die Kanten des Dreiecks fort, auf dem si lag und das jenseits der Folge E liegt.

(141)

Alg. 1.12 Continuous Dijkstra

• DS:

– Priority Queue W: Intervalle nach si-Abst¨ande.

– Intervalllisten auf den Kanten in balancierten Baum vorhalten.

• Iterationsschritt:

– W¨ahle Intervall I(v, E) mit k¨urzestem Abstand.

d(s, v) + |¯v − si| ist am geringsten! Wird stets Intervall bleiben!

(Eventuell sp¨ater gek¨urzt).

– F¨uhre dieses Intervall auf die Kanten des Dreiecks fort, auf dem si lag und das jenseits der Folge E liegt.

– Sortiere zwei neue Intervalle in die Liste der Intervalle der

beiden Kanten ein. Bestimme jeweilige sj und f¨uge in W ein.

(142)

Schritt des Einsortierens!

(143)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal

(144)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal I3

I4

I5 I6

I7 I1

I2

(145)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal I3

I4

I5 I6

I7 I1

I2

I0 sj

(146)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal I3

I4

I5 I6

I7 I1

I2

I0

sj I00 si

(147)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal I3

I4

I5 I6

I7 I1

I2

I0

sj I00 si

(148)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal I3

I4

I5 I6

I7 I1

I2

I0

sj I00 si

Einsortieren in Baum der Intervalle!

(149)

Schritt des Einsortierens!

f

si

W

¯ v e

s A

d(v, s) +vsi| e’

I(v,E) e”

minimal I3

I4

I5 I6

I7 I1

I2

I0

sj I00 si

Einsortieren in Baum der Intervalle! O(log n)!

Referenzen

ÄHNLICHE DOKUMENTE

Bei intraartikulärer oder intrabursaler Infiltration wird in aller Regel ein kristallines Depotsteroid gewählt; bei periten- dinösen Infiltrationen oder der Infiltration

Dadurch und durch die technisch mögliche Errichtung von Industrien, die Benutzung der Meere als Lebensraum für den Menschen und die Schaffung von Zentren für die Verteidigung und

Während dieser Zeit, vorher oder nach einer systematischen Forschungsgrabung, wird man auch versu­.. chen, einen Höhenschichtenplan des Grabungsgeländes und dessen

ten Flächennormalen des Rotati onselli psoi ds d�finiercn auf diesem die Punkte A0 und B0, denen wir die Parameterwerte Cf!A, ),A und f'Jl, ),n, also

In allen Fällen wird die Lage, Figur und das Ausmaß der Baurechtsflächen für beide Vertragsteile eine besondere Rolle spielen ; das Flächenmaß in erster Linie als

Beispiel: Die map -Funktion.. • Noch mehr könnten wir sparen, wenn wir die spezialisierte Funktion h = map f direkt definieren könnten :-). • Dazu müssen wir überall in der

weiters sind die Tangenten in A, C, E und G eingetragen; in B, D, H und I ist die Tangente

 Kennzeichen lokaler Operationen: Grauwert- / Farbänderung von Pixeln auf der Grundlage einer (mathematischen, logischen) Verknüpfung mit ihrer „Nachbarschaft“