3D-Netzgenerierung für Fließgewässer Diplom - RWTH

Werbung
3D-Netzgenerierung für Fließgewässer
Von der Fakultät für Mathematik, Informatik und
Naturwissenschaften der Rheinisch-Westfälischen
Technischen Hochschule Aachen zur Erlangung des
akademischen Grades einer Doktorin der
Naturwissenschaften genehmigte Dissertation
vorgelegt von
Diplom-Informatikerin
Irmgard Dittrich geborene Spies
aus Eschweiler
Berichter:
Universitätsprofessor em. Dr. rer. nat. Walter Oberschelp
Universitätsprofessor Dr. rer. nat. Juraj Hromkovic
Tag der mündlichen Prüfung: 16. August 2001
Diese Dissertation ist auf den Internetseiten der
Hochschulbibliothek online verfügbar.
ii
iii
Wir erkennen die Wahrheit nicht nur durch die Vernunft,
”
sondern auch durch das Herz.“
Blaise Pascal
iv
v
Danksagung
Diese Arbeit entstand hauptsächlich während meiner Tätigkeit als wissenschaftliche Mitarbeiterin am Lehrstuhl für Angewandte Mathematik insbesondere Informatik bzw. am Lehrstuhl für Informatik VII im Rahmen eines
DFG-Projekts Numerische Simulation von Strömung in natürlichen Fließ”
gewässern“ in Zusammenarbeit mit dem Lehrstuhl und Institut für Wasserbau und Wasserwirtschaft der RWTH Aachen.
Mein ganz besonderer Dank gilt Herrn Prof. (em.) Dr. Walter Oberschelp
für seine einfühlsame Betreuung, die interessanten Diskussionen und wertvollen Anregungen. Durch seine Unterstützung wurde diese Arbeit erst
ermöglicht. Trotz seiner vielen Interessen hat er sich - auch als Emeritus
- immer viel Zeit genommen. Herrn Prof. Dr. Juraj Hromkovic danke ich für
die Übernahme des Korreferates. Herrn Prof. Dr. Wolfgang Thomas danke
ich für seine Förderung und für die Arbeitsmöglichkeiten am Lehrstuhl.
Ein besonderer Dank gilt auch der DFG, die dieses Projekt finanziell
unterstützt hat und somit diese Arbeit überhaupt ermöglicht hat.
Insbesondere bedanke ich mich bei Dr. Robert Schneiders, meinem ehemaligen Kollegen, für den wissenschaftlichen Austausch und für wertvolle
Hinweise. Meinen (ehemaligen) Kolleginnen und Kollegen sei Dank für anregende Diskussionen und ihre Hilfsbereitschaft bei Rechnerproblemen. Den
im Rahmen des DFG-Projekts beschäftigten wissenschaftlichen Hilfskräften
und den ehemaligen Diplomanden O. Könen, S. Schumann, K. Stolze und
M. Yoantoro danke ich für ihre Unterstützung durch Forschung, Programmierung und Hilfeleistungen wie z.B. das Zeichnen von Bildern.
Bei Prof. Dr. Jürgen Köngeter, Leiter des Lehrstuhls und Instituts für
Wasserbau und Wasserwirtschaft, und seinen (ehemaligen) Angestellten, insbesondere R. Kowalski, D. Schwanenberg, Dr. M. Schröder und Dr. P. Ruland,
bedanke ich mich für die wertvollen Diskussionen und Erklärungen aus wasserbaulicher Sicht. Außerdem bedanke ich mich für die Arbeit mit dem
Schriftverkehr mit der DFG, der zu großen Teilen durch das Institut für
Wasserbau und Wasserwirtschaft durchgeführt wurde.
Ein herzlicher Dank gilt meinem Mann Ralf für sein großes Verständnis
und seine liebevolle Unterstützung sowie meiner Familie für ihren wertvollen
Rückhalt.
Aachen im Dezember 2001, Irmgard Dittrich
vi
Zusammenfassung
Diese Arbeit entstand im Rahmen des DFG-Projekts Numerische Simula”
tion von Strömung in natürlichen Fließgewässern“, das der Lehrstuhl für
Angewandte Mathematik insbesondere Informatik bzw. der Lehrstuhl für Informatik VII in Zusammenarbeit mit dem Lehrstuhl und Institut für Wasserbau und Wasserwirtschaft der RWTH Aachen durchführte.
Physikalische Vorgänge können durch partielle Differentialgleichungen,
die u.a. numerisch mit der Finite-Elemente-Methode gelöst werden und angepasste Netze benötigen, simuliert werden. Bisher wurden bei Simulationen für Fließgewässer vorwiegend ein- oder zweidimensionale Berechnungsverfahren eingesetzt. Jedoch verlangen komplexe Geometrien mit komplexen Strömungsvorgängen ein vollständig dreidimensionales numerisches Simulationssystem mit freier Oberfläche, wofür bestimmte Nebenbedingungen und Anforderungen eingehalten werden müssen. Verfahren zur 3DNetzgenerierung sind für diesen Problembereich mit den hier geltenden Restriktionen bisher nicht bekannt. In dieser Arbeit wird ein neues Lösungskonzept zur Ermittlung solcher 3D-Netze vorgestellt. Ein wesentlicher Schritt
ist die Erstellung einer sogenannten 2D-Karte“ (P-Netz), welche bereits
”
(bis auf Optimierung) alle wesentlichen Steuerungen für die 3D-Vernetzung
enthält. Die Erzeugung von nicht-erlaubten und deswegen noch zu zerlegenden 3D-Elementen ist i.a. nicht vermeidbar. Die P-Vernetzung orientiert sich
deswegen hauptsächlich an der Geringhaltung der Generierung von Elementen der P-Ebene, aus denen bei der 3D-Vernetzung zu zerlegende Elemente
entstehen.
Die Zerlegung der zu zerlegenden 3D-Elemente stellt ein Optimierungsproblem dar. Dieses Problem wird auf ein graphentheoretisches Orientierungsproblem übertragen, für das im Rahmen dieser Arbeit ein neuer effizienter Algorithmus entwickelt wurde. Algorithmen hierzu sind aus der
Literatur nicht bekannt.
Diese Dissertation stellt somit in mehrfacher Hinsicht neue und wichtige
Forschungsergebnisse dar.
vii
Abstract
This work originated in the course of the DFG-projekt Numerical simulation
”
of flow in natural flow waters“ which the Institute of Applied Mathematics
especially Information Science resp. the Institute of Information Science VII
leaded in cooperation with the Institute of Hydraulic Engineering and Water
Resources Management of the Aachen University of Technology.
Physical processes can be simulated by partial differential equations that
can be solved i.e. numerical with the finite-element-method and requires adjusted nets. So far for simulations of flow waters mainly one or two dimensional methods of calculations were used. However complex geometries with
complex flow procedures demand a complete three dimensional numerical
simulation system with free surface flow, for which certain additional conditions and requirements have to be kept. Methods for the 3D-netgeneration
for this problem-area with the here valid restrictions are not known so far.
In this work a new solution-concept for the generation of such 3D-nets is presented. An essential step is the creation of a thus named 2D-map“ (P-net),
”
which already contains (except for optimization) all essential controls for the
3D-netgeneration. The production of not allowed and therefore still to be
decomposed 3D-elements is in general not preventible. The P-netgeneration
orientates mainly at the reduction of the generation of elements of the p-plane
which will become to be decomposed elements by the 3D-generation.
The decomposition of the to be decomposed 3D-elements represents an
optimization problem. This problem is transfered to an optimization problem
of graph theory, for which a new efficient algorithm is developed in the course
of this work. Algorithms for that problem are not known in the literature.
Therefore this dissertation presents new and important results of research
in several respects.
viii
Inhaltsverzeichnis
1 Einleitung
1
2 Netzgenerierung in der Literatur
5
3 Aufgabenstellung und Lösungskonzept
3.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . .
3.2 Beschreibung der zu vernetzenden Geometrie . . . . .
3.3 Netzgenerierung durch Projektion . . . . . . . . . . .
3.4 Verfeinerungsanforderungen und Regionen-Erzeugung
3.5 Weitere Anforderungen und Probleme . . . . . . . . .
3.6 Zusammenfassung und Lösungsschema . . . . . . . .
4 Die P-Vernetzung: Probleme und Aufgaben
4.1 Konfliktelemente und deren Auswirkungen . . .
4.1.1 Zuordnung der Tiefenwerte . . . . . . . .
4.1.2 Konfliktelemente . . . . . . . . . . . . .
4.1.3 Konfliktvierecke . . . . . . . . . . . . . .
4.1.4 Konfliktdreiecke . . . . . . . . . . . . . .
4.1.5 Erzeugung des Erstnetz . . . . . . . . .
4.1.6 Konfliktdreiecke und daraus resultierende
4.2 Aufgaben der P-Vernetzung . . . . . . . . . . .
4.2.1 Zacken . . . . . . . . . . . . . . . . . . .
4.2.2 Schmale Regionen . . . . . . . . . . . . .
4.2.3 Anpassung und Zerlegungspfade . . . . .
4.2.4 Übersicht . . . . . . . . . . . . . . . . .
5 Lösungen zur P-Vernetzung
5.1 Vernetzung der Ecken . . . . . . . . . . . .
5.1.1 Tiefenwertkombinationen der Ecken
5.1.2 Anforderung an Zerlegungspfade . .
5.1.3 ±20◦ -Ecken . . . . . . . . . . . . .
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
10
13
16
23
28
33
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Zerlegungen
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
37
38
38
40
43
55
61
62
66
68
70
73
74
.
.
.
.
77
78
78
87
89
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
INHALTSVERZEICHNIS
5.2
5.3
5.4
5.5
5.6
5.1.4 ±90◦ -Ecken . . . . . . . . . . . . . . . . . . . . .
5.1.5 ±180◦ -Ecken . . . . . . . . . . . . . . . . . . . .
5.1.6 ±270◦ -Ecken . . . . . . . . . . . . . . . . . . . .
5.1.7 ±340◦ -Ecken . . . . . . . . . . . . . . . . . . . .
5.1.8 Direkt benachbarte Ecken . . . . . . . . . . . . .
5.1.9 Einhaltung der Anforderung an Zerlegungspfade .
5.1.10 Beispiel Wurm . . . . . . . . . . . . . . . . . . .
Vernetzung von schmalen Regionen . . . . . . . . . . . .
5.2.1 Schmale Regionen . . . . . . . . . . . . . . . . . .
5.2.2 Übergänge schmaler Regionen . . . . . . . . . . .
5.2.3 Beispiel Wurm . . . . . . . . . . . . . . . . . . .
Vernetzung von Zacken . . . . . . . . . . . . . . . . . . .
5.3.1 Freiliegende Zacken . . . . . . . . . . . . . . . . .
5.3.2 Zacken nahe bei Knoten von Polygonabschnitten .
5.3.3 Beispiel Wurm . . . . . . . . . . . . . . . . . . .
Anpassungselemente und Anschlußknoten . . . . . . . . .
Zerlegungspfade innerhalb von Regionen . . . . . . . . .
5.5.1 Darstellung des Verfahrens . . . . . . . . . . . . .
5.5.2 Qualitätsberechnung . . . . . . . . . . . . . . . .
5.5.3 Generierung eines Zerlegungspfades . . . . . . . .
Fertigstellung des P-Netzes . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Zerlegungsgraphen
6.1 Detektion aller Zerlegungsgraphen . . . . . . . . . . . . . . .
6.2 Zerlegungen und Zerlegungsgraphen . . . . . . . . . . . . . .
6.3 Lösung des Minzuproblems . . . . . . . . . . . . . . . . . . .
6.3.1 Eine Äquivalenzeigenschaft eines zulässig orientierten
Differenzgraphen . . . . . . . . . . . . . . . . . . . .
6.3.2 Eine Äquivalenzeigenschaft eines zulässig optimal orientierten Differenzgraphen . . . . . . . . . . . . . . .
6.3.3 Ein effizientes Verfahren zur Ermittlung einer zulässigen minimalen Orientierung für Differenzgraphen . .
6.3.4 Aufwand für Algorithmus 6.3 . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
93
93
94
95
96
101
102
103
105
119
123
124
125
139
152
153
158
159
165
180
196
199
. 200
. 206
. 212
. 213
. 217
. 225
. 238
7 Zusammenfassung und Ausblick
247
Literaturverzeichnis
251
Index
255
Abbildungsverzeichnis
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
4.1
4.2
4.3
4.4
4.5
(i) konformes Netz (ii) nicht konformes Netz . . . . . . . . . .
Darstellung eines möglichen Gesamtnetzes für das Wurmbeispiel
Querprofil . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Uferpolygone . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein- und Auslaufebene . . . . . . . . . . . . . . . . . . . . . .
Projektion auf eine Horizontalebene für das Wurmbeispiel (vergl.
Abb. 3.2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Berandungspolygon für das Wurmbeispiel . . . . . . . . . . . .
Generierung eines Elementstapels . . . . . . . . . . . . . . . .
Schnittpolygone (und Berandungspolygon) für das Wurmbeispiel
Erzeugung der Knoten für die Dreieckmodelle . . . . . . . . .
Knoten- und Elementschichten . . . . . . . . . . . . . . . . . .
Verfeinerungspolygone und -bereiche . . . . . . . . . . . . . .
Schnitt- und Verfeinerungspolygone (und Berandungspolygon)
für das Wurmbeispiel . . . . . . . . . . . . . . . . . . . . . . .
Anpassung der Polygone und Erzeugung von P-Regionen für
das Wurmbeispiel . . . . . . . . . . . . . . . . . . . . . . . . .
(i) Schmale Region (ii) Ausreißerregion . . . . . . . . . . . . .
Seitenansicht eines Elementstapels . . . . . . . . . . . . . . . .
Zerlegung eines benachbarten Elements . . . . . . . . . . . . .
P-Zerlegungspfad ZP und Konfliktelemente K1 und K2 mit
Zl(ZP)=Zl(K1)=Zl(K2)=2 . . . . . . . . . . . . . . . . . . . .
Mögliche Schnitte und Berührungen zweier übereinanderliegender Dreiecke . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zuordnung der Tiefenwerte an den Querprofilen . . . .
Zuordnung der Tiefenwerte für die P-Knoten für einen
ausschnitt des Wurmbeispiels . . . . . . . . . . . . . .
Konfliktdreieckkandidaten . . . . . . . . . . . . . . . .
Konfliktviereckkandidaten . . . . . . . . . . . . . . . .
*-4-Elemente und W-Prisma . . . . . . . . . . . . . . .
xi
. . .
Teil. . .
. . .
. . .
. . .
10
11
14
15
16
17
18
20
20
21
23
24
25
26
28
30
31
32
34
36
. 40
.
.
.
.
41
42
42
44
xii
ABBILDUNGSVERZEICHNIS
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
4.31
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
Zerlegung eines 1-4-Elements . . . . . . . . . . . . . . . . . .
Zerlegung eines 2-4-Elements . . . . . . . . . . . . . . . . . .
Zerlegung eines 3-4-Elements . . . . . . . . . . . . . . . . . .
Zerlegung eines W-Prismas . . . . . . . . . . . . . . . . . . .
Zerlegung eines Hexaeders in zwei Prismen . . . . . . . . . .
Zerlegung eines Hexaeders in Tetraeder . . . . . . . . . . . .
(i) 3-4-Template (ii) PRIS-W-Template (iii) 2-4-Template (iv)
1-4-Template (v) HEX-Template . . . . . . . . . . . . . . .
Beispiel für Algorithmus 4.1 . . . . . . . . . . . . . . . . . .
Resultierende Zerlegung im 3D-Netz . . . . . . . . . . . . .
Skizze zum Beweis . . . . . . . . . . . . . . . . . . . . . . .
Aus P-Dreiecken entstandene Elemente im Erstnetz . . . . .
Zerlegung eines 2-3-Elements . . . . . . . . . . . . . . . . . .
(i) 2-3-Template (ii) 1-3-Template (iii) PRIS-S-Template . .
Beispiel für Algorithmus 4.2 . . . . . . . . . . . . . . . . . .
Resultierende Zerlegung im 3D-Netz . . . . . . . . . . . . .
Konfliktdreiecke in der Übersicht . . . . . . . . . . . . . . .
Konfliktdreieck mit zugehörigen Zerlegungspfaden . . . . . .
Entstehung von Zerlegungsgraphen . . . . . . . . . . . . . .
Seiten-/Anschlußknoten und Spitzenknoten einer Zacke . . .
Verschiedenes Auftreten von Zacken . . . . . . . . . . . . . .
Schmale Regionen . . . . . . . . . . . . . . . . . . . . . . . .
Übergangsbereich bei schmalen Regionen . . . . . . . . . . .
a) Nicht-notwendige schmale P-Region b) Lösung ohne die
schmale Region . . . . . . . . . . . . . . . . . . . . . . . . .
±90◦ -Kriterium . . . . . . . . . . . . . . . . . . . . . . . . .
Viereckreihen . . . . . . . . . . . . . . . . . . . . . . . . . .
Detaillierte Auflistung für die P-Vernetzung (vergl. Schema
3.20 III) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
45
46
46
47
47
48
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
52
53
54
56
56
57
58
59
60
64
65
67
69
70
71
. 72
. 73
. 74
. 75
Schnitt eines Schnittpolygons mit einem Verfeinerungspolygon
Weitere Schnittkombinationen . . . . . . . . . . . . . . . . . .
Berührung eines Schnittpolygons mit einem Verfeinerungspolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere Berührungskombinationen . . . . . . . . . . . . . . .
Berührungsmöglichkeiten für Abb.5.3 . . . . . . . . . . . . . .
Weitere Berührungskombinationen . . . . . . . . . . . . . . .
Weitere Berührungskombinationen . . . . . . . . . . . . . . .
Topologische Sortierung für Abb. 5.5 (i) b) . . . . . . . . . . .
Aus den Schnitten und Berührungen resultierende Fälle für
die Ecken . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
80
81
82
83
84
84
85
86
ABBILDUNGSVERZEICHNIS
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
5.32
5.33
5.34
5.35
5.36
5.37
5.38
5.39
5.40
5.41
5.42
5.43
5.44
5.45
Aus Abb. 5.9 resultierende Tiefenwertkombinationen/Typen
Skizze zum Beweis . . . . . . . . . . . . . . . . . . . . . . .
Vernetzung von ±20◦ -Ecken . . . . . . . . . . . . . . . . . .
Vernetzung an einer Verbindungskante . . . . . . . . . . . .
Mögliche weitere Vernetzung von ±20◦ -Ecken bei Typ 5-7 . .
Vernetzung von ±90◦ -Ecken . . . . . . . . . . . . . . . . . .
Vernetzung von ±180◦ -Ecken . . . . . . . . . . . . . . . . .
Vernetzung von ±270◦ -Ecken . . . . . . . . . . . . . . . . .
Vernetzung von ±340◦ -Ecken . . . . . . . . . . . . . . . . .
Vernetzung der ersten Ausnahme . . . . . . . . . . . . . . .
Vernetzung der zweiten Ausnahme bei kleinem Abstand . . .
Zwei benachbarte Ecken, die jeweils an genau vier Regionen
grenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zwei benachbarte Ecken, die jeweils an genau drei Regionen
grenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skizze zum Beweis . . . . . . . . . . . . . . . . . . . . . . .
Vernetzung der Ecken für das Wurmbeispiel . . . . . . . . .
Vernetzung einer schmalen Region . . . . . . . . . . . . . . .
Vernetzung benachbarter schmaler Regionen . . . . . . . . .
Vernetzung innerhalb eines Blocks . . . . . . . . . . . . . . .
Vernetzung innerhalb eines Blocks, falls der erste Polygonteil
auf dem Uferpolygon liegt . . . . . . . . . . . . . . . . . . .
Aufteilung von schmalen Regionen durch ein Verfeinerungspolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tiefenwertzuordnung für diese Regionen . . . . . . . . . . .
Kehrtwende mit wenigen Kanten . . . . . . . . . . . . . . .
Vernetzung einer Kehrtwende mit wenigen Kanten . . . . . .
Schmale Region und breiter Teil der Region . . . . . . . . .
Vernetzung am Übergang einer schmalen Region . . . . . . .
Vernetzung am Übergang einer schmalen Region . . . . . . .
Vernetzung am Übergang einer schmalen Region . . . . . . .
Verbesserte Vernetzung am Übergang einer schmalen Region
Vernetzung der schmalen Regionen für das Wurmbeispiel . .
(Nicht mögliche) Aneinanderreihung von Zacken . . . . . . .
Vernetzung nebeneinanderliegender Zacken . . . . . . . . . .
Skizze zum Beweis . . . . . . . . . . . . . . . . . . . . . . .
Ermittlung eines Knotens zur Erzeugung von EinKantenDreiecken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anpassung benachbarter EinKantenDreiecke . . . . . . . . .
Generierung gegenüberliegender EinKantenDreiecke . . . . .
Generierung eines Vierecks an einer Verbindungskante . . . .
xiii
.
.
.
.
.
.
.
.
.
.
.
87
88
90
91
92
93
94
95
95
97
98
. 98
.
.
.
.
.
.
99
101
103
106
109
112
. 114
.
.
.
.
.
.
.
.
.
.
.
.
.
116
117
118
119
119
119
120
121
122
123
125
127
130
.
.
.
.
130
131
132
132
xiv
ABBILDUNGSVERZEICHNIS
5.46
5.47
5.48
5.49
5.50
5.51
5.52
5.53
5.54
5.55
5.56
5.57
5.58
5.59
5.60
5.61
5.62
5.63
5.64
5.65
5.66
5.67
5.68
5.69
5.70
5.71
5.72
5.73
5.74
5.75
5.76
5.77
5.78
5.79
Begrenzung für die Vernetzung von Kanten . . . . . . . . . .
Vernetzung von ±20◦ -Zacken . . . . . . . . . . . . . . . . . .
Vernetzung von ±60◦ -Zacken . . . . . . . . . . . . . . . . . .
Vernetzung von ±100◦ -Zacken . . . . . . . . . . . . . . . . .
Vernetzung nahe beieinander liegender Zacken . . . . . . . .
Vernetzung nahe beieinander liegender Zacken (Beispiel) . .
Vernetzung nahe beieinander liegender Zacken (Beispiel) . .
Vernetzung nahe beieinander liegender Zacken (Beispiel) . .
Vernetzung nahe beieinander liegender Zacken (Beispiel) . .
Knoten nahe bei nebeneinanderliegenden Zacken . . . . . . .
Vernetzung nebeneinanderliegender Zacken mit nahe liegendem Knoten (Beispiel) . . . . . . . . . . . . . . . . . . . . .
Zwei Knoten nahe bei nebeneinanderliegenden Zacken . . . .
Vernetzung der Zacken für das Wurmbeispiel . . . . . . . . .
Korrigierte Vernetzung der Zacken für das Wurmbeispiel . .
Fälle für zu vernetzende Anschlußknoten . . . . . . . . . . .
Vernetzung an Anschlußknoten . . . . . . . . . . . . . . . .
Vernetzung nebeneinanderliegender Anschlußknoten . . . . .
Vernetzung zweifacher Anschlußknoten . . . . . . . . . . . .
Vernetzung mit Viereckreihen für das Wurmbeispiel . . . . .
I-Dreiecke innerhalb einer Region . . . . . . . . . . . . . . .
Beispiel für die Zuordnung von Elementen zur Generierung
von Zerlegungspfaden . . . . . . . . . . . . . . . . . . . . . .
Nicht verbindbare Elemente . . . . . . . . . . . . . . . . . .
Schematische Darstellung nicht verbindbarer Paare . . . . .
Senkrechtvektoren . . . . . . . . . . . . . . . . . . . . . . . .
Verschiedene Kantenpaare zur Bestimmung der Qualität ihrer
Lage zueinander . . . . . . . . . . . . . . . . . . . . . . . . .
Ideallage zweier Kanten zueinander . . . . . . . . . . . . . .
Veranschaulichung von D für verschiedene Kantenlagen . . .
Abweichende Winkel α und β . . . . . . . . . . . . . . . . .
Unterschiedliche Kantenlagen bei gleichem durchschnittlichen
Abweichungswinkel . . . . . . . . . . . . . . . . . . . . . . .
Unterschiedliche Kantenlage bei gleichen Abweichungswinkeln
zu Abb.5.74 (i) . . . . . . . . . . . . . . . . . . . . . . . . .
Unterschiedliche Kantenlagen bei gleich großem V1 und V2 .
γ als kleinster Winkel zwischen den Geraden, auf denen V1
und V2 liegen . . . . . . . . . . . . . . . . . . . . . . . . . .
α1 , β1 , α2 und β2 . . . . . . . . . . . . . . . . . . . . . . . .
Erzeugung einer Zwischenkante kz zwischen den Kanten k1
und k2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
136
137
138
138
140
141
142
146
147
149
.
.
.
.
.
.
.
.
.
.
150
152
153
154
154
155
157
157
158
159
.
.
.
.
162
162
165
168
.
.
.
.
169
170
171
172
. 173
. 174
. 174
. 175
. 177
. 178
ABBILDUNGSVERZEICHNIS
5.80
5.81
5.82
5.83
5.84
5.85
5.86
5.87
5.88
5.89
5.90
5.91
5.92
Verbindungen zu und zwischen den (Zwischen-)Kanten . . . .
Kreisbögen zwischen zwei Kanten . . . . . . . . . . . . . . . .
Zwei ineinanderliegende Kreise . . . . . . . . . . . . . . . . . .
Ermittlung des Kreismittelpunkts Ma . . . . . . . . . . . . . .
Abweichung zwischen Kanten und Kreisbögen . . . . . . . . .
Skizze zum Beweis . . . . . . . . . . . . . . . . . . . . . . . .
Ermittlung von bi mit |bi | = |ba | . . . . . . . . . . . . . . . . .
Ermittlung von bi , das Winkelanforderung erfüllt . . . . . . .
Berechnung von |Mi Ma | . . . . . . . . . . . . . . . . . . . . .
Verhalten von Kreisen mit gleicher Sehne . . . . . . . . . . . .
Konstruktion von bi . . . . . . . . . . . . . . . . . . . . . . . .
Konstruktion eines Polygonzugs auf einem Kreisbogen . . . . .
Konstruktion eines Zerlegungspfades mit Hilfe der beiden Kreisbögen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.93 Komplette Vernetzung der Regionen für das Wurmbeispiel . .
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
xv
179
182
182
184
185
188
189
190
191
192
193
194
195
197
Detektion Zerlegungsgraph für einen Teil der Vernetzung für
das Wurmbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . 202
Zerlegungsgraph für Abb. 6.1 . . . . . . . . . . . . . . . . . . . 203
a) Einhaltung einer Zerlegungsrichtung eines 3D-Zerlegungspfades
b) Orientierung der zugeordneten Z-Kante . . . . . . . . . . . 206
Möglichkeiten der Zerlegung von 2-3-Elementen . . . . . . . . 207
Möglichkeiten der Zerlegung von S-Prismen . . . . . . . . . . 208
(i) a) + (ii) a) nicht tetraedisierbare S-Prismen (i) b) nicht
tetraedisierbares Schönhardt-Polyeder (ii) b) gegenorientierte
Version des Schönhardt-Polyeder . . . . . . . . . . . . . . . . 209
Zuordnungen für die Zerlegungen von S-Prismen im Zerlegungsgraphen . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Weg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Zerlegung der Komponente K12 in disjunkte Wege . . . . . . . 214
Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
(i) Zulässige nicht minimale Orientierung für Komponente K12
(ii) Zulässige minimale Orientierung für Komponente K12 . . . 220
(i) Zerlegung in disjunkte Wege für Komponente K12 (vergl.
Abb. 6.9) (ii) Umzudrehende Teilwege sind fettmarkiert . . . . 221
Möglichkeiten der Nachbarschaften eines Teilweges . . . . . . . 221
(i) (bewerteter) Zerlegungsgraph (Komponente K12 ) (ii) (bewerteter) Differenzgraph (Komponente K12 ) . . . . . . . . . . 226
Lösung des Minzuproblems für den Differenzgraphen aus Abb.
6.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Halbweg, der an A beginnt und an B endet . . . . . . . . . . . 231
xvi
ABBILDUNGSVERZEICHNIS
6.17
6.18
6.19
6.20
6.21
6.22
Fall AZi . . . . . .
Fall AB . . . . . .
Fall Zi Zj . . . . . .
Fall Zi B . . . . . .
Schleifen . . . . . .
Halbweg als T-Weg
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
233
234
235
236
237
240
Kapitel 1
Einleitung
Durch die schnelle Entwicklung von Rechnerkapazitäten und die immer preiswerter werdenden Speicherkapazitäten hat die Bedeutung der Simulation von
physikalischen Vorgängen in den letzten Jahren kontinuierlich zugenommen.
Physikalische Vorgänge können durch partielle Differentialgleichungen, die
u.a. numerisch mit der Finite-Elemente-Methode gelöst werden und angepaßte Netze benötigen, simuliert werden. Simulationen dienen der Forschung
und Wirtschaft in vielen verschiedenen Bereichen, wie z.B. beim Produktdesign im Maschinen-, Auto- und Flugzeugbau oder im Bereich der Chemie oder
des Elektromagnetismus sowie zur Berechnung von Strömungen im Wasser
oder in der Luft. Es werden oft sehr verschiedene physikalische Vorgänge simuliert, wie z.B. Formgebungen, thermische Druckentwicklungen, elastische
und plastische Verformungen oder Strömungen.
Entsprechend müssen für unterschiedliche Bereiche Netze mit unterschiedlichen Nebenbedingungen generiert werden. Teilweise müssen z.B. nur Werkstücke vernetzt werden, teilweise Bereiche samt ihrer nahegelegenen Umgebung. Außerdem ist die benötigte Dimension der Netze unterschiedlich, für
einige Anwendungen reicht die Vernetzung der Oberfläche aus, für andere
ist ein dreidimensionales Netz nötig. Daraus ergibt sich eine Vielzahl von
Netzanforderungen, weswegen eine Vielzahl von Netzgeneratoren entwickelt
wurde.
Die ersten Netzgeneratoren wurden bereits Anfang der 70er Jahre entwickelt, es folgten weitere Netzgeneratoren in den 80er Jahren. Diese Autoren
entwickelten auch einige der bisjetzt benutzten Methoden wie die DelaunayTriangulation, das Advancing-Front-Verfahren und die Generierung von Octrees (vergl. Kapitel 2). In den 90er Jahren und bis jetzt wurde die Netzgenerierung in vielfacher Hinsicht weiter entwickelt. Näher wird darauf in
Kapitel 2 eingegangen.
Obwohl es sehr viele Anwendungen für Netzgeneratoren gibt, variieren die
1
2
KAPITEL 1. EINLEITUNG
Bedingungen an die Netze für die einzelnen Probleme sehr. Dies hat zur Folge, daß oftmals für jedes dieser Probleme ein neuer Netzgenerator entwickelt
werden muß, der genau die Nebenbedingungen und Anforderungen der aktuellen Aufgabe erfüllt. Beispiele für letzere sind die Forderung nach einem
möglichst schnellen Remeshing oder die Integration von Verfeinerungsanforderungen. Diese werden zwar an viele Generatoren gestellt, müssen aber
durch die unterschiedlichen Nebenbedingungen an die Netze meistens jeweils
anders realisiert werden.
Die vorliegende Arbeit entstand im Rahmen des DFG-Projekts Numeri”
sche Simulation von Strömung in natürlichen Fließgewässern“, in dem es in
Zusammenarbeit mit dem Institut für Wasserbau und Wasserwirtschaft der
RWTH Aachen Aufgabe war, ein mathematisch-numerisches Simulationsmodell zu entwickeln, das die in natürlichen Flüssen wirkenden, hydrodynamischen Prozesse beschreibt und detaillierte Aussagen der Wasserbauforschung
zur Verfügung stellt. Unter Fließgewässern werden alle Gewässer, die einen
Ein- und Auslauf besitzen, also keine stehenden Gewässer sind, verstanden.
Hierzu zählen insbesondere Flüsse.
Kleinräumige Bereiche der Fließgewässer mit den dort vorkommenden
natürlichen“ Situationen stellen komplexe Geometrien mit komplexen Strö”
mungsvorgängen dar. Insbesondere die unregelmäßigen Geometrien natürlicher Gerinne sowie manche künstliche Einbauten führen zu erheblichen Sekundärströmungen. Deswegen verlangen solche Geometrien ein vollständig
dreidimensionales numerisches Simulationssystem mit freier Wasseroberfläche
um die hydraulische Situation ausreichend beschreiben zu können. Eine freie
Wasseroberfläche kann i.a. nicht durch eine Ebene approximiert werden, da
dies zu Ungenauigkeiten führen kann, die vermieden werden sollen.
In der Vergangenheit wurden numerische Berechnungen im Wasserbau
häufig mittels eines zweidimensionalen numerischen Simulationssystems durchgeführt, das aber aus den hier genannten Gründen für diese Situation zu
ungenau ist. Es werden deswegen 3D-Netze benötigt, die bestimmte Nebenbedingungen und Anforderungen einhalten. Ein Verfahren hierzu wird
in dieser Dissertation dargestellt. Dieses Verfahren stellt einen wichtigen
Beitrag für die Praxis und ein Novum dar!
Zu den wichtigsten Nebenbedingungen zählen die gewünschte überwiegende Erzeugung von Hexaedern, daneben sind nur Prismen und Tetraeder
erlaubt (Elementbedingung), die Vertikalbedingung, die aussagt, daß die
Knoten der Elemente, die in vertikaler Richtung verteilt sind, identische horizontale Koordinaten besitzen sollen und die Konformitätsbedingung (vergl.
S. 10). Darüber hinaus ist zu beachten, daß ein Gelände, durch das ein
Fließgewässer fließt, naturgemäß unterschiedliche Tiefen besitzt.
3
Durch Strömungsvorgänge verändert sich die Geometrie eines Fließgewässers ständig. Eine Simulation erfordert deswegen eine kontinuierliche Anpassung des Netzes an die veränderte Geometrie. Von Zeit zu Zeit ist somit
eine Netzneugenerierung (Remeshing) notwendig. Für bestimmte Bereiche
eines Fließgewässers, in denen z.B. eine schnellere Fließgeschwindigkeit besteht, soll eine (vertikale) Netzverfeinerung integriert werden.
Die Einhaltung dieser Forderungen und Bedingungen erschweren die Netzgenerierung stark: Durch die Einhaltung der Vertikalbedingung und der Verfeinerungsanforderungen ist die Generierung von Elementen, die wegen der
Elementbedingung zerlegt werden müssen, i.a. nicht vermeidbar. Die Konformitätbedingung führt dazu, daß in der Regel eine ganze Reihe weiterer
Elemente in Tetraeder und Prismen zerlegt werden müssen. Aufgabe ist es,
möglichst wenig zu zerlegende Elemente zu generieren, damit möglichst viele
Hexaeder entstehen!
Kapitel 2 behandelt aus der Literatur bekannte Netzgeneratoren. Im
Kapitel 3 werden neben einer detaillierten Beschreibung der Anforderungen
und Nebenbedingungen an den Netzgenerator grundlegende Begriffe geklärt
und ein Lösungsansatz vorgestellt. Dieser Lösungsansatz sieht vor, zunächst
eine Vernetzung auf einer Projektionsebene durchzuführen. Die darauffolgenden Kapitel gehen auf die Einzelprobleme und ihre Lösungen genauer
ein. Insbesondere wird in Kapitel 6 ein aus der Generierung resultierendes
graphentheoretisches Problem auf effiziente Weise gelöst.
4
KAPITEL 1. EINLEITUNG
Kapitel 2
Netzgenerierung in der
Literatur
Aus der Literatur sind neben den Algorithmen zur Erzeugung strukturierter
1
Netze zahlreiche Methoden zur Generierung unstrukturierter 2 Netze bekannt: Für die 2D-Vernetzung 3 stellt die Delaunay-Triangulation [Geog91]
eine bestmögliche Dreieckvernetzung dar, falls eine Punktmenge innerhalb
des zu vernetzenden Bereiches gegeben ist. Advancing-Front-Verfahren sind
Techniken, die vom Rand des zu vernetzenden Gebietes zur Mitte hin vernetzen. Hierfür sind Methoden für die Dreieckvernetzung [Geog91] [Lee99] sowie
für die Viereckvernetzung (z.B. mittels Paving) [Blac91a] [Blac91b] [Lee99]
[Zhon00] bekannt. Paving bedeutet Pflastern“: Vom Rand her werden Vier”
ecke zur Mitte hin gepflastert“. Vierecknetze können auch mittels Quadtrees
”
[Geog91] ermittelt werden. Dabei wird ein strukturiertes Netz auf die zu venetzende Fläche gelegt. Durch bestimmte Dekompositionen der Elemente
werden Vierecke erzeugt, die das zu vernetzende Gebiet genauer approximieren. Darüberhinaus gibt es Verfahren zur Erzeugung hybrider 4 2D-Netz
[Kucw00].
Neben der 2D-Vernetzung spielt die (unstrukturierte) 3D-Vernetzung 5 eine wesentliche Rolle bei der Netzgenerierung. Z.B. können analog zur Delaunay1
strukturiertes Netz:
als Vierecknetz: alle inneren Knoten des Vierecknetzes besitzen den Grad vier
als Hexaedernetz: alle inneren Knoten des Hexaedernetzes besitzen den Grad sechs
2
i.a. nicht strukturiert
3
Vernetzung von Flächen oder Oberflächen mit Vierecken und/oder Dreiecken
4
hybrides Netz: Netz mit verschiedenen Elementtypen (bei 2D-Netzen i.a. Drei- und
Vierecke)
5
Vernetzung von Körpern
5
6
KAPITEL 2. NETZGENERIERUNG IN DER LITERATUR
Triangulierung Tetraedernetze [Geog91] erzeugt werden.
Hexaedernetze enthalten aufgrund der geringeren Anzahl von Elementen gegenüber Tetraedernetzen bei gleicher Genauigkeit weniger und bessere Elemente und sind somit für Simulationsberechnungen sehr viel effizienter und
besser geeignet. Außerdem besitzen Hexaeder mit ihren Vierecksoberflächen
bezüglich dieser Oberflächen einen höheren Freiheitsgrad als z.B. ein Tetraeder mit seinen Dreiecksoberflächen. Diese Gründe haben mit dazu geführt,
daß in den letzten Jahren insbesondere Methoden zur Generierung von Netzen mit überwiegend Hexaedern entwickelt wurden.
Eine davon stellt das von Blacker entwickelte Sweeping mittels Cooper
tool dar [Blac96]. Diese Methode wurde in den letzten Jahren besonders
intensiv verfolgt. Dabei wird ein zu vernetzender Körper in (ggfs. gebogene) zylinderförmige Teilstücke zerlegt. Jedes Teilstück besteht aus zwei
Oberflächen, die den kreisförmigen Oberflächen eines Zylinders ähneln und
einer Manteloberfläche. Für eine der kreisförmigen Oberflächen (Startoberfläche) eines Teilstücks wird ein Vierecknetz generiert. Grenzt eine Oberfläche an eine Oberfläche eines benachbarten Teilstücks, so ist zu beachten, daß die Vernetzung dieser Oberflächen identisch sein muß. Ausgehend
von der Startoberfläche wird innerhalb eines Teilstücks durch ein spezielles
Projektionsverfahren, das die Geometrie des zu vernetzenden (Teil-)Körpers
berücksichtigt, ein Hexaedernetz erzeugt. Das daraus entstandene 2D-Netz
auf der Oberfläche (Zieloberfläche), die innerhalb des Teilstücks der anfangs
vernetzten Oberfläche gegenüberliegt, besitzt dann die gleiche Topologie wie
das 2D-Netz der Startoberfläche.
Zu diesem Sweepingalgorithmus gibt es zahlreiche Weiterentwicklungen:
Das Verfahren zur Zerlegung eines zu vernetzenden Objektes wurde durch eine rekursive Methode, die konvexe Objektstücke und zylinderartige Teilstücke
erzeugt, erweitert [Liu97]. Mit diesem Verfahren können z.B. auch Objekte
mit spitz herausragenden oder eingedrückten Teilstücken vernetzt werden.
Mit BMSweep [Stat98], einer weiteren Entwicklung der Methode die Knoten
für die Erzeugung von Hexaedern zwischen zwei Oberflächen zu ermitteln, ist
es möglich, z.B. für gedrehte (und gebogene) Teilstücke Hexaedernetze durch
Sweeping zu ermitteln.
In [Shef99] wird eine zusätzliche Methode zur Zerlegung eines zu vernetzenden Objektes in Teilstücke vorgestellt. Diese Methode basiert auf VoronoiGraphen.
Das Sweeping wird in [Shep00] zum Multisweeping weiterentwickelt. Es
ist damit möglich, von mehreren Startoberflächen ein Sweeping zu mehreren Zieloberflächen durchzuführen. Außerdem erlaubt dieses Verfahren die
Vernetzung von Volumina, die zwischen den Start- und den Zieloberflächen
7
z.B. einseitig gebogen sind.
In [Miyo00] wird noch mal die Anpassung zweier aneinandergrenzender 2Dvernetzter Oberflächen diskutiert, damit Nicht-Konformitäten 6 und Unterbrechungen in Elementen vermieden bzw. behoben werden.
In [Bord00] wird schließlich eine Verfeinerung des Netzes bzw. der Teilstücke
vorgestellt. Zum einen wird eine Verfeinerung auf der Startoberfläche dargestellt. Diese bewirkt eine Verfeinerung innerhalb des gesamten Teilstücks.
Zum anderen wird gezeigt, wie weitere Hexaeder im bereits vernetzten Teilstück eingefügt werden. Die Methoden bewirken unterschiedliche Verfeinerungen.
Neben dem Sweeping und den dafür benötigten Dekompositionsmethoden, die auch für andere Methoden angewendet werden können, sind aus der
Literatur noch weitere grundlegende Techniken zur Erzeugung von Hexaedernetzen bekannt. Dazu gehören zum einen die Methoden zur Generierung eines Hexaedernetzes aus einem Tetraedernetz z.B.[Dohr99] und zum anderen
Overlay-Techniken, die von einem Oberflächennetz zu einem approximierten
inneren Netz durch Übergangselemente ein komplettes Volumennetz erzeugen z.B. [Schn95]. Darüberhinaus können mit dem Octree-Verfahren [Yerr84]
sowohl Tetraeder- als auch Hexaedernetze generiert werden [Geog91]. Beim
Octree-Verfahren (analog zur Quadtree-Technik s.o.) wird zuerst ein grobes
strukturiertes Hexaedernetz generiert, das durch Dekomposition der Elemente immer feiner und dem zu vernetzenden Volumen angepaßter wird.
Wie für die 2D-Vernetzung gibt es auch für die 3D-Vernetzung AdvancingFront-Techniken wie z.B. das Plastering z.B. [Step92]: Von einem Oberflächennetz ausgehend wird schichtenweise ein Hexaedernetz erzeugt. Durch Überschneidungen müssen dabei fast immer auch andere Elementtypen generiert
werden. Da die Technik nicht besonders robust ist, wurde das WhiskerWeaving entwickelt, das ein Netz mittels Konvertieren des Oberflächennetzes
in ein dazu duales Netz generiert [Taut96]. Plastering und Whisker-Weaving
wurden im Rahmen des CUBIT-Projekts entwickelt.
In [Blac00] werden verschiedene Methoden miteinander verglichen.
Außer den Methoden zur Generierung eines reinen Hexaedernetzes oder
eines reinen Tetraedernetzes sind oftmals auch Netzgeneratoren zur Generierung hybrider 3D-Netze 7 sinnvoll. Denn i.a. sind für die Simulation z.B. mittels
FEM (Finite-Element-Methode) mehrere Elementypen erlaubt. Meistens sol6
Konformität s. Def. 1 S. 10
3D-Netz mit verschiedenen Elementtypen: z.B. Hexaeder, Prismen, Pyramiden, Tetraeder
7
8
KAPITEL 2. NETZGENERIERUNG IN DER LITERATUR
len - wie oben erwähnt - Hexaeder bevorzugt werden. Aber nicht immer
ist die Generierung eines reinen Hexaedernetzes möglich oder sie führt zu
schlechten Elementen.
In [Mesh00] wird eine Methode zur Generierung von Netzen vorgestellt, bei
der ausschließlich Hexaeder, Prismen und Tetraeder erzeugt werden, wobei
Hexaeder überwiegen. Die Generierung geschieht ausgehend von einem Tetraedernetz. Alle möglichen Dekompositionen eines Hexaeders in Tetraeder
und eines Prismas in Tetraeder werden bezüglich ihrer Topologien als Graphen dargestellt. Das ursprüngliche Tetraedernetz wird ebenfalls bezüglich
seiner Topologie als Graph dargestellt. Mittels Heuristiken werden dann in
dem Graph für das Tetraedernetz Teilgraphen, die dem Graph für ein Hexaeder entsprechen, und wenn diese nicht mehr zu finden sind Teilgraphen, die
dem Graph für ein Prisma entsprechen, ermittelt. Dieses Verfahren führt zu
Netzen, die aus vielen Hexaedern und einigen Prismen und Tetraedern bestehen. Leider kann jedoch die Konformität 8 i.a. nicht eingehalten werden.
In [Tuch97] wird ein HexTet-Generator vorgestellt, der ein Netz aus ausschließlich Hexaedern und Tetraedern erzeugt. Auch hier ist die Konformität
der Elemente nicht gewährleistet.
Verfahren, die mehrere Elementtypen zulassen und zu konformen Netzen
führen, sind in [Meye98] [Owen00] dargestellt. Sie erlauben Pyramiden als
Übergangselemente von Hexaedern zu Tetraedern.
Die hier vorgestellten 3D-Netzgeneratoren können aufgrund der in Kapitel 3 dargestellten Nebenbedingungen zur Erzeugung eines 3D-Netzes für
Fließgewässer nicht genutzt werden! Deutlicher wird dies in Kapitel 3.
Netzgeneratoren zur Erzeugung von Netzen für Gewässer konnten nur
für 2D-Netze gefunden werden: Olaf Horstmann vom Lehrstuhl für Bauinformatik an der BTU Cottbus beschäftigt sich mit der Generierung von
Dreiecknetzen für Küstengewässer.
Ilja Schmelzer vom Weierstrass-Institut in Berlin hat ein Netzgeneratorpaket für Delaunay-Triangulierung und -Tetraedisierung entwickelt, mit dem
ein 2D-Netz für die Insel Rügen und das daran angrenzende Gewässer erzeugt wurde.
Das Center for Coastal and Land-Margin Research in Oregon erforscht das
Wellenverhalten an der Ostküste des Nordpazifiks. In diesem Zusammenhang
wird ein auf der Delaunay-Triangulierung basierender Dreiecknetzgenerator
vorgestellt.
8
Konformität s. Def. 1 S. 10
Kapitel 3
Aufgabenstellung und
Lösungskonzept
Die Erzeugung eines Netzes für ein Objekt unterliegt oft vielen Rand- und
Nebenbedingungen. Hierdurch und durch die unterschiedlichen Formen verschiedener zu vernetzender Objekte werden entsprechend angepaßte Netzgeneratoren benötigt. In diesem Kapitel werden die Anforderungen, Vorarbeiten und Lösungsansätze für ein Verfahren zur Generierung von Netzen
für Fließgewässer bei Vorgabe von Verfeinerungsanforderungen genauer diskutiert. Dabei werden bereits einige grundlegende Begriffe eingeführt. In
Unterkapitel 3.6 S. 33 findet sich eine Übersicht (Schema 3.20) zu den Vorarbeiten und Lösungsansätzen, auf die in diesem Kapitel immer wieder verwiesen wird. Die folgenden Kapitel beschreiben die einzelnen Lösungsschritte
vertieft.
Ziel dieser Arbeit ist weniger die Erstellung eines fertigen Softwareprodukts als vielmehr eine detaillierte und möglichst umfassende Lösung zur
Generierung von Netzen für Fließgewässer mit den noch zu nennenden Nebenbedingungen.
Die Arbeit wird von einem Beispiel begleitet, daß einen Ablauf der Generierung eines Netzes für einen Abschnitt der Wurm (kleiner Fluß bei Aachen und Herzogenrath) aufzeigt. In den Abbildungen zu diesem Beispiel
verbinden sich von Hand gezeichnete Ergebnisse mit von bereits erstellten
Modulen erzeugten Resultaten. Ausgehend von einer Darstellung eines Endergebnisses (vergl. Abb. 3.2) wird das Verfahren beschrieben. Es kann davon
ausgegangen werden, daß der zu vernetzende Bereich einen relativ hohen
Schwierigkeitsgrad darstellt.
9
10
3.1
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Aufgabenstellung
Die mathematisch numerische Simulation von hydrodynamischen Prozessen
in Fließgewässern mittels FEM erfordert eine möglichst gute Adaption der
entsprechenden Geometrien. Die Simulation erfolgt mit Hilfe von 3D-Netzen,
die den Fließgewässerbereich genügend genau approximieren. Für die Generierung der 3D-Netze sind folgende Rand- und Nebenbedingungen zu berücksichtigen:
Für diese Simulation mittels FEM dürfen nur Netze aus Hexaedern, Prismen und Tetraedern generiert werden, wobei die Anzahl der Hexaeder aus
Effizienz- und Freiheitsgradgründen weit überwiegen soll (Elementbedingung ). Bei gleichem Speicherplatzbedarf wird durch Hexaeder eine höhere
Genauigkeit erzielt. Insbesondere dürfen die Netze wegen der Simulation
mittels FEM keine Pyramiden enthalten.
Definition 1. Ein 3D-Netz heißt konform, wenn der Schnitt je zweier Elemente des 3D-Netzes entweder leer ist, oder aus genau einem Knoten besteht,
oder aus genau einer Kante besteht oder aus genau einem Oberflächenelement
(der beiden betrachteten Elemente des 3D-Netzes) besteht (vergl. Abb. 3.1
(i)).
Abbildung 3.1: (i) konformes Netz (ii) nicht konformes Netz
In einem konformen 3D-Netz darf also z.B. keine Kante der Gesamtoberfläche eines Elements auf einem Oberflächenviereck oder -dreieck eines
benachbarten Elements liegen, ohne auf dessen Kante zu liegen.
Abb. 3.1 (i) zeigt ein konformes Netz. Es besteht aus zwei benachbarten Hexaedern, deren Schnitt ein Oberflächenviereck darstellt. Das Netz in
Abb. 3.1 (ii) ist nicht konform. Es besteht aus einem Hexaeder und einem
Prisma, deren Schnitt ein Oberflächendreieck des Prismas und somit kein
Obeflächenelement des Hexaeders darstellt.
3.1. AUFGABENSTELLUNG
11
Bei der FEM-Simulation werden in Abhängigkeit der Knoten eines Elements für jedes Element Annäherungsfunktionen der gewünschten zu ermittelnden Funktion erzeugt. Diese Annäherungsfunktionen werden letztendlich zu einem zu lösenden Gleichungssystem, der sogenannten Steifigkeitsmatrix, zusammengeführt. Damit dieses Gleichungssystem eindeutig lösbar
ist, müssen benachbarte Annäherungsfunktionen wenigstens stetig sein. Das
bedeutet, daß das Netz konform sein muß.
Die Konformität wird also ebenfalls von den zu generierenden 3D-Netzen
gefordert (Konformitätsbedingung ).
Wegen der Tiefenintegration zur Ermittlung einer freien Wasseroberfläche
entsteht eine weitere entscheidende Bedingung: Die Knoten der Elemente
sollen vertikal übereinander angeordnet sein, d.h. daß Knoten, die in vertikaler Richtung verteilt sind, identische horizontale Koordinaten besitzen
sollen (Vertikalbedingung) (vergl. Abb. 3.2). Diese Bedingung ist notwendig, weil zur Berechnung der freien Wasseroberfläche eine tiefenintegrierte Kontinuitätsbedingung verwendet wird, in der die Wasseroberfläche eine
flächenbezogene Größe darstellt, die mit einem vertikalen Integral verknüpft
ist.
Abbildung 3.2: Darstellung eines möglichen Gesamtnetzes für das Wurmbeispiel
Neben diesen drei wichtigen Bedingungen ist zu berücksichtigen, daß sich
die zu vernetzenden Geometrien durch stark unterschiedliche Abmessungen
in den Raumrichtungen auszeichnen, so daß die Verhältnisse entsprechend
groß sind (z.B. Längen-Höhen-Verhältnis>300, Längen-Breiten-Verhältnis>30).
Außerdem sollen aus Effizienz- und Kostengründen während der Netzgenerierung möglichst keine Benutzereingriffe nötig sein. Darüberhinaus soll die
Qualität der Elemente möglichst gut“ sein. Auf diesen Begriff wird in Un”
terkapitel 3.5 genauer eingegangen.
12
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Aus der Literatur ist kein Netzgenerator bekannt, der alle Bedingungen
erfüllt und Netze für Fließgewässer generiert. Wie in Kapitel 2 deutlich wurde, gibt es verschiedene Netzgeneratoren zur Erzeugung hybrider 3D-Netze,
die jedoch entweder Pyramiden benötigen (Verletzung der Elementbedingung) oder nicht konforme Netze erzeugen (Verletzung der Konformitätsbedingung). Das im Rahmen dieser Arbeit entwickelte und hier vorgestellte
Verfahren beschreibt somit ein Novum.
Wie bereits in der Einleitung erwähnt, ist für bestimmte Bereiche eine
Verfeinerung an entsprechender Stelle des Netzes notwendig. Solche Bereiche entstehen dort, wo ein Strömungsgradient wesentlich höher ist als im
Mittel, also z.B. eine hohe Wassergeschwindigkeit entstanden ist. Die Gradienten werden durch die drei Strömungsrichtungen und die Wasseroberfläche
bestimmt. Deswegen kann eine Verfeinerung in vertikaler und in horizontaler
Richtung nötig sein.
Eine Biegung des Flußverlaufs durch konkave Uferberandungen verursacht z.B. einen Strömungsabriß in horizontaler Richtung, der eine Erhöhung
der Geschwindigkeit und damit der Gradienten in horizontaler Richtung an
diesen Stellen verursacht. Eine horizontale Verfeinerung ist nötig. Mit der
erhöhten Wassergeschwindigkeit können Schwankungen des Wasserspiegels
einhergehen, die eine leichte Erhöhung des vertikalen Gradienten verursachen. In diesem Fall kann eine leichte Verfeinerung in vertikaler Richtung
nötig sein.
Durch eine starke Vertiefung im Gelände können Rückstromzonen in
vertikaler Richtung ausgebildet werden, wodurch eine starke Erhöhung der
Strömungsgradienten in vertikaler Richtung verursacht wird. In solchen Bereichen ist eine starke Elementverfeinerung in vertikaler Richtung nötig.
Um die Verfeinerungsanforderungen bestimmter Gebiete in vertikaler Richtung zu berücksichtigen, werden abgegrenzte Bereiche vorgegeben, in
denen die Elementzahlen der vertikal untereinanderliegenden Elemente um
einen vorgegebenen Faktor erhöht sein sollen. Die Realisierung von Verfeinerungsanforderungen soll unter Berücksichtigung der oben genannten Bedingungen stattfinden.
Eine Netzneugenerierung (Remeshing) (vergl. Einleitung) sowie die Integration von Einbauten werden in dieser Arbeit nicht gesondert berücksichtigt.
Ein Remeshing kann durch eine komplette Neugenerierung oder evtl. durch
Neugenerierung von bestimmten Teilen stattfinden.
3.2. BESCHREIBUNG DER ZU VERNETZENDEN GEOMETRIE
3.2
13
Beschreibung der zu vernetzenden Geometrie
Zur Generierung von Volumennetzen muß die Beschreibung der Oberfläche
des zu vernetzenden Volumens vollständig gegeben sein. Oberflächen von
Körpern, wie z.B. Kugeln oder Zylinder, sind eindeutig durch ihre entsprechenden mathematischen Maße beschrieben. Fließgewässer lassen sich nicht
durch solche mathematischen Parameter beschreiben. Ihre Oberfläche ist
zum einen durch das Gelände, durch das das Gewässer fließt begrenzt. Dieses bildet bezüglich der vertikalen Ausrichtung des Fließgewässers die Begrenzung nach unten. Ein Gelände bildet eine 2D-Mannigfaltigkeit, also
eine Fläche in einem 3D-Raum. Nach oben hin ist die natürliche Begrenzung eines Fließgewässers durch seine Wasseroberfläche (ebenfalls eine 2DMannigfaltigkeit in einem 3D-Raum) gegeben. Diese beiden Oberflächen
beschreiben fast die gesamte Oberfläche eines Fließgewässers.
Da sowohl das Gelände als auch die Wasseroberfläche 2D-Mannigfaltigkeiten bilden und nicht durch einfache mathematische Körper beschreibbar
sind, werden hierfür Approximationen gewählt. Dazu eignen sich besonders ähnlich wie z.B. für die Visualisierung von Objekten - Dreieckmodelle. Diese
werden u.a. wegen der Planareigenschaft eines Dreiecks gewählt.
Definition 2. Ein Dreieckmodell, das zur Approximation eines Geländes
dient, heißt diskretes oder digitales Geländemodell.
Es soll im folgenden die Bezeichnung digitales Geländemodell“ verwen”
det werden, da diese im Wasserbau üblich ist. Digitale Geländemodelle werden häufig für numerische Berechnungen im Wasserbau benötigt.
Die Dreiecke eines digitalen Geländemodells sind in ihrer Größe und Form
idealerweise so an das Gelände angepaßt, daß sie die Höhen und Tiefen dieses genügend genau widerspiegeln. Die Genauigkeit hängt dabei von der
gewünschten Genauigkeit der Approximation der zu vernetzenden Geometrie ab.
Als Datenvorgabe zur Generierung von 3D-Netzen für Fließgewässer stehen Meßdaten auf überschneidungsfreien Querprofilen und/oder ein digitales Geländemodell und/oder ein Dreieckmodell für die Wasseroberfläche zur
Verfügung. Unter Querprofilen werden senkrecht zur Horizontalebene stehende Ebenen verstanden, die durch beide Uferseiten begrenzt sind (vergl.
Abb. 3.3).
Als Meßdaten sind Knoten auf den Querprofilen gegeben, von denen jeweils die x- und y-Koordinaten bezüglich der horizontalen Lage und die
14
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Abbildung 3.3: Querprofil
z-Koordinaten bezüglich der Tiefe des Geländes und der Wasseroberfläche
gegeben sind (s. Abb. 3.5). Steht ein digitales Geländemodell nicht zur
Verfügung, so wird es mit Hilfe der Querprofilsdaten für das Gelände generiert. Dazu wurden Verfahren im Rahmen einer Diplomarbeit [Koen97]
entwickelt, die auf dem Delaunay-Verfahren basieren. Die einzelnen Schritte
sind in Schema 3.20 (Seite 36) im Kasten I(i) kurz dargstellt.
Die Wasseroberfläche darf nicht als Ebene angenommen werden, da z.B.
durch unterschiedliche Strömungsstärken neben dem allgemeinen Gefälle entlang des Fließgewässerverlaufs lokal unterschiedliche Höhen der Wasseroberfläche auftreten können. Insbesondere soll ja die freie Wasseroberfläche durch
die FEM simuliert werden.
Im Gegensatz zum Gelände differieren die Höhen der Wasseroberfläche
jedoch relativ gering. Deswegen ist hierfür eine genaue Anpassung der Größe
und Form der Dreiecke an die unterschiedlichen Höhen der Wasseroberfläche
nicht nötig. Vereinfachend werden als Grundlage zur Berechnung eines Dreieckmodells für die Wasseroberfläche die Knoten und Dreiecke des digitalen
Geländemodells gewählt. Lediglich die Tiefenkoordinaten der Knoten werden für die Approximation der Wasseroberfläche neu berechnet. Dies kann
z.B. durch Interpolation der vorhandenen Punktdaten der Wasseroberfläche
durch ähnliche Verfahren wie in [Koen97] geschehen. In Schema 3.20 wird
dies im Kasten I(ii) a) berücksichtigt. Die Projektionen beider Dreieckmodelle auf eine Horizontalebene sind identisch.
Die beiden Dreieckmodelle werden in der Regel über den überfluteten Bereich hinaus modelliert. Auf diese Weise entstehen Knoten auf den Dreieckmodellen, die nicht zum zu generierenden Volumennetz gehören, die trocken
”
3.2. BESCHREIBUNG DER ZU VERNETZENDEN GEOMETRIE
15
liegen“. Trocken liegende Knoten auf den Dreieckmodellen mit identischen
Horizontalkoordinaten (x-, y-Koordinaten) besitzen auch identische Vertikalkoordinaten (z-Koordinaten).
Der Übergang vom trockenen zum überfluteten Teil eines Geländes wird
als Ufer bezeichnet. Analog kann für die Approximation definiert werden:
Definition 3. Die Schnittpolygone eines digitalen Geländemodells mit einem
zugehörigen Dreieckmodell für die Wasseroberfläche werden als Uferpolygone bezeichnet.
Abbildung 3.4: Uferpolygone
Damit Fließgewässer Wasser von einem Ort zum anderen transportieren
können, muß das Gelände ein Gefälle besitzen. Deswegen muß an einer Stelle
des zu vernetzenden Gebietes Wasser einlaufen, an der anderen Stelle Wasser
auslaufen. Beide Stellen sind als Querprofile mit den als Datenvorgabe dazu
gehörenden Knoten gegeben.
Definition 4. Das Querprofil, an dem Wasser einläuft und das zu vernetzende Gebiet beginnt, heißt Einlaufebene. Das Querprofil, an dem Wasser
ausläuft und das zu vernetzende Gebiet endet, heißt Auslaufebene. (vergl.
Abb. 3.5)
Ein- und Auslaufebene mit den darauf gelegenen Knoten gehören ebenfalls zur Datenvorgabe.
Projiziert man die Ein- und Auslaufebenen auf die horizontale (z=0)Ebene, so entstehen zwei Strecken, die im folgenden als Ein- bzw. Auslaufstrecken bezeichnet werden.
16
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Abbildung 3.5: Ein- und Auslaufebene
Zusammen mit den Ein- und Auslaufebenen beschreiben das digitale
Geländemodell und das Dreieckmodell für die Wasseroberfläche die gesamte
Oberfläche des zu vernetzenden Gebietes.
3.3
Netzgenerierung durch Projektion
Die wichtigsten einzuhaltenden Bedingungen für das zu generierende Netz bestehen - wie bereits erwähnt - in der Anordnung von in vertikaler Richtung
verteilten Knoten in der Weise, daß diese identische horizontale Koordinaten besitzen (s. Vertikalbedingung, Seite 11), und in der ausschließlichen
Erzeugung von Hexaedern, Tetraedern und Prismen, wobei möglichst viele
Hexaeder erzeugt werden sollen (s. Elementbedingung, Seite 10). Werden
alle Knoten und Elemente eines solchen 3D-Netzes auf eine Horizontalebene projiziert, so entsteht ein Netz aus Vierecken und ggfs. Dreiecken. In
Abb. 3.6 ist eine Projektion auf eine Horizontalebene für das Wurmbeispiel
(s. Abb. 3.2) dargestellt.
Daraus wurde folgende Vorgehensweise entwickelt: Es wird zunächst ein
Netz aus Vierecken und Dreiecken auf einer Horizontalebene generiert, das
der Projektion des gewünschten 3D-Netzes auf die Horizontalebene entsprechen soll. Anschließend wird hieraus ein 3D-Netz erzeugt.
Als Horizontalebene wird die (z=0)-Ebene gewählt, die im folgenden
als Projektionsebene (kurz: P-Ebene) bezeichnet wird. Das Netz auf
der P-Ebene wird als P-Netz bezeichnet, die Vier- und Dreiecke als P-
3.3. NETZGENERIERUNG DURCH PROJEKTION
17
Abbildung 3.6: Projektion auf eine Horizontalebene für das Wurmbeispiel
(vergl. Abb. 3.2)
Vier- und P-Dreiecke bzw. als P-Elemente und die Knoten als P-Knoten
und die Kanten als P-Kanten. Die Vernetzung auf der P-Ebene heißt PVernetzung , der zu vernetzende Bereich P-Gebiet . Für die Vernetzung
auf der P-Ebene müssen die Berandungen des P-Gebiets festliegen. Zum
einen sind dies die Ein- und Auslaufstrecken. Aus diesen Ein- und Auslaufstrecken werden durch den Einsatz von Knoten in Abständen, die möglichst
nahe einer Durchschnittskantenlänge 1 liegen, Ein- und Auslaufpolygone
erzeugt. Zum anderen wird das zu vernetzende Gebiet durch die Projektion
der Uferpolygone (P-Uferpolygone) auf der P-Ebene eingegrenzt.
Definition 5. Der geschlossene Polygonzug, der durch die P-Uferpolygone
und durch die Ein- und Auslaufpolygone bestimmt wird, heißt Berandungspolygon. (vergl. Abb. 3.7)
Im folgenden wird unter dem Begriff 3D-Vernetzung die Erzeugung
eines 3D-Netzes aus einem P-Netz verstanden.
Um aus einem P-Netz ein gewünschtes 3D-Netz zu erzeugen, muß jedem
P-Knoten eine gewisse Anzahl von Knoten in vertikaler Richtung zugeordnet werden. Diese Anzahl soll sich nach der Differenz zwischen den Knoten
mit gleichen Horizontalkoordinaten auf den Dreieckmodellen für Wasseroberfläche und Gelände und in Abhängigkeit der Verfeinerungsanforderungen
richten.
Definition 6. Die Anzahl der Knoten, die einem P-Knoten K bei der 3DVernetzung zugeordnet werden, wird als sein Knotentiefenwert Kt(K) bezeichnet.
1
vergl. Unterkapitel 3.4, S. 27
18
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Abbildung 3.7: Berandungspolygon für das Wurmbeispiel
Für jeden P-Knoten K werden bei der 3D-Vernetzung (Schema 3.20 Kasten IV) Kt(K) Knoten mit gleichen Horizontalkoordinaten in äquidistanten Abständen zwischen digitalem Geländemodell und Dreieckmodell für die
Wasseroberfläche generiert. Die Knoten auf den Dreieckmodellen gehören zu
den Kt(K) Knoten. Die zugeordneten Knoten müssen bei der 3D-Vernetzung
sinnvoll zu Elementen verbunden werden. Dazu werden zuerst zwischen
den Knoten, die bei der 3D-Vernetzung einem P-Knoten zugeordnet werden,
senkrechte Kanten generiert:
Definition 7. Der (Kanten-)Tiefenwert T(K) eines P-Knotens K ist
die Anzahl der senkrechten Kanten, die dem Knoten bei der 3D-Vernetzung
zugeordnet wird.
Bemerkung 3.1. Sei K ein P-Knoten. Dann gilt: T(K)=Kt(K)-1.
Bei der 3D-Vernetzung können Elemente entstehen, die weder Hexaeder
noch Prismen oder Tetraeder darstellen. Solche Elemente entstehen aus PElementen mit unterschiedlichen Tiefenwerten der P-Knoten. Die Elemente müssen zerlegt werden und zur Einhaltung der Konformität des Netzes
müssen i.a. weitere Elemente zerlegt werden. Deswegen ist es sinnvoll, das
zu vernetzende P-Gebiet so in Regionen einzuteilen, daß solche Elemente
möglichst selten entstehen bzw. die dadurch entstehenden Zerlegungen kontrolliert werden können:
Definition 8. Eine (P-)Region auf der P-Ebene besteht aus einem überschneidungsfreien, geschlossenen Polygonzug mit seinem Inneren, bei dem
alle P-Knoten, die echt innerhalb des Polygonzugs eingesetzt werden, den
gleichen Knotentiefenwert erhalten.
3.3. NETZGENERIERUNG DURCH PROJEKTION
19
Definition 9. Es sei K die Menge der P-Knoten eines P-Elements E. Dann
ist der (Kanten-)Tiefenwert des P-Elements E definiert durch: T (E) =
maxK∈K (T (K)).
Definition 10. Es sei E die Menge der P-Elemente einer P-Region R. Dann
ist der (Kanten-)Tiefenwert der P-Region R definiert durch: T (R) =
maxE∈E (T (E)).
Definition 11. Die Kontur K(R) einer P-Region R ist der sie beschreibende Polygonzug.
Definition 12. Ein (P-)Randelement einer P-Region R ist ein P-Element
des generierten P-Netzes, von dem mindestens ein P-Knoten auf K(R) liegt.
Eine P-Region kann im Prinzip ähnlich einem Projektionsverfahren, auf
das das in Kapitel 2 beschriebene Sweepingverfahren basiert, vernetzt werden. Das Projektionsverfahren vernetzt zunächst eine Oberfläche des zu vernetzenden Objekts (z.B. eine Kreisoberfläche eines Zylinders) und erzeugt
daraus ein Volumennetz, wobei jedem Element der Oberfläche gleich viele
und gleichartige Volumen-Elemente zugeordnet werden. Diese Art der Vernetzung wird in die 2 1/2-D Vernetzung eingeordnet, worunter die in dieser
Arbeit dargestellte Vernetzung ebenfalls eingeordnet werden könnte. Da die
Problematik hier jedoch wesentlich größer ist, wird dieser Begriff hier nicht
verwendet.
Entscheidener Unterschied zum Projektionsverfahren bildet hier die 3DVernetzung der Randelemente, da die P-Knoten der Kontur i.a. nicht den
gleichen Tiefenwert wie die P-Knoten innerhalb der P-Region besitzen. Auf
die Zuordnung der Tiefenwerte für die P-Knoten, die auf einer Kontur liegen,
wird im ersten Abschnitt von Unterkapitel 4.1 genauer eingegangen.
Aus Randelementen können bei der 3D-Vernetzung zunächst die oben
erwähnten Elemente entstehen, die weder Hexaeder, Tetraeder noch Prismen darstellen. Diese Elemente sind nicht gänzlich zu vermeiden, werden
aber durch die Methode der Einteilung in P-Regionen relativ gering gehalten.
Die geringen Höhen-Breiten- und Höhen-Längen-Verhältnisse der zu vernetzenden Geometrie kommen dem Verfahren der P-Vernetzung entgegen, da
dadurch die Tiefenwerte relativ wenig schwanken. Insbesondere wird auch
die Vertikalbedingung durch das Verfahren eingehalten.
Nach der Zuordnung der Knoten und Kanten für jeden P-Knoten bei der
3D-Vernetzung der P-Region, können jedem P-Element 3D-Elemente zugeordnet werden.
20
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Definition 13. Die 3D-Elemente, die einem P-Element bei der 3D-Vernetzung zugeordnet werden, bilden einen Elementstapel (vergl. Abb. 3.8 a)).
5
5
4
4
Abbildung 3.8: Generierung eines Elementstapels
Ein Verfahren zur Generierung eines Elementstapels findet sich in Unterkapitel 4.1.
Zur Ermittlung von P-Regionen in einem P-Gebiet wurde das Verfahren
für die P-Generierung wie folgt erweitert: Auf dem digitalen Geländemodell
werden zunächst Höhenlinien“ als Polygonzüge erzeugt (vergl. Abb. 3.9).
”
Abbildung 3.9: Schnittpolygone (und Berandungspolygon) für das Wurmbeispiel
Höhenlinien sind bekannt als Schnitt eines Geländes mit Horizontalebenen, die auf bestimmten Höhen liegen. Die Höhenlinien teilen ein Gelände in
3.3. NETZGENERIERUNG DURCH PROJEKTION
21
disjunkte Regionen ein. Zwei Punkte, die in einer solchen Region liegen, weichen in ihrer Höhe somit nicht stark voneinander ab. Diese Eigenschaft soll
für die Erzeugung von P-Regionen übertragen werden: In einer P-Region (ohne Berücksichtigung von Verfeinerungsanforderungen) sollen die Differenzen
zwischen den höchsten und tiefsten Knoten, die den P-Knoten zugeordnet
werden, möglichst wenig differieren, weil den P-Knoten innerhalb einer PRegion der gleiche Tiefenwert zugeordnet werden soll. Außerdem sollen die
P-Regionen möglichst groß sein.
Der Schnitt mit Horizontalebenen ist deswegen zur Berechnung der Höhen”
linien“, die eine P-Region beschreiben, i.a. nicht sinnvoll, da das Gelände
meistens abfallend ist. Sie werden deswegen durch den Schnitt von Dreieckmodellen, die an geeigneten Stellen zwischen dem Geländemodell und dem
Dreieckmodell der Wasseroberfläche liegen, berechnet. Diese Höhendreieckmodelle werden wie folgt erzeugt:
Die gewünschte maximale Ebenenanzahl für das Netz wird von außen
vorgegeben bzw. mit Hilfe der gewünschten Gesamtanzahl der Elemente berechnet. Sie entspricht der Anzahl der Höhendreieckmodelle zuzüglich dem
Dreieckmodell der Wasseroberfläche.
Wie bereits erwähnt, sind die Projektionen auf die P-Ebene des Dreieckmodells für die Wasseroberfläche und des digitalen Geländemodells identisch.
Das bedeutet, daß jedem Knoten des Dreieckmodells der Wasseroberfläche
eindeutig ein Knoten des digitalen Geländemodells mit gleichen Horizontalkoordinaten zugeordnet werden kann. Direkt proportional zum Abstand zwischen einem Knoten des Dreieckmodells für die Wasseroberfläche und dem zugehörigen Knoten des digitalen Geländemodells werden zur Konstruktion der
Höhendreieckmodelle Knoten zwischen diese beiden Knoten in äquidistanten
Abständen mit gleichen Horizontalkoordinaten erzeugt (vergl. Abb.3.10).
Knoten der Wasseroberfläche
eingesetzte Knoten
Knoten des digital. Geländemodels
Abbildung 3.10: Erzeugung der Knoten für die Dreieckmodelle
Die direkt unterhalb der Knoten des Dreieckmodells für die Wasseroberfläche liegenden Knoten werden einem ersten Höhendreieckmodell zugeordnet, die darunterliegenden Knoten einem zweiten, usw. bis alle Knoten wenigstens einem Höhendreieckmodell zugeordnet sind. Existiert kein
22
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
i-ter Knoten unterhalb eines Knotens des Dreieckmodells der Wasseroberfläche, so wird dem i-ten Höhendreieckmodell an dieser Stelle der zugehörige
Knoten des digitalen Geländemodells zugeordnet. Zwischen den Knoten eines Höhendreieckmodells werden entsprechend dem digitalen Geländemodell
Kanten eingesetzt, so daß die Projektionen auf die P-Ebene aller Dreieckmodelle identisch sind. Die Erzeugung der Höhendreieckmodelle ist in Schema
3.20 im Kasten I(ii) b) berücksichtigt.
Definition 14. Der Schnitt eines Höhendreieckmodells oder des Dreieckmodells für die Wasseroberfläche mit dem digitalen Geländemodell heißt Höhenschnittpolygon.
Definition 15. Die Projektion eines Höhenschnittpolygons auf die P-Ebene
heißt Schnittpolygon.
Die Schnittpolygone sind aufgrund ihrer Konstruktion überschneidungsfrei und grenzen Gebiete ein, in denen die Differenzen zwischen den höchsten
und tiefsten Knoten, die den darin erzeugten P-Knoten zugeordnet würden,
möglichst wenig differieren. Die Erzeugung der Schnittpolygone ist in Schema 3.20 in Kasten II (i) festgehalten.
Vertikale Verfeinerungsanforderungen können nun ebenfalls in das Verfahren der P-Vernetzung integriert werden. Diese Bereiche können durch
Polygonzüge auf der P-Ebene beschrieben werden, da sie unabhängig von
der Vertikalrichtung sind.
Definition 16. Ein Verfeinerungspolygon ist ein Polygonzug, auf der PEbene, das einen Bereich auf der P-Ebene beschreibt, für dessen Knoten, die
nicht auf dem Verfeinerungspolygon liegen, eine Erhöhung des Tiefenwertes
stattfindet.
Eine Erhöhung des Tiefenwertes bewirkt bei der 3D-Vernetzung eine Verfeinerung in vertikaler Richtung. Detaillierter wird darauf im folgenden Unterkapitel 3.4 eingegangen.
Die Verfeinerungspolygone werden mit den Schnittpolygonen so aneinander angepaßt und zusammengefügt, daß P-Regionen entstehen (vergl. Unterkapitel 3.4). Es sei hier schon auf die Abbildungen 3.13) und 3.14) verwiesen.
Die Knoten, die einem P-Knoten zugeordnet werden, werden von oben
(Dreieckmodell für die Wasseroberfläche) nach unten (digitales Geländemodell) beginnend mit 0 durchnummeriert.
3.4. VERFEINERUNGSANFORDERUNGEN UND REGIONEN-ERZEUGUNG23
Definition 17. (vergl. Abb. 3.11)
Die i-te Knotenschicht (i ∈ IN0 ) eines 3D-Netzes für Fließgewässer besteht
aus allen Knoten mit Nummer i.
Sei K ein Knoten eines 3D-Netzes, dann ist S(K) die Knotenschicht, auf
der K liegt.
Zur i-ten (Element-)Schicht (i ∈ IN ) eines 3D-Netzes für Fließgewässer
gehören alle Elemente, die mindestens einen Knoten auf der i-ten Knotenschicht und keinen Knoten auf einer höheren Knotenschicht besitzen.
Sei E ein Element eines 3D-Netzes, dann ist S(E) die Elementschicht, auf
der E liegt.
0te Knotenschicht
1. Schicht
1te Knotenschicht
2. Schicht
2te Knotenschicht
Abbildung 3.11: Knoten- und Elementschichten
Lemma 3.1. Gegeben sei eine vernetzte P-Region R. Es gelte:
(*) ∀ P-Elemente E ∈ R gilt: ∃Ki mit Ki ist P-Knoten von E und Ki ∈
R\K(R) oder T(Ki )=T(R). (**) ∀ P-Knoten Kj ∈ K(R) gilt T (Kj ) ≤
T (R).
Dann gilt:
∀ P-Elemente E ∈ R gilt: T(E)=T(R).
Beweis. ∀ Knoten K ∈ R\K(R) gilt nach Definition 8: T(K)=T(R). ∀ PElemente E, die nicht Randelemente sind, gilt deswegen: T(E)=T(R).
Wegen (*) gilt: Jedes Randelement E besitzt wenigstens einen Knoten Ki , für
den gilt: T(Ki )=T(R). Wegen (**) gilt: Jedes Randelement E besitzt keinen
Knoten Kl , für den gilt: T (Kl ) ≥T(R). Daraus folgt: ∀ Randelemente E gilt:
T(E)=T(R).
3.4
Verfeinerungsanforderungen und RegionenErzeugung
Verfeinerungspolygone umgrenzen Bereiche auf der P-Ebene, in denen der
Tiefenwert erhöht werden soll. Dies führt bei der 3D-Vernetzung zu einer
24
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
(gewünschten) höheren Anzahl von Elementschichten in diesem Bereich. Verfeinerungspolygone sind entweder geschlossen oder sie beginnen und enden
auf dem Berandungspolygon (vergl. Abb. 3.12).
+1
*2
Verfeinerungsbereiche mit
Verfeinerungsgraden 1 und
Verdoppelung
Verfeinerungspolygon
Schnittpolygon
Abbildung 3.12: Verfeinerungspolygone und -bereiche
Definition 18. Der Verfeinerungsbereich Vb(P) zu einem Verfeinerungspolygon P, ist der (auf der P-Ebene liegende) Bereich, der von dem
Verfeinerungspolygon oder von dem Verfeinerungspolygon und einem Teil des
Berandungspolygons eingeschlossen wird (vergl. Abb. 3.12).
Definition 19. Ein Verfeinerungsgrad S(Vb(P)) eines Verfeinerungsbereichs Vb(P) ist eine Zahl z ∈ IN , die zum Tiefenwert jeden P-Knotens
K∈ V b(P )\P addiert wird (vergl. Abb. 3.12).
Ein Verfeinerungsfaktor F(Vb(P)) eines Verfeinerungsbereichs Vb(P) ist
eine Zahl z ∈ IN , die mit dem Tiefenwert jeden P-Knotens K ∈ V b(P )\P
multipliziert wird.
Bemerkung 3.2. Ein Verfeinerungsfaktor kann immer auch als Verfeinerungsgrad ausgedrückt werden, was im folgenden geschieht.
Von den Verfeinerungspolygonen wird vorausgesetzt, daß sie sich nicht
untereinander schneiden. Schnittpolygone und Verfeinerungspolygone sind
nicht notwendigerweise überschneidungsfrei (vergl. Abb. 3.13).
Durch die Schnitt- und Verfeinerungspolygone und das Berandungspolygon wird das zu vernetzende P-Gebiet bereits in bereichsdisjunkte zu vernetzende Bereiche mit folgenden Eigenschaften eingeteilt (vergl. Abb. 3.13):
Ein Bereich wird durch i.a. mehrere Teile verschiedener Polygonzüge beschrieben. Jeder solche Teil eines Polygonzuges besteht aus einer Folge von
P-Kanten und am Anfang und Ende evtl. aus einem Teil einer P-Kante.
3.4. VERFEINERUNGSANFORDERUNGEN UND REGIONEN-ERZEUGUNG25
1
2
1
3
2
1
3
2
2
0
0
2
3
4
2
1
4
3
6
8
1
4
2
2
2
6
2
1
Abbildung 3.13: Schnitt- und Verfeinerungspolygone (und Berandungspolygon) für das Wurmbeispiel
Die Teile der Polygonzüge werden nicht geschnitten. Innerhalb eines Bereichs können ein oder mehrere Löcher liegen. In einem Bereich erhalten die
P-Knoten im Inneren alle den gleichen Tiefenwert.
Aus diesen Bereichen sollen durch Anpassung der Teile der Polygonzüge
P-Regionen entstehen, die sich im Hinblick auf die spätere 3D-Vernetzung
sinnvoll P-vernetzen lassen (vergl. auch Schema 3.20 Kasten II (ii)). Dazu
müssen zunächst P-Knoten an den Schnitt- und Berührungspunkten zweier
Polygonzüge erzeugt werden.
Definition 20. Ein (induzierter) Schnittknoten entsteht auf einem Schnittoder Berührungspunkt zwischen einem Schnittpolygon und einem Verfeinerungspolygon oder zwischen dem Berandungspolygon und einem Verfeinerungspolygon oder zwischen einem Ein- oder Auslaufpolygon und einem Schnittpolygon oder einem Uferpolygon (vergl. Abb. 3.13 + 3.14)). Liegen zwei
Polygonteile aufeinander, so entsteht ein induzierter Schnittknoten bei der
ersten und bei der letzten Berührung der beiden Polygonteile.
Definition 21. Ein (induzierter) Polygonabschnitt ist ein Abschnitt
eines Schnittpolygons, eines Verfeinerungspolygons oder des Berandungspolygons, der von einem Schnittknoten bis zu einem nächsten Schnittknoten
verläuft, und die Schnittknoten und die dazu inszidenten P-Kanten nicht
enthält (vergl. Abb. 3.14).
26
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Definition 22. Drei aufeinanderfolgende P-Knoten eines Bereichs, deren
mittelster ein Schnittknoten ist, werden mit ihren beiden P-Kanten als Ecke
bezeichnet. Die anderen beiden P-Knoten heißen Seitenknoten/Anschlußknoten (der Ecke).
1
2
1
3
2
1
3
2
0
2
0
3
2
4
1
4
3
6
8
1
4
2
2
2
6
2
1
Abbildung 3.14: Anpassung der Polygone und Erzeugung von P-Regionen
für das Wurmbeispiel
Aus einem Bereich ist nach Erzeugung der Schnittknoten (Schema 3.20
Kasten II (ii) a)) eine P-Region entstanden:
Eine Anpassung für die später stattfindende P-Vernetzung erfolgt entlang
aller Polygonabschnitte und an den Schnittknoten (Dies wird in den Diplomarbeiten [Schu97] [Koen97] ausführlich beschrieben). Dabei werden vor allen
Dingen die Länge der P-Kanten und die Winkel zwischen ihnen im Hinblick
auf eine spätere 3D-Vernetzung angepaßt (Schema 3.20 Kasten II (ii) b) +
c)). Die Detektion der P-Regionen erfolgt anschließend (Schema 3.20 Kasten
II (ii) d)) (s. wiederum [Schu97] [Koen97]).
In Abb. 3.14 ist die Anpassung und Regionbildung für das Beispiel der
Wurm dargestellt. Es sind gleichzeitig die Tiefenwerte der P-Regionen dargestellt.
Es werden jetzt die wichtigsten Überlegungen und Schritte der Anpassung
kurz dargestellt (vergl. auch Abb. 3.13 und 3.14):
Bei der P-Vernetzung sollen möglichst viele P-Vierecke erzeugt werden um
daraus bei der 3D-Vernetzung Hexaeder erzeugen zu können. Die Korrektur
3.4. VERFEINERUNGSANFORDERUNGEN UND REGIONEN-ERZEUGUNG27
der Polygonabschnitte ist deswegen besonders für die Randelemente wichtig.
Die Lage und Größe der Konturkanten bestimmen die Größe und die Winkel
innerhalb der P-Elemente.
Eine Längenanpassung der P-Kanten an eine (Durchschnittskantenlänge, (DKL)) ist notwendig, weil die Elemente i.a. etwa gleich groß sein
sollen. Die DKL hängt von der gewünschten Gesamtanzahl der Elemente ab
und wird im voraus berechnet.
In Bereichen, in denen eine Verfeinerung in horizontaler Richtung stattfinden soll, kann die DKL entsprechend kleiner gewählt werden. Da die Größe
der Konturkanten die Größe der Elemente bestimmt, wird eine horizontale
Verfeinerung hierdurch impliziert. Dies wird z.B. in Abb. 3.14 für den Bereich
an der konkaven Biegung durchgeführt. Weitere Verfeinerungsanforderungen
in horizontaler Richtung können ggfs. mittels Verfahren zur Verfeinerung von
2D-Netzen [Geog91] durchgeführt werden. Allerdings müßten diese an das
in dieser Arbeit beschriebene Verfahren angepaßt werden!
Die Anpassung der Polygone kann durch einige - in der Praxis relativ
häufig auftretenden - Konstellationen der Polygone erschwert werden. Dazu
gehören z.B. schmale Regionen (vergl. [Schu97]) (s. Abb. 3.15 (i)). Sie
werden aus zwei (nicht auf dem Ein- oder Auslaufpolygon liegenden) Polygonteilen gebildet und sind dadurch gekennzeichnet, daß jeder P-Knoten des
einen Teils nahe bei (Abstand ungefähr DKL) wenigstens einem P-Knoten
des anderen Teils liegt. D.h. daß Teile der zugehörigen Polygone, die diese
Eigenschaft nicht erfüllen, nicht mehr zur schmalen Region gehören. Eine schmale Region kann auch durch den Schnitt seiner beiden Polygonteile
beendet werden: Die schmale Region endet dann vor dem Schnittknoten
und enthält keine P-Kante der zugehörigen Ecke. Besteht im Bereich des
Schnittknotens wenig Platz, so endet die schmale Region spätestens an einem P-Knoten, der zwei P-Kanten vom Schnittknoten entfernt ist. Eine
schmale Region ist meistens Teil einer oder mehrere P-Regionen.
Außerdem können Ausreißerregionen (vergl. [Schu97]) auftreten (s. Abb.
3.15 (ii)). Hier liegen zwei nichtbenachbarte P-Knoten eines Polygonabschnitts nahe beieinander, ohne daß die dazwischenliegenden nichtbenachbarten P-Knoten nahe beieinander liegen.
Ausreißerregionen werden nach Möglichkeit entfernt bzw., wenn dies nicht
zulässig ist, werden sie angepaßt. Detailliert wird dies in [Schu97] beschrieben. Die Anpassung der schmalen Regionen ist bereits Teil der P-Vernetzung,
da sie die Vernetzung impliziert. Trotz Integration von Verfeinerungsanforderungen kann sie vom Prinzip von [Schu97] übernommen werden.
Eine Anpassung von P-Kanten und P-Knoten der Polygonabschnitte erfordert eine Verschiebung von P-Knoten. Es sei daran erinnert, daß die PSchnittpolygone Projektionen der Schnittpolygone sind, die aus dem Schnitt
28
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
(i)
(ii)
Abbildung 3.15: (i) Schmale Region (ii) Ausreißerregion
eines Höhendreieckmodells mit dem digitalen Geländemodell entstehen. Eine Verschiebung eines P-Knotens auf einem P-Schnittpolygon führt somit
zu einer ungewollten Ungenauigkeit. Ein Fehlermaß für die Verschiebung eines P-Knotens bildet die Veränderung des Abstands zwischen dem jeweiligen
Knoten auf dem Dreieckmodell der Wasseroberfläche und dem Knoten auf
dem digitalen Geländemodell, die dem P-Knoten jeweils zugeordnet werden.
In Abhängigkeit dieses Fehlermaßes soll die Anpassung der Polygone stattfinden. Auf die Erzeugung von P-Regionen wird in [Schu97] [Yoan99] genauer
eingegangen.
Besitzen die zu einem Polygonabschnitt benachbarten P-Regionen den
gleichen Tiefenwert, so kann dieser Polygonabschnitt wegfallen und die zwei
P-Regionen werden zu einer P-Region. Dies geschieht z.B. mit einem Polygonabschnitt im Bereich der konkaven Biegung in Abb. 3.14. In diesem Fall werden aus den Schnittknoten am entfernten Polygonabschnitt jeweils P-Knoten
eines Polygonabschnitts und aus den benachbarten Polygonabschnitten an einem solchen (ursprünglichen) Schnittknoten jeweils ein Polygonabschnitt.
Zum besseren Verständnis der P-Vernetzung, die in den Kapiteln 4 und
5 tiefergehend beschrieben wird, werden zunächst die Konsequenzen der PVernetzung auf die 3D-Vernetzung untersucht.
3.5
Weitere Anforderungen und Probleme
Um die P-Vernetzung bezüglich der späteren 3D-Vernetzung zu optimieren,
müssen die Auswirkungen der P-Vernetzung auf die 3D-Vernetzung verdeutlicht werden.
Bei der Generierung eines Elementstapels aus einem P-Element soll die
Qualität der Elemente berücksichtigt werden. Die Qualität der P- oder 3DElemente eines Netzes läßt sich an den Winkeln zwischen ihren P-Kanten
3.5. WEITERE ANFORDERUNGEN UND PROBLEME
29
messen. Für Vierecke, ob als P-Element oder als Oberfläche eines 3DElements, gilt:
Definition 23. Ein Viereck heißt gut, wenn für seine vier Winkel αi (i ∈
1,...,4) gilt: 90◦ -ω ≤ αi ≤90◦ +ω. Dabei ist ω ein von außen festzusetzendes
Maß.
Analog gilt für Dreiecke:
Definition 24. Ein Dreieck heißt gut, wenn für seine drei Winkel αi (i ∈
1,...,3) gilt: 60◦ -ω ≤ αi ≤60◦ +ω. Dabei ist ω ein von außen festzusetzendes
Maß.
Die Definition von guten Dreiecken und Vierecken impliziert eine möglichst
geringe Abweichung der Längen der P-Kanten der Elemente voneinander.
Dies ist insbesondere für die P-Vernetzung sinnvoll, da durch die abweichenden Längen sonst leicht P-Elemente entstehen, die zu stark in ihrer Größe
voneinander abweichen.
Die Qualität der Oberflächendreiecke und -vierecke der Volumenelemente
ist abhängig von der Art wie die Knoten bei der Generierung eines Elementstapels miteinander verbunden werden. Unter der Voraussetzung, daß die
Knoten einer Knotenschicht in ihrer Z-Koordinate nur gering voneinander
abweichen gilt:
Je mehr Kanten zwischen verschiedenen Knotenschichten generiert werden und je höher die Differenz zwischen diesen Knotenschichten ist, desto
schlechter werden i.a. die Oberflächenvierecke und -dreiecke des Elementstapels. Denn solche Kanten schließen mit den senkrechten Kanten Winkel ein,
die stark von 90◦ abweichen (vergl. Abb. 3.16 a)). Unter anderem wird deswegen folgende Forderung aufgestellt:
Forderung 3.1. (Schichtforderung) Die Anzahl der Kanten im Elementstapel zwischen zwei Knoten, deren zugehörige P-Knoten benachbart sind und
die auf verschiedenen Knotenschichten liegen, sowie deren Knotenschichtabstände sind zu minimieren.
Im Elementstapel von Abb. 3.16 a) existieren wesentlich mehr der in der
Schichtforderung benannten und zu vermeidenden Kanten als im Elementstapel von Abb. 3.16 b), bei dem die Schichtforderung eingehalten wurde.
Ein weiterer, besonders entscheidender Vorteil der Schichtforderung wird
im folgenden deutlich.
30
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
(a)
(b)
Abbildung 3.16: Seitenansicht eines Elementstapels
Im Beweis von Lemma 3.1 wurde bereits deutlich, daß die Tiefenwerte der
P-Knoten eines P-Elements nur bei Randelementen, also P-Elementen, die
mit wenigstens einem P-Knoten auf der Kontur der zugehörigen P-Region
liegen, unterschiedlich sein können. Aus einigen solcher P-Elemente können
wie bereits erwähnt bei der 3D-Vernetzung nicht ausschließlich Hexaeder,
Prismen und/oder Tetraeder erzeugt werden.
Definition 25. Ein 3D-Element, das aus einem P-Element entsteht und weder ein Hexaeder noch ein Prisma noch ein Tetraeder darstellt, heißt NHPTElement (NichtHexaederPrismaTetraeder).
Definition 26. Ein P-Element, aus dem unter Einhaltung der Schichtforderung (wenigstens) ein NHPT-Element entstehen muß, heißt Konfliktelement.
Definition 27. Ein Konfliktlayer Kl(KE) eines Konfliktelements KE gibt
eine Elementschicht an, auf der sich ein NHPT-Element des Elementstapels
des Konfliktelements befindet.
Ein Konfliktelement kann mehrere Konfliktlayer besitzen.
Definition 28. Ein Konfliktelement, das ein P-Viereck ist, heißt Konfliktviereck.
Definition 29. Ein Konfliktelement, das ein P-Dreieck ist, heißt Konfliktdreieck.
Wegen der Einhaltung der Konformitätsbedingung (vergl. S. 11 und dort
auch Abb. 3.1) müssen ggfs. benachbarte Elemente von bereits zerlegten Elementen ebenfalls zerlegt werden. Dies ist z.B. immer dann der Fall, wenn ein
3.5. WEITERE ANFORDERUNGEN UND PROBLEME
31
Oberflächenviereck und zwei Oberflächendreiecke zweier 3D-Elemente aneinanderstoßen (Abb. 3.17 a)). Dadurch wird die Zerlegung des Elements, zu
dem das Oberflächenviereck gehört, (in der am Beispiel 3.17 b) dargestellten
Weise) erforderlich.
a)
b)
Abbildung 3.17: Zerlegung eines benachbarten Elements
Eine solche Zerlegung ist nur möglich, wenn mindestens eine weitere Oberflächenseite des neu zu zerlegenden Elements zerlegt wird. Bei Hexaedern
genügt die Zerlegung der gegenüberliegenden Viereckoberfläche, sofern keine
weitere Viereckoberfläche zerlegt werden muß (Es entstehen zwei Prismen).
Bei Prismen müssen alle drei Viereckoberflächen zerlegt werden (vergl. auch
Lemma 4.2 Seite 45 und Folgerung 4.2 Seite 48). Grenzt eine neu zerlegte Oberflächenseite wiederum an eine nichtzerlegte Oberfläche eines weiteren Elements, so muß hier wieder eine entsprechende Zerlegung stattfinden.
Dieser Zerlegungszwang kann sich fortsetzen und zu vielen zu zerlegenden
Volumenelementen führen!
Durch die Einhaltung der Schichtforderung wird gewährleistet, daß NHPTElemente nur auf den jeweils tiefer gelegenen Schichten entstehen und Zerlegungen damit besser zu kontrollieren sind, als wenn sie auf beliebigen Schichten entstehen!
Es ist möglich, daß eine Zerlegung auf ein Hexaeder trifft, das an die
Ein- oder Auslaufebene grenzt und dort endet. Das P-Viereck, aus dem ein
solches Hexaeder entstanden ist, heißt Ein- bzw. Auslaufviereck .
Zerlegungen, die sich im 3D-Netz fortsetzen, können auch im zugehörigen
P-Netz dargestellt werden. Einige Begriffe dazu werden als Vorbereitung zur
P-Vernetzung bereits hier definiert.
Definition 30. Die P-Elemente, die zu einer Zerlegung gehören, die (bei
Betrachtung auf der P-Ebene) von einem Konfliktviereck, einem Ein- oder
Auslaufviereck oder einem P-Dreieck zu einem nächstgelegenen Konfliktviereck, einem Ein- oder Auslaufviereck oder P-Dreieck verläuft, bilden einen
32
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
(primitiven) (P-)Zerlegungspfad (vergl. Abb. 3.18). Die Anzahl seiner
Vierecke (außer Ein- und Auslaufvierecke und Konfliktvierecke) beschreibt
seine Länge.
Definition 31. Die zu zerlegenden Elemente einer Elementschicht, die bei
der 3D-Vernetzung aus einem Zerlegungspfad entstehen, bilden einen 3DZerlegungspfad zum P-Zerlegungspfad (vergl. Abb. 3.18).
Bemerkung 3.3. Ein P-Zerlegungspfad kann auch die Länge null besitzen,
wenn z.B. zwei P-Dreiecke direkt benachbart sind.
Definition 32. Ein Zerlegungslayer Zl(E) eines P-Elements E eines Zerlegungspfades gibt eine Elementschicht an, auf der ein Element, das bei der
3D-Vernetzung aus E entsteht, zerlegt werden muß. (vergl. Abb. 3.18)
Definition 33. Ein Zerlegungslayer Zl(ZP) eines Zerlegungspfades ZP
gibt eine Elementschicht an, auf der die Elemente, die aus dem Zerlegungspfad bei der 3D-Vernetzung entstehen, zerlegt werden müssen. (vergl. Abb. 3.18)
Ein Zerlegungspfad und ein P-Element können mehrere Zerlegungslayer
besitzen. Zwischen dem Beginn und dem Ende eines Zerlegungspfades liegen
ausschließlich P-Vierecke.
Zerlegungsvierecke des
P-Zerlegungspfades ZP
3D-Zerlegungspfad
Konfliktelemente K1 und K2
Abbildung 3.18: P-Zerlegungspfad ZP und Konfliktelemente K1 und K2 mit
Zl(ZP)=Zl(K1)=Zl(K2)=2
Definition 34. Ein P-Viereck eines Zerlegungspfades, das nicht Konfliktelement und Ein- oder Auslaufviereck ist, heißt Zerlegungsviereck.(vergl.
Abb. 3.18)
Konfliktelemente stellen immer Randelemente dar. Zerlegungspfade werden ausschließlich durch Konfliktelemente erzeugt. Die Anpassung der Polygonzüge [Schu97] [Yoan99] geschieht hauptsächlich zur Vermeidung von
3.6. ZUSAMMENFASSUNG UND LÖSUNGSSCHEMA
33
Konfliktelementen und damit auch Zerlegungsvierecken.
Bei der Generierung des 3D-Netzes aus dem P-Netz entsteht zunächst ein
Netz, das neben Hexaedern, Prismen und Tetraedern auch NHPT-Elemente
enthält.
Definition 35. Das Erstnetz ist das 3D-Netz, das aus einem P-Netz entsteht, ohne daß Elemente im 3D-Netz zerlegt werden.
Die Erzeugung eines Erstnetzes bildet den ersten Schritt der 3D-Vernetzung (vergl. Schema 3.20 Kasten IV a)). Die Zerlegung der zu zerlegenden
Elemente schließt die 3D-Vernetzung und damit auch die gesamte Vernetzung ab (vergl. Schema 3.20 Kasten IV b)). Ein Verfahren zur optimierten
Zerlegung (die Art und Richtung der Zerlegung muß für jedes zu zerlegende
Element bestimmt werden) der zu zerlegenden Elemente wird in Kapitel 6
beschrieben.
Nach den Def. 30 und 31 gilt:
Lemma 3.2. Alle zu zerlegenden Elemente eines Erstnetzes liegen in einem
3D-Zerlegungspfad bzw. spiegeln sich in einem P-Zerlegungspfad wieder.
Zusammenfassung:
Bei der P-Vernetzung soll zum einen bereits die Qualität der 3D-Elemente
berücksichtigt werden. Zum anderen sollen insbesondere Konfliktelemente
und Zerlegungsvierecke vermieden werden, damit im Erstnetz möglichst wenig NHPT-Elemente und Zerlegungsvierecke und im fertig generierten Netz
möglichst wenig Tetraeder und Prismen entstehen. Dies ist die Hauptaufgabe
der vorliegenden Arbeit.
3.6
Zusammenfassung und Lösungsschema
Zusammenfassend wird in diesem Abschnitt noch mal kurz auf das Lösungsschema eingegangen. Die grundlegenden Schritte sind im linken Block von
Schema 3.20 dargestellt.
Kasten I: Erzeugung der Dreieckmodelle:
Kasten I(i): Für die Generierung des digitalen Geländemodells werden
die Knoten auf den Querprofilen eingelesen. Durch Interpolation auf den
Querprofilen und zwischen den Querprofilen mit kubischen Splines werden
zwischen je zwei Querprofilen Punkte erzeugt. Nach der Ausdünnung dieser
34
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
Punkte entsteht ein digitales Geländemodell durch Delaunaytriangulierung.
Genauer ist das Verfahren in der Diplomarbeit von Oliver Könen beschrieben
[Koen97].
Kasten I(ii): Nachdem das digitale Geländemodell generiert wurde, werden auf die Knoten die Wasseroberflächendaten interpoliert und die Höhendreieckmodelle erzeugt.
Kasten II: Vorbereitung der P-Vernetzung:
Kasten II(i): Anschließend werden die Schnittpolygone durch Schnitt der
Dreieckmodelle mit dem digitalen Geländemodell generiert. Da die Knoten
eines Dreieckmodells und des digitalen Geländemodells in vertikaler Richtung übereinander liegen, werden die Schnittpolygone durch die Analyse je
zweier übereinanderliegender Dreiecke gefunden. Diese haben entweder keinen Schnitt(Abb. 3.19 (i)), oder sie schneiden sich in einer Strecke ((Schnitt)kante)(Abb. 3.19 (ii)+(ii)), oder sie haben einen gemeinsamen Knoten (Abb.
3.19 (iv)). Alle (Schnitt-)kanten aller Dreiecke bilden zusammen die Schnittpolygone.
(i)
(ii)
(iii)
(iv)
Abbildung 3.19: Mögliche Schnitte und Berührungen zweier übereinanderliegender Dreiecke
Kasten II(ii): Die Schnittpolygone werden schließlich mit den Verfeinerungspolygonen zu P-Regionen zusammengefaßt. Vorher wird sowohl eine Längennormierung der P-Kanten als auch eine Glättung der P-Kanten
durch Optimierung der Winkel unter Berücksichtigung der Abweichung der
ursprünglichen Höhe durchgeführt. Dabei müssen insbesondere die Ecken,
also die Schnittknoten, möglichst gut angepaßt werden, da hier besonders
schnell Konfliktelemente entstehen können. Eine detailliertere Beschreibung
findet sich in den Diplomarbeiten [Schu97] [Yoan99].
Kasten III: P-Vernetzung
Schließlich muß die eigentliche Vernetzung durchgeführt werden. Dabei
besteht die Hauptarbeit in der Generierung des P-Netzes, da dadurch das
3.6. ZUSAMMENFASSUNG UND LÖSUNGSSCHEMA
35
3D-Netz weitestgehend beschrieben ist. Die P-Vernetzung ist hauptsächliches Thema der Kapitel 4 und 5. Es sei hier schon auf das genauere Schema
4.31 in Unterkapitel 4.2.4 hingewiesen, daß eine detailliertere Auflistung der
Aufgaben der P-Vernetzung darstellt und damit 3.20 ergänzt.
Kasten IV: 3D-Vernetzung
Kasten IV a): Anschließend werden zur Erzeugung des 3D-Netzes den
P-Elementen 3D-Elemente zugeordnet (Erzeugung eines Erstnetzes, vergl.
Unterkapitel 4.1.1).
Kasten IV b): Für die zu zerlegenden Elemente muß eine Zerlegungsrichtung bestimmt werden. Es entsteht ein Optimierungsproblem. Die im
Rahmen dieser Dissertation hierzu entwickelten Algorithmen finden sich in
Kapitel 6.
36
KAPITEL 3. AUFGABENSTELLUNG UND LÖSUNGSKONZEPT
a)
(i)
Generierung eines
digitalen
Geländemodells
I
Ermittlung eines
Dreieckmodells für
die Wasseroberfläche
und Erzeugung der
Höhendreieckmodelle
Generierung der
Schnittpolygone
II
Anpassung aller
Polygonabschnitte
und Erzeugung von
Regionen
III
P-Vernetzung
IV
3D-Vernetzung
Einlesen von
Querprofilen
b)
Erzeugung von
Knoten zwischen
den Querprofilen
mit Hilfe von
kubischen Splines
c)
Ausdünnen der
Knoten
d)
DelaunayTriangulierung
über die Knoten
Interpolation der
Wasseroberflächendaten auf die Knoa) ten des digitalen
Geländemodells
Erzeugung der
b) Höhendreieckmodelle
(ii)
(i)
Generierung der
Schnittpolygone
durch Schnitt der
Höhendreieckmodelle
mit dem digitalen
Geländemodell
a)
(ii)
Kombination der
Verfeinerungspolygone und
Schnittpolygone
b)
Anpassung der
Schnittknoten
c)
Normierung und
Glättung der
Polygonabschnitte
d)
Detektion der
Regionen
P-Vernetzung
a)
Erzeugung eines
Erstnetzes
b)
Zerlegung der zu
zerlegenden Elemente
Abbildung 3.20:
Kapitel 4
Die P-Vernetzung: Probleme
und Aufgaben
Bei der P-Vernetzung ist es wichtig, Konfliktelemente zu vermeiden und die
Bereiche einer P-Region, in denen sie entstehen können, genau zu lokalisieren. Durch eine kontrollierte Vernetzung solcher Bereiche kann die Anzahl
der Konfliktelemente reduziert werden. Die von den Konfliktelementen ausgehenden Zerlegungspfade sollen möglichst kurz sein, damit möglichst wenige Zerlegungselemente (P-Elemente, aus denen bei der 3D-Vernetzung zu
zerlegende Elemente entstehen) generiert werden müssen. Dies erfordert eine
ebenfalls kontrollierte Generierung der Zerlegungspfade.
Damit die Kontrolle und somit eine Reduzierung von Konflikt- und Zerlegungselementen gewährleistet werden kann, werden im ersten Unterkapitel
4.1 Algorithmen vorgestellt, mit deren Hilfe einfache Kriterien zur Detektion
von Konfliktelementen gefunden wurden. Gleichzeitig dienen diese Algorithmen zur Erzeugung eines Elementstapels und eines konformen Erstnetzes.
In Unterkapitel 4.2 werden die Bereiche, in denen Konfliktelemente entstehen können, diskutiert. Im letzten Abschnitt dieses Unterkapitels ist eine
Übersicht (Schema 4.31) der Reihenfolge der P-Vernetzung dargestellt, die
die Bereiche, in denen Konfliktelemente entstehen können, sinnvoll berücksichtigt. Details der P-Vernetzung werden anschließend in Kapitel 5 behandelt.
Kapitel 6 beschreibt schließlich eine Lösung zur Erzeugung eines gültigen
Netzes aus dem Erstnetz: Die zu zerlegenden Elemente müssen sinnvoll zerlegt werden.
Alle Lösungen wurden im Rahmen dieser Dissertation entwickelt.
37
38 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
4.1
Konfliktelemente und deren Auswirkungen
In diesem Unterkapitel wird zuerst eine Strategie zur Zuweisung von Tiefenwerten für P-Knoten auf Polygonabschnitten diskutiert. Die Definition
der P-Region (Def. 8, Seite 18) legt nur die Tiefenwerte der P-Knoten, die
echt innerhalb liegen fest. Es stellt sich heraus, daß es sinnvoll ist von allen
benachbarten P-Regionen den jeweils kleinsten Tiefenwert für den P-Knoten
einer Kontur zu wählen.
4.1.1
Zuordnung der Tiefenwerte
Die erzeugten P-Regionen bilden zusammen ein Polygonnetz (vergl. Abb. 3.14).
Das bedeutet, daß ein Polygonabschnitt einer P-Region gleichzeitig ein Polygonabschnitt einer anderen P-Region sein kann. Schnittknoten grenzen an
mehrere P-Regionen.
Nach Definition der P-Regionen erhalten alle P-Knoten innerhalb einer
P-Region den gleichen Tiefenwert. Es bleibt die Frage, welchen Tiefenwert
den P-Knoten auf den Konturen zugeordnet werden. Diese P-Knoten können
in folgende Typen unterteilt werden (vergl. Abb. 3.14):
a) P-Knoten auf Polygonabschnitten, die zwei P-Regionen voneinander trennen
b) Schnittknoten außerhalb des Berandungspolygons
c) P-Knoten auf dem Berandungspolygon.
Im folgenden wird für alle Typen diskutiert, welche Zuordnung die sinnvollste ist.
a) P-Knoten auf Polygonabschnitten, die zwei P-Regionen voneinander trennen:
Besitzen die P-Regionen den gleichen Tiefenwert, so ist die Lösung einfach: Der Polygonabschnitt erhält ebenfalls den gleichen Tiefenwert.
Seien A und B die beiden P-Regionen, die durch einen Polygonabschnitt
getrennt werden. Sei a der Tiefenwert von P-Region A und b der Tiefenwert
von P-Region B und a<b. Dann gibt es mehrere Möglichkeiten den P-Knoten
auf dem trennenden Polygonabschnitt Tiefenwerte zuzuordnen, von denen
hier einige nicht notwendigerweise disjunkte aufgezählt sind:
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
(1)
(2)
(3)
(4)
(5)
39
Wahl des kleinsten Tiefenwertes a.
Wahl des größten Tiefenwertes b.
Beliebig einer von beiden.
Ein zwischen a und b liegender Wert, falls a+1<b.
Ein Mittelwert beider falls a+1<b.
Dabei sollen im folgenden die Auswirkungen der Wahl bezüglich des Endresultats betrachtet werden.
Nach Lemma 3.1 Seite 23 ist die gewünschte Sicherstellung des gleichen
Tiefenwertes aller P-Elemente einer P-Region nur dann gewährleistet, wenn
die P-Knoten der Kontur den gleichen oder einen kleineren Tiefenwert als die
P-Region erhalten. Dadurch kann die Anzahl der Elementschichten bereits
vor der P-Vernetzung in jeder P-Region genau bestimmt werden. Insbesondere erscheint dies auch für eine erwünschte Verfeinerung sinnvoll.
Eine genaue Eingrenzung von Gebieten bezüglich der Anzahl ihrer Schichten ist dann nur durch die Wahl des kleinsten Tiefenwerts (Fall (1)) für die
P-Knoten der Polygonabschnitte möglich.
Lemma 4.9 Seite 61 bestärkt diese Entscheidung über die Richtung eines
Zerlegungspfades. Denn: Wird für den Tiefenwert auf der Kontur jeweils
der kleinste Tiefenwert gewählt (Fall (1)), so kann so vernetzt werden, daß
alle Zerlegungspfade bei der P-Vernetzung in die P-Region hinein zeigen.
Dies hat den Vorteil, daß bei geeigneter Vernetzung keine Zerlegungspfade
über die Kontur hinweg verlaufen können was die Vernetzung übersichtlicher
macht. Wird dagegen einer der Fälle (2)-(5) gewählt, so ist dies nicht mehr
gewährleistet.
Die Wahl des kleinsten Tiefenwerts entspricht außerdem der Erzeugung
der Schnittpolygone durch Schnitt der Höhendreieckmodelle und des digitalen Geländemodells.
b) Schnittknoten außerhalb des Berandungspolygons:
Für Schnittknoten ist die Anzahl der Tiefenwerte, aus denen eine Wahl getroffen werden kann, größer, da wenigstens drei P-Regionen an einem Schnittknoten anliegen. Die anliegenden Polygonabschnitte liegen nicht auf dem
Berandungspolygon, da der Schnittknoten nicht auf dem Berandungspolygon liegt. Deswegen wird, analog wie im oben beschriebenen Fall, wegen des
gewünschten einheitlichen Tiefenwertes pro P-Region und zur besseren Kontrolle der Zerlegungspfade das Minimum der Zerlegungslayer der anliegenden
P-Regionen gewählt.
c) P-Knoten auf dem Berandungspolygon:
P-Knoten auf den Uferpolygonen erhalten den Tiefenwert null, da die
40 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
zugordneten Knoten auf den Dreieckmodellen für Wasseroberflächen und
Gelände identisch sind, also zwischen ihnen keine Differenz entsteht und
damit an dieser Stelle die Anzahl der Schichten des zu generierenden Volumennetzes null ist. Eingesetzte P-Knoten auf dem Ein- und Auslaufpolygon erhalten den Tiefenwert der P-Region, in der sie liegen. Schnittknoten
auf dem Ein- oder Auslaufpolygon erhalten den Tiefenwert der P-Knoten
des angrenzenden Polygonabschnitts, der nicht auf dem Ein- oder Auslaufpolygon liegt. Die Tiefenwertzuordnung der P-Knoten auf dem Ein- oder
Auslaufpolygon begründet sich durch eine gedankliche sinnvolle Fortsetzung
der Tiefenwertzuordnung für die an den Ein- und Auslaufpolygonen angrenzenden nicht zu vernetzenden Bereiche. Abb. 4.1 zeigt ein Beispiel für die
Tiefenwertzuordnung an einem Ein- oder Auslaufpolygon.
0
0
0
1
1
1
0
2
1
2
1
1
1 0
2
2
1
1
1
0
1
0
0
Abbildung 4.1: Zuordnung der Tiefenwerte an den Querprofilen
Abb. 4.2 zeigt die Tiefenwertzuordnung für einen Teilausschnitt des Wurmbeispiels (vergl. dazu auch Tiefenwertzuordnung in Abb. 3.14).
Durch die Wahl der Tiefenwerte entstehen P-Kanten mit P-Knoten unterschiedlicher Tiefenwerte nur an Schnittknoten!
4.1.2
Konfliktelemente
Das Hauptproblem bei der Vernetzung stellen Konfliktelemente dar. Sie verursachen i.a. Zerlegungsvierecke, die bei unkontrollierter Vernetzung zu einem
P-Netz mit vielen Zerlegungsvierecken bzw. zu einem 3D-Netz mit vielen Tetraedern und Prismen führen kann. Zur Vermeidung von Konfliktelementen
werden in diesem Unterkapitel zunächst einfache Kriterien zu ihrer Detektion
mittels Tiefenwerte ihrer P-Knoten ermittelt.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
41
2
3
2
2
2
2
2
2
2
2
2
1
2
2
2
2 1
0
3
2
2
2
1
0
2
0
0
0
0
0
1
0
0
0
0
2
2
2
2 2
2
1
1
0
1
1
0
0
0
2
1
2 2
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
0
0
2
2
2
0
2 2
2
3 3
2 3
2
2
2
2
2
2
2
2
2 2
3
0
2
3 3
4
3 3
3
Abbildung 4.2: Zuordnung der Tiefenwerte für die P-Knoten für einen Teilausschnitt des Wurmbeispiels
Definition 36. Ein P-Element E heißt uniform, wenn ∀ K mit K ist PKnoten von E gilt: T(K)=t und t ∈ IN ist fest.
Definition 37. Ein P-Element E heißt heteroform, wenn ∃Ki und Kj mit
Ki , Kj sind P-Knoten von E, für die gilt: T(Ki )=T(Kj ) und Ki 6= Kj .
Die folgenden Aussagen, deren Inhalt bereits in Kapitel 3 angesprochen
wurde, geben notwendige Eigenschaften der Konfliktelemente an.
Lemma 4.1. Konfliktelemente sind heteroform.
Beweis. Aus P-Vierecken, deren P-Knoten alle den gleichen Tiefenwert t
besitzen, können t Hexaeder im Erstnetz erzeugt werden. Aus P-Dreiecken,
deren P-Knoten alle den gleichen Tiefenwert t besitzen, können t Prismen
im Erstnetz erzeugt werden. Nach Definition eines Konfliktelements gehören
damit solche P-Elemente nicht zu den Konfliktelementen.
Folgerung 4.1. Ein Konfliktelement muß mit mindestens einem P-Knoten
auf der Kontur liegen.
42 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Beweis. P-Elemente, die mit keinem P-Knoten auf einer Kontur liegen, liegen innerhalb einer P-Region und besitzen für alle P-Knoten den gleichen
Tiefenwert.
Wegen Lemma 4.1 werden heteroforme P-Elemente im folgenden als Konfliktelementkandidaten (Konfliktviereckkandidat, Konfliktdreieckkandidat) genauer untersucht. Dabei wird nach der Anzahl der auf der
Kontur liegenden P-Knoten unterschieden. Es werden auch diejenigen Fälle
diskutiert, bei denen ein P-Element mit allen P-Knoten auf der Kontur liegt.
Durch solche P-Elemente wird allerdings Bedingung (*) aus Lemma 3.1 verletzt. Trotzdem sollen solche Fälle behandelt werden, da solche P-Elemente
zur Vermeidung weiterer Konfliktelemente und Zerlegungsvierecke im Ausnahmefall erlaubt sein sollen.
t1
t2
t1
t2
t3
(i)
(ii)
t2
t1
t3
(iii)
t2
Abbildung 4.3: Konfliktdreieckkandidaten
t1
t1
t2
(i)
t2
t3
(ii)
t1
t3
(iii)
t3
t2
t2
t1
t3
t2
t4
t1
(iv)
t3
t4
(v)
Abbildung 4.4: Konfliktviereckkandidaten
In Abb. 4.3 sind alle Konfliktdreieckkandidaten und in Abb. 4.4 alle Konfliktviereckkandidaten dargestellt (Es gilt jeweils t1 , t2 , t3 , t4 ∈ IN ). Die PKnoten der P-Elemente, die als ausgefüllte Kreise gezeichnet sind, liegen auf
der Kontur, die anderen (der Übersichtlichkeit halber weggelassen) liegen im
Inneren der P-Region. Die P-Knoten im Inneren der P-Region haben jeweils
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
43
gleichen Tiefenwert. Die P-Knoten auf der Kontur können unterschiedliche
Tiefenwerte dazu und untereinander besitzen.
Nach der Untersuchung der Konfliktelementkandidaten stellt sich heraus,
daß es sinnvoll ist, für die Vernetzung als Konfliktelemente ausschließlich
Konfliktdreiecke zu generieren.
4.1.3
Konfliktvierecke
In diesem Abschnitt wird ein Algorithmus zur Erzeugung von Elementstapeln
aus P-Vierecken unter Einhaltung der Schichtforderung (Seite 29) vorgestellt.
Mit Hilfe dieses Verfahrens werden anschließend aus den Konfliktviereckkandidaten die echten Konfliktvierecke detektiert. Es stellt sich heraus, daß von
den Konfliktviereckkandidaten nur diejenigen keine Konfliktvierecke sind, die
zwei benachbarte P-Knotenpaare mit jeweils gleichen Tiefenwerten besitzen.
Der erste Schritt zur Erzeugung von Elementstapeln aus P-Elementen ist
die Zuordnung von Knoten an die P-Knoten, was in Kapitel 3 Seite 18 bereits
beschrieben wurde.
Es wird nun die Erzeugung einzelner Volumenelemente erklärt:
Ausgehend von den Knoten, die den P-Knoten eines P-Vierecks zugeordnet wurden, werden zur Erzeugung eines Hexaeders den vier zugehörigen Knoten einer Knotenschicht die entsprechenden vier Knoten der nächst
höheren Knotenschicht (falls vorhanden) zugeordnet. Liegen Knoten der betrachteten Knotenschicht bereits auf dem digitalen Geländemodell (unterhalb des digitalen Geländemodells liegen keine Knoten), entstehen andere
Elemente durch Zuordnung von jeweils weniger Knoten (vergl. Abb. 4.5).
Solche Elemente können in einem Elementstapel mehrfach untereinanderliegen.
Die Verbindung der Knoten miteinander zur Erzeugung der Elemente
findet so statt, daß die Oberflächen der Elemente ausschließlich aus Dreiund Vierecken bestehen. Alle Knoten eines Elements, die der höheren Knotenschicht angehören (tieferliegende Knoten) sind zu beiden Seiten mit dem
jeweiligen Nachbarknoten der höheren Knotenschicht verbunden. Entsprechendes gilt für die Knoten auf der tieferen Knotenschicht (höher gelegene
Knoten). Auf diese Weise können die folgenden Elemente entstehen:
Definition 38. Ein 3-4-Element ist ein 3D-Element, das aus einem PViereck entsteht der Art, daß genau dreien der vier P-Knoten des P-Vierecks
44 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
(i)
(ii)
(iii)
(iv)
Abbildung 4.5: *-4-Elemente und W-Prisma
zwei Knoten und genau einem der vier P-Knoten des P-Vierecks ein Knoten
zugeordnet wird (vergl. Abb. 4.5 (i)).
Definition 39. Ein 2-4-Element ist ein 3D-Element, das aus einem PViereck entsteht der Art, daß genau zwei gegenüberliegenden der vier PKnoten des P-Vierecks zwei Knoten und den beiden anderen der vier PKnoten des P-Vierecks ein Knoten zugeordnet wird (vergl. Abb. 4.5 (iii)).
Definition 40. Ein 1-4-Element ist ein 3D-Element, das aus einem PViereck entsteht der Art, daß genau einem der vier P-Knoten des P-Vierecks
zwei Knoten und genau dreien der vier P-Knoten des P-Vierecks ein Knoten
zugeordnet wird (vergl. Abb. 4.5 (iv)).
Definition 41. Ein W-Prisma (Waagerecht-Prisma) ist ein 3D-Element,
das aus einem P-Viereck entsteht der Art, daß genau zwei benachbarten der
vier P-Knoten des P-Vierecks zwei Knoten und den beiden anderen P-Knoten
des P-Vierecks ein Knoten zugeordnet wird (vergl. Abb. 4.5 (ii)).
Definition 42. Ein *-4-Element ist ein 1-4-, 2-4- oder 3-4-Element.
Bemerkung 4.1. Der Elementstapel zu einem P-Viereck kann so generiert
werden, daß er ausschließlich aus Hexaedern, W-Prismen und/oder *-4Elementen besteht.
*-4-Elemente sind NHPT-Elemente (Def. 25, S. 30).
Es soll nun kurz diskutiert werden, welche Auswirkungen *-4-Elemente
auf die Zerlegung von weiteren Elementen haben. Daraus werden Konsequenzen für den Umgang mit Konfliktvierecken gezogen.
Wie bereits in Unterkapitel 3.5 erwähnt wurde, müssen NHPT-Elemente
zerlegt werden, wodurch ggfs. eine Zerlegung benachbarter Elemente nötig
wird. Es wird nun für *-4-Elemente untersucht, wie diese Elemente in gültige
Elemente zerlegt werden können und in welche Richtungen dadurch Zerlegungen notwendig werden. Insbesondere geschieht dies im Hinblick auf eine
Zerlegung in senkrechte Richtung, d.h. des gesamten Elementstapels.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
45
Lemma 4.2.
1. Die Zerlegung eines *-4-Elements in die größten erlaubten Elementtypen erfordert die Zerlegung aller Viereckoberflächen in Dreiecke.
2. Die Zerlegung eines Prismas in Tetraeder erfordert die Zerlegung aller
Viereckoberflächen in Dreiecke.
3. Die Zerlegung eines Hexaeders in die größten erlaubten Elementtypen
erfordert wenigstens die Zerlegung zweier gegenüberliegender Viereckoberflächen in Dreiecke.
Beweis.
1. Die Behauptung wird nacheinander für alle *-4-Elemente gezeigt:
1-4-Element: Seine Oberfläche besteht aus vier Dreiecken und einem
Viereck. Aus einem 1-4-Element lassen sich auf zwei Weisen zwei Tetraeder erzeugen, wodurch die Viereckoberfläche jeweils in zwei Dreiecke
unterteilt wird (vergl. Abb. 4.6).
2-4-Element: Die Oberfläche eines 2-4-Elements besteht aus zwei Vier-
(i)
(ii)
(iii)
Abbildung 4.6: Zerlegung eines 1-4-Elements
ecken und vier Dreiecken. Da keine Zerlegung in Prismen möglich ist,
muß das Element ebenfalls in Tetraeder zerlegt werden. In Abb. 4.7
sind die verschiedenen Möglichkeiten der Zerlegung dargestellt. Alle Viereckoberflächen müssen in Dreieckoberflächen zerlegt werden, da
Tetraeder nur solche besitzen.
3-4-Element: Die Oberfläche eines 3-4-Elements besteht aus vier Vierecken und zwei Dreiecken. Dadurch kann vermutet werden, daß eine
Zerlegung in Prismen möglich ist und deswegen nicht alle Vierecke in
Dreiecke zerlegt werden müssen. Wird jedoch vom 3-4-Element ein
Prisma abgetrennt, so verbleibt ein Element mit zwei Vierecken und
zwei Dreiecken. Dieses kann nur in Tetraeder zerlegt werden und damit werden aus den beiden Vierecken des Restelements jeweils zwei
Dreiecke. Damit muß auch eine Viereckseite des abgetrennten Prismas
46 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
(i)
(ii)
(iii)
(iv)
Abbildung 4.7: Zerlegung eines 2-4-Elements
in zwei Dreiecke zerlegt werden, es tritt Fall 2 s.u. ein. Letztendlich
müssen alle Vierecksseiten zerlegt werden. In Abb. 4.8 sind die verschiedenen Möglichkeiten der Zerlegung dargestellt.
(i)
(ii)
(iii)
(iv)
(v)
(vi)
(vii)
(viii)
(ix)
(x)
(xi)
Abbildung 4.8: Zerlegung eines 3-4-Elements
2. Ein Prisma kann nur in Tetraeder zerlegt werden. Dies ist nur auf die in
Abb. 4.9 dargestellten Arten möglich 1 . Diese Möglichkeiten erfordern
1
Andere Möglichkeiten existieren nicht, da sonst fast ein Schönhardt-Element ensteht
(vergl. dazu S. 207 Satz 6.1)
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
47
die Zerlegung aller Viereckoberflächen.
(i)
(ii)
(iii)
(v)
(vi)
(vii)
(iv)
Abbildung 4.9: Zerlegung eines W-Prismas
3. Das nächstkleinere erlaubte Element zu einem Hexaeder ist ein Prisma.
Ein Hexaeder kann in zwei Prismen unterteilt werden. Dabei werden
zwei gegenüberliegende Viereckoberflächen in jeweils zwei Dreiecke unterteilt (vergl. Abb. 4.10). Eine Aufteilung in Prismen ist nur auf die
(i)
(ii)
Abbildung 4.10: Zerlegung eines Hexaeders in zwei Prismen
in Abb. 4.10 dargestellte Weise möglich. Eine Zerlegung in Tetraeder
erfordert eine Zerlegung aller Viereckoberflächen in Dreiecke. Abb. 4.11
zeigt alle bekannten Möglichkeiten der Zerlegung eines Hexaeders in
Tetraeder. Muß also wegen Einhaltung der Konformität eine dritte
Viereckoberfläche oder müssen zwei nicht gegenüberliegende Viereckoberflächen eines Hexaeders in zwei Dreiecke unterteilt werden, so muß
das gesamte Hexaeder in Tetraeder unterteilt werden. Das gleiche gilt
auch, wenn zwei gegenüberliegende Viereckoberflächen in entgegengesetzter Richtung in Dreiecke unterteilt werden müssen.
48 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
(i)
(ii)
(iii)
(iv)
(v)
(vi)
(vii)
(viii)
(ix)
(x)
(xi)
(xii)
(xiii)
(xiv)
(xv)
(xvi)
(xvii)
(xviii)
(xix)
Abbildung 4.11: Zerlegung eines Hexaeders in Tetraeder
Folgerung 4.2.
1. Muß eine Viereckoberfläche eines *-4-Elements zerlegt werden, so müssen auch seine weiteren Viereckoberflächen zerlegt werden.
2. Muß eine Viereckoberfläche eines Prismas zerlegt werden, so müssen
auch seine weiteren Viereckoberflächen zerlegt werden.
3. Muß eine Viereckoberfläche eines Hexaeders zerlegt werden, so muß
wenigstens ihre gegenüberliegende Viereckoberfläche zerlegt werden.
Beweis. Folgt direkt aus Lemma 4.4 und seinem Beweis.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
49
Die Zerlegung aller Viereckoberflächen von *-4-Elementen hat in einem
Elementstapel folgende Auswirkung:
Lemma 4.3. *-4-Elemente verursachen die Zerlegung aller Elemente des
Elementstapels, in dem sie liegen.
Beweis. Wegen der notwendigen Zerlegung aller Viereckoberflächen eines *4-Elements müssen auch das nach oben und das nach unten benachbarte
Element zerlegt werden (Folgerung 4.2). Ist dies ein *-4-Element oder ein
Prisma, so werden hiervon wiederum alle Viereckflächen zerlegt (Folgerung
4.2 1. und 2.). Ist dies ein Hexaeder, so wird wenigstens die gegenüberliegende Viereckoberfläche zerlegt (Folgerung 4.2 3.). Damit wird in jedem Fall
wiederum die nach oben bzw. unten weisende Viereckoberfläche dieses Elements zerlegt. Die Zerlegung setzt sich entsprechend nach oben bzw. unten
fort und führt zur Zerlegung des gesamten Elementstapels.
Zur Vermeidung der notwendigen Zerlegung von Elementstapeln mit *-4Elementen in vertikaler Richtung wird wie folgt vorgegangen:
Vorgehensweise:
Konfliktvierecke werden vermieden. Stattdessen sollen solche Stellen bei der
P-Vernetzung mit P-Dreiecken vernetzt werden!
Damit Konfliktvierecke bei der P-Vernetzung vermieden werden können,
müssen sie rechtzeitig als solche erkannt werden. Deswegen werden im folgenden die in Abb. 4.4 dargestellten Konfliktviereckkandidaten genauer untersucht und Algorithmus 4.1 vorgestellt, mit dessen Hilfe die Konfliktvierecke
vollständig aufgelistet werden können.
Dazu werden zunächst die *-4-Elemente in der P-Ebene mit Tiefenwerten
ihrer P-Knoten dargestellt. (vergl. Abb. 4.12).
0
1
0
1
1
1
(i)
(ii)
0
0
1
1
(iii)
1
0
0
0
(iv)
0
1
1
1
1
1
(v)
Abbildung 4.12: (i) 3-4-Template (ii) PRIS-W-Template (iii) 2-4-Template
(iv) 1-4-Template (v) HEX-Template
50 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Definition 43.
Ein i-4-Template (i∈ 1,2,3) ist die Darstellung eines i-4-Elements in der PEbene, wobei jedem P-Knoten als Tiefenwert die Anzahl der im 3D-Element
an dieser Stelle auftretenden Senkrechtkanten zugewiesen wird (vergl. Abb.
4.12(i),(iii),(iv)).
Ein PRIS-W-Template ist die analoge Darstellung eines W-Prismas in
der P-Ebene (vergl. Abb. 4.12(ii)).
Ein HEX-Template ist die analoge Darstellung eines Hexaeders in der PEbene (vergl. Abb. 4.12(v)).
Die Templates sind eine analoge Darstellung zu den P-Elementen mit
Tiefenwerten.
Definition 44. Die Subtraktion eines Templates von einem P-Element
mit Tiefenwertdarstellung der P-Knoten geschieht durch Subtraktion der einzelnen Tiefenwerte der P-Knoten.
Bemerkung 4.2. Die Subtraktion eines Templates von einem P-Element
entspricht bei dreidimensionaler Betrachtung der Erzeugung des zum Template gehörenden 3D-Elements im zugehörigen Elementstapel.
Beweis. Geht direkt aus der Definition der Templates hervor.
Durch Algorithmus 4.1 kann der Elementstapel zu einem P-Viereck ermittelt werden. Außerdem können mit dem Algorithmus alle Konfliktvierecke
aufgelistet werden.
Algorithmus 4.1 subtrahiert von einem P-Viereck sukzessiv ein Template
mit größter Gesamtsumme der Tiefenwerte.
Die folgenden Lemmata zeigen die Korrektheit des Algorithmus.
Lemma 4.4. Algorithmus 4.1 terminiert.
Beweis. In jedem Schleifendurchlauf wird wenigstens einer der Tiefenwerte
der P-Knoten, dessen Tiefenwert größer null ist, um eins reduziert und keiner
erhöht. Wegen der Endlichkeit der Tiefenwerte terminiert das Verfahren.
Satz 4.1. (Korrektheit) Algorithmus 4.1 subtrahiert ein *-4-Template genau
dann, wenn ein Konfliktviereck vorliegt.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
51
Algorithmus 4.1 (Viereckelementstapel).
PROCEDURE
BEGIN
v(iereck):=P-Viereck;
while (nicht alle Tiefenwerte
der P-Knoten (v.T(K)) = 0)
falls (alle v.T(K) > 0)
v:=v - HEX-Template;
sonst falls (genau drei v.T(K) > 0)
v:=v - 3-4-Template;
sonst falls (genau zwei benachbarte v.T(K) > 0)
v:=v - PRIS-W-Template;
sonst falls (genau zwei gegenüberl. v.T(K) > 0)
v:=v - 2-4-Template;
sonst falls (genau ein v.T(K) > 0)
v:=v - 1-4-Template;
END
Beweis. ⇒“: Angenommen, es wird ein *-4-Element subtrahiert, obwohl
”
kein Konfliktviereck vorliegt. Dazu wird unterschieden:
a) Es wird ein 3-4-Template subtrahiert. Dann ist der aktuelle Tiefenwert
eines P-Knotens null und alle anderen größer null. Die Subtraktion eines
HEX-Templates ist zu diesem oder einem späteren Zeitpunkt nicht möglich,
da ein Tiefenwert bereits den Wert null besitzt. Die Subtraktion von PRISW-Templates ist ohne Verletzung der Schichtforderung an dieser Stelle nicht
möglich. Damit ist die Subtraktion eines 3-4-Templates notwendig, der Elementstapel muß ein 3-4-Element enthalten.
b) Es wird ein 2-4-Template subtrahiert. Das bedeutet, daß die aktuellen
Tiefenwerte zweier gegenüberliegender P-Knoten größer null sind, die der
beiden anderen gleich null. Zu diesem Zeitpunkt besteht nur die Möglichkeit
ein 1-4- oder ein 2-4-Template zu subtrahieren. Entsprechend muß der Elementstapel ein 1-4- oder 2-4-Element enthalten.
c) Es wird ein 1-4-Template subtrahiert. Der aktuelle Tiefenwert eines PKnotens ist größer null, die der anderen gleich null. Es gibt keine andere
Möglichkeit als ein 1-4-Template zu subtrahieren und damit enthält der Elementstapel ein 1-4-Element.
Alle drei Fälle führen zum Widerspruch. Damit ist die Behauptung bewiesen.
⇐“: Liegt ein Konfliktviereck vor, so muß der zugehörige Elementstapel
”
wenigstens ein NHPT-Element enthalten. Hier kommen als NHPT-Elemente
52 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
nur *-4-Elemente in Frage. Es wird gezeigt, daß Algorithmus 4.1 dann auch
ein *-4-Template subtrahiert wird. Es können wieder die drei Fälle unterschieden werden.
a) Der Elementstapel enthält ein 3-4-Element: Es wird das erste 3-4-Element
von oben betrachtet. Wegen der Schichtforderung dürfen über diesem nur
Hexaeder liegen. Unter dem Knoten des 3-4-Elements, an dem im Element
keine Kante in senkrechter Richtung existiert, darf im Elementstapel keine weitere Kante liegen. Denn sonst würde wiederum die Schichtforderung
verletzt. Die Position des 3-4-Elements wird im Algorithmus zu dem Zeitpunkt berücksichtigt, an dem drei P-Knoten einen Tiefenwert größer und ein
P-Knoten einen Tiefenwert gleich null besitzen. An dieser Stelle wird ein
3-4-Template subtrahiert.
b) Der Elementstapel enthält ein 2-4-Element (und kein 3-4-Element, sonst
siehe Fall a)): Wiederum wird das oberste 2-4-Element betrachtet. Die Argumentation verläuft analog zu Fall a). Hier sind es zwei Knoten, unter denen
keine Kanten liegen dürfen.
c) Der Elementstapel enthält ein 1-4-Element (und kein 3-4-Element, sonst
siehe Fall a) und kein 2-4-Element, sonst siehe Fall b)): Argumentation analog zu Fall a) und Fall b).
Wesentlich für die Korrektheit von Algorithmus 4.1 ist die Tatsache, daß
er die Schichtforderung einhält. Der Algorithmus hat den Vorteil, daß er
deterministisch ist und schnell ein Konfliktviereck, detektiert.
In Abb. 4.13 wird Algorithmus 4.1 an einem Beispiel verdeutlicht.
2
3
1
4
4
3
(a)
(b)
2
0
3
2
(c)
1
0
2
1
(d)
0
0
1
0
Von
0
0
(e)
Abbildung 4.13: Beispiel für Algorithmus 4.1
Schritt Abb. 4.13 a) nach b) und von b) nach c) wird jeweils ein HEX Template subtrahiert, von c) nach d) ein 3-4-Template und von d) nach e)
schließlich ein PRIS-W-Template. Das in Abb. 4.13 a) dargestellte P-Viereck
ist also ein Konfliktviereck, das vermieden werden soll. Zur Veranschaulichung ist in Abb. 4.14 (i) der zugehörige Elementstapel dreidimensional dargestellt.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
(a)
53
(b)
Abbildung 4.14: Resultierende Zerlegung im 3D-Netz
Wegen der Zerlegung des 3-4-Elements müßte der ganze Elementstapel
zerlegt werden (vergl. Abb. 4.14 (b)).
Mit Hilfe von Algorithmus 4.1 kann nun ein einfaches Kriterium zur Detektion von Konfliktvierecken formuliert werden.
Lemma 4.5. Ein P-Viereck ist ein Konfliktviereck genau dann, wenn es
einen P-Knoten besitzt, (*) dessen Tiefenwert unterschiedlich zu den Tiefenwerten seiner beiden Nachbarn ist.
Beweis. ⇒“: Annahme: Es gibt ein Konfliktviereck ohne die Eigenschaft
”
(*). Jeder P-Knoten des P-Vierecks hat wenigstens einen Nachbarknoten
mit gleichem Tiefenwert. Dann haben entweder alle P-Knoten den gleichen
Tiefenwert oder zwei benachbarte Paare haben den gleichen Tiefenwert. Im
ersten Fall entstehen nach Algorithmus 4.1 nur Hexaeder. Für den zweiten Fall sei a der Tiefenwert des ersten P-Knotenpaares, b der Tiefenwert
des zweiten P-Knotenpaares und œ a<b. Nach Algorithmus 4.1 werden solange HEX-Templates subtrahiert, bis der aktuelle Tiefenwert des ersten PKnotenpaares a’=0 und der aktuelle Tiefenwert des zweiten P-Knotenpaares
b’= b-a ist. Danach werden (b-a) mal PRIS-W-Templates subtrahiert bis
b’=0 gilt. Das P-Viereck ist kein Konfliktviereck.
⇐“: Der P-Knoten mit der Eigenschaft (*) besitze den Tiefenwert a. Seine
”
benachbarten P-Knoten den Tiefenwert b und c und sein gegenüberliegender
P-Knoten den Tiefenwert d (vergl. Abb. 4.15).
Es werden jetzt alle möglich auftretenden Fälle untersucht.
1. Fall: a<b, a<c
(i) a<d: Dann subtrahiert Algorithmus 4.1 nach a Schritten ein 3-4-Template.
(ii) a=d: Dann subtrahiert Algorithmus 4.1 nach a Schritten ein 2-4-Template.
(iii) a>d: Dann besitzt der gegenüberliegende P-Knoten mit Tiefenwert d
54 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
c
d
a
b
Abbildung 4.15: Skizze zum Beweis
auch die Eigenschaft (*) und Fall 1 (i) tritt für diesen ein.
2. Fall: a<b, a>c
(i) a<d: Dann besitzt der P-Knoten mit Tiefenwert c die Eigenschaft (*)
und Fall 1 (i) tritt für diesen ein.
(ii) a=d: Dann besitzt der P-Knoten mit Tiefenwert c die Eigenschaft (*)
und Fall 1 (i) tritt für diesen ein.
(iii) a>d: Dann gilt für:
c<d: Für den P-Knoten mit Tiefenwert c tritt Fall 1 (i) ein.
c>d: Für den P-Knoten mit Tiefenwert d tritt Fall 1 (i) ein.
c=d: Dann subtrahiert Algorithmus 4.1 nach a Schritten ein 1-4-Template.
3. Fall: a>b, a<c analog zu 2. Fall
4. Fall: a>b, a>c
(i) a<d: Dann subtrahiert Algorithmus 4.1 nach min(b,c) Schritten ein 2-4oder ein 3-4-Template.
(ii) a=d: Dann subtrahiert Algorithmus 4.1 nach min(b,c) Schritten ein 2-4oder ein 3-4-Template.
(iii) a>d: Dann subtrahiert Algorithmus 4.1 nach max(b,c,d) Schritten ein
1-4-Template.
Wegen Satz 4.1 liegt in jedem Fall ein Konfliktviereck vor.
Satz 4.2. (Unproblematische P-Vierecke) Ein P-Viereck ist genau dann kein
Konfliktviereck, wenn die Tiefenwerte aller vier P-Knoten gleich sind oder
je zwei benachbarte Paare gleich sind.
Beweis. Folgt direkt aus Lemma 4.5.
Tabelle 4.1 listet alle Möglichkeiten für die in Abb. 4.4 dargestellten PViereckfälle auf, die nicht zu einem Konfliktviereck führen. Bei der Auflistung
wird gemäß der Tiefenwertzuordnung davon ausgegangen, daß die Tiefenwerte der P-Knoten, die innerhalb einer P-Region liegen, nicht kleiner sind als
die der P-Knoten, die auf einer Kontur liegen.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
55
Tabelle 4.1.
Abb. 4.4
t1
t2
t3
(i)
= t2
(ii)
= t2
(iii)
= t2 = t3
(iv)
= t2
= t4
(iv)
= t4
= t3
(v)
= t2
= t4
(v)
= t4
= t3
Lemma 4.6. Tabelle 4.1 listet alle P-Vierecke, die keine Konfliktelemente
darstellen, vollständig auf. Alle anderen Fälle stellen Konfliktvierecke dar.
Beweis. Die Fälle, die in Tabelle 4.1 nicht aufgelistet sind, besitzen die Eigenschaft (*) aus Lemma 4.5.
Mit Hilfe der Tabelle 4.1 kann bei der Vernetzung auf sehr schnelle Weise
entschieden werden, ob die Generierung eines P-Vierecks zu einem Konfliktviereck führt. Ist dies der Fall, so soll stattdessen mit P-Dreiecken vernetzt
werden.
4.1.4
Konfliktdreiecke
Analog zum Verfahren zur Ermittlung von Elementstapeln aus P-Vierecken
(Algorithmus 4.1) wird in diesem Abschnitt ein Verfahren zur Ermittlung
von Elementstapeln aus P-Dreiecken unter Einhaltung der Schichtforderung
vorgestellt. Mit Hilfe dieses Algorithmus können aus den Konfliktdreieckkandidaten (vergl. Abb. 4.3) alle echten Konfliktdreiecke detektiert werden.
Da als Konfliktelemente nur Konfliktdreiecke generiert werden sollen, stellt
das Resultat ein wichtiges Hilfsmittel zur Netzgenerierung dar.
Zur Erzeugung eines Elementstapels werden zunächst alle Elemente betrachtet, die im Erstnetz bei der 3D-Vernetzung aus P-Dreiecken entstehen
können. Dabei erfolgt die Erzeugung der Elemente aus einem P-Dreieck analog zur Erzeugung von Elementen aus einem P-Viereck (vergl. Beschreibung
Seite 43). Abb. 4.16 stellt alle Möglichkeiten dar.
Es können die folgenden Elemente entstehen:
Definition 45. Ein 2-3-Element ist ein 3D-Element, das aus einem PDreieck entsteht, indem genau zweien der drei P-Knoten des P-Dreiecks zwei
Knoten und genau einem der drei P-Knoten des P-Dreiecks ein Knoten zugeordnet wird (vergl. Abb. 4.16 (i)).
56 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
(i)
(ii)
(iii)
Abbildung 4.16: Aus P-Dreiecken entstandene Elemente im Erstnetz
Definition 46. Ein 1-3-Element ist ein 3D-Element, das aus einem PDreieck entsteht, indem genau einem der drei P-Knoten des P-Dreiecks zwei
Knoten und genau zweien der drei P-Knoten des P-Dreiecks ein Knoten zugeordnet wird (vergl. Abb. 4.16 (ii)).
Definition 47. Ein S-Prisma (Senkrecht-Prisma) ist ein 3D-Element,
das aus einem P-Dreieck entsteht, indem allen drei P-Knoten des P-Dreiecks
zwei Knoten zugeordnet werden (vergl. Abb. 4.16 (iii)).
Definition 48. Ein *-3-Element ist ein 1-3-Element oder ein 2-3-Element.
Ein 1-3-Element ist ein Tetraeder und stellt als erlaubtes Element kein
Problem dar. Ein 2-3-Element ist (wie ein 1-4-Element) eine Pyramide, die
auf zwei Arten in zwei Tetraeder zerlegt werden kann (vergl. Abb. 4.17).
(i)
(ii)
(iii)
Abbildung 4.17: Zerlegung eines 2-3-Elements
Ein Konfliktdreieck (vergl. Def. 29, Seite 30) ist demnach ein P-Dreieck,
aus dem bei der 3D-Vernetzung wenigstens ein 2-3-Element entsteht. Die
Zerlegung eines 2-3-Elements erfordert die Zerlegung des seitlichen Vierecks.
Analog zu Bemerkung 4.1 für die P-Vierecke gilt:
Bemerkung 4.3. Der Elementstapel zu einem P-Dreieck kann so generiert
werden, daß er ausschließlich aus S-Prismen, 2-3-Elementen und/oder Tetraedern besteht.
Aus den Konfliktdreieckkandidaten sollen nun alle Konfliktdreiecke detektiert werden, d.h. alle P-Dreiecke, zu denen (wenigstens) ein 2-3-Element
generiert werden muß. Dazu werden die *-3-Elemente ebenfalls in der PEbene mit Tiefenwert dargestellt.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
0
1
0
1
(i)
0
1
(ii)
57
1
1
1
(iii)
Abbildung 4.18: (i) 2-3-Template (ii) 1-3-Template (iii) PRIS-S-Template
Definition 49.
Ein i-3-Template (i∈ {1, 2}) ist die Darstellung eines i-3-Elements in der
P-Ebene, wobei jedem P-Knoten als Tiefenwert die Anzahl der im 3D-Element
an dieser Stelle auftretenden Senkrechtkanten zugewiesen wird (vergl. Abb.
4.18(i),(ii)).
Ein PRIS-S-Template ist die (analoge) Darstellung eines S-Prismas in der
P-Ebene (vergl. Abb. 4.18(iii)).
Ein 1-3-Template wird auch als TET-Template (Tetraeder-Template)
bezeichnet.
Analog dem Algorithmus 4.1 kann jetzt ein entsprechendes Verfahren (Algorithmus 4.2) für P-Dreiecke formuliert werden, wobei die Subtraktion wie
in Def. 44 verstanden wird.
Algorithmus 4.2 (Dreieckelementstapel).
PROCEDURE
BEGIN
d(reieck):=P-Dreieck;
while (nicht alle Tiefenwerte
der P-Knoten (d.T(K)) = 0)
falls (alle d.T(K) >0)
d:= d - PRIS-S-Template;
sonst falls (genau zwei d.T(K) >0)
d:= d - 2-3-Template;
sonst falls (genau ein d.T(K) >0)
d:= d - TET-Template;
END
Für Algorithmus 4.2 werden die folgenden Lemmata gezeigt.
Lemma 4.7. Das Verfahren Algorithmus 4.2 terminiert.
58 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Beweis. Beweis klar wie Beweis von Lemma 4.4.
Satz 4.3. (Korrektheit) Algorithmus 4.2 subtrahiert ein 2-3-Template genau
dann, wenn ein Konfliktdreieck vorliegt.
Beweis. ⇒“: Angenommen es wird ein 2-3-Template subtrahiert, obwohl
”
kein Konfliktdreieck vorliegt. Dann ist der aktuelle Tiefenwert eines PKnotens null, die der beiden anderen größer null. Die Subtraktion eines
PRIS-S-Templates ist nicht mehr möglich. Die Subtraktion eines 1-3-Templates ist ohne Verletzung der Schichtforderung an dieser Stelle nicht möglich.
Damit muß ein 2-3-Template subtrahiert werden, der Elementstapel muß ein
2-3-Element enthalten.
⇐“: Liegt ein Konfliktdreieck vor, so muß der zugehörige Elementstapel we”
nigstens ein 2-3-Element enthalten. Es wird das erste 2-3-Element von oben
betrachtet. Wegen der Schichtforderung dürfen über diesem nur S-Prismen
liegen. Unter dem Knoten des 2-3-Elements, an dem im Element keine Kante
in senkrechter Richtung existiert, darf im Elementstapel keine weitere Kante
liegen. Denn sonst würde wiederum die Schichtforderung verletzt. Die Position des 2-3-Elements entspricht somit der Stelle im Algorithmus, an der
zwei P-Knoten einen Tiefenwert größer und ein P-Knoten einen Tiefenwert
gleich null besitzen. An dieser Stelle wird ein 2-3-Template subtrahiert.
Wie für Algorithmus 4.1 ist auch für die Korrektheit von Algorithmus 4.2
wesentlich, daß er die Schichtforderung einhält.
Algorithmus 4.2 wird an einem Beispiel verdeutlicht (Abb. 4.19).
0
1
2
3
(a)
1
0
2
(b)
0
0
1
0
(c)
0
(d)
Abbildung 4.19: Beispiel für Algorithmus 4.2
Von Abb. 4.19 a) nach b) wird ein PRIS-S-Template subtrahiert, von b)
nach c) ein 2-3-Template und von c) nach d) ein TET-Template. Das in
Abb. 4.19 dargestellte P-Dreieck ist also ein Konfliktdreieck. Der resultierende Elementstapel im Erstnetz ist in Abb. 4.20 a) dargestellt.
Abb. 4.20 (b) zeigt eine zulässige Zerlegung.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
(a)
59
(b)
Abbildung 4.20: Resultierende Zerlegung im 3D-Netz
Auch für Konfiktdreiecke soll eine möglichst einfache Art zur Detektion
vorgestellt werden. Dazu hilft der folgende Satz.
Satz 4.4. Ein P-Dreieck ist genau dann ein Konfliktdreieck, wenn es einen
P-Knoten besitzt,(*) dessen Tiefenwert kleiner ist als die Tiefenwerte der
beiden anderen P-Knoten.
Beweis. Wegen Satz 4.3 genügt es zu zeigen, daß Algorithmus 4.2 genau dann
ein 2-3-Template subtrahiert, wenn das P-Dreieck einen P-Knoten mit der
Eigenschaft (*) besitzt.
⇒“: Wird das erste 2-3-Template subtrahiert, so erfüllen die aktuellen Tie”
fenwerte der P-Knoten Eigenschaft (*). Da vorher nur PRIS-S-Templates
subtrahiert werden konnten, und diese Subtraktionen nichts an der Eigenschaft (*) ändern konnten, ist die Behauptung bewiesen.
⇐“: Ist der Tiefenwert des P-Knoten K kleiner als der der beiden anderen
”
P-Knoten, so werden zunächst so lange PRIS-S-Templates subtrahiert, bis
der Tiefenwert von K gleich null ist. Da die Tiefenwerte aller P-Knoten dabei
gleichmäßig reduziert werden, besitzen die beiden anderen P-Knoten zu diesem Zeitpunkt einen Tiefenwert größer null. Der Algorithmus 4.2 subtrahiert
im nächsten Schritt ein 2-3-Template.
Es kann gefolgert werden:
Folgerung 4.3. Ein P-Dreieck ist genau dann kein Konfliktdreieck, wenn
die Tiefenwerte zweier P-Knoten gleich sind und kleiner oder gleich dem
Tiefenwert des dritten P-Knoten.
Beweis. Folgt direkt aus Satz 4.4.
Mit Hilfe von Satz 4.4 werden in Tabelle 4.2 alle Konfliktdreiecke der in
Abb. 4.3 dargestellten P-Dreieckfälle aufgelistet. Wiederum wird dabei davon
ausgegangen, daß P-Knoten, die auf der Kontur liegen, einen kleineren oder
gleichen Tiefenwert besitzen als solche, die nicht auf der Kontur liegen.
60 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Tabelle 4.2.
Abb. 4.4
t1
t2
(i)
< t2
(ii)
< t2
(ii)
< t1
(iii)
< t2 <= t3
(iii)
<= t3 < t1
Lemma 4.8. Tabelle 4.2 listet (bis auf Spiegelung und Drehung) alle Konfliktdreiecke vollständig auf. Alle Fälle, die Tabelle 4.2 nicht auflistet, sind
keine Konfliktdreiecke.
Beweis. Folgt direkt aus Satz 4.8.
Konfliktdreiecke können mit Hilfe von Tabelle 4.2 direkt erkannt werden.
Leider können sie nicht immer vermieden werden. In Abb. 4.21 sind alle
Konfliktdreiecke noch einmal in einer Übersicht dargestellt. Dabei wird wiederum angenommen, daß die P-Knoten auf der Kontur einen kleineren oder
gleichen Tiefenwert wie die P-Knoten im Inneren der P-Region besitzen. Die
als ausgefüllte Kreise eingezeichneten P-Knoten stellen die P-Knoten auf der
Kontur dar. Gespiegelte und gedrehte Fälle werden nicht extra aufgelistet.
Es gilt t1 < t2 < t3 .
t1
k1
t
2
t1
k
2
k
3
t
2
(i)
k2
k
1
t2
k
3
t2
(ii)
t1
k2
k
1
k
3
t
3
(iii)
t2
t2
t2
k2
t
1
k3
k
1
(iv)
t
2
k
3
k2
k
1
t
1
t
3
(v)
Abbildung 4.21: Konfliktdreiecke in der Übersicht
Definition 50. Eine Zerlegungsrichtung eines Konfliktdreiecks ist eine Richtung, in die ein Zerlegungspfad zeigt, der an dem Konfliktdreieck
beginnt.
Es werden jetzt noch die Konfliktlayer und Zerlegungsrichtungen eines
Konfliktdreiecks bestimmt.
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
61
Lemma 4.9. Gegeben sei ein Konfliktdreieck mit den Tiefenwerten t1 , t2
und ggfs. t3 an den P-Knoten, wobei œ t1 < t2 ≤ t3 gilt (vergl. Abb. 4.21).
Die Zerlegungspfade, die an diesem Konfliktdreieck beginnen, besitzen die
Konfliktlayer (t1 + 1) - t2 .
Beweis. In den ersten t1 Schritten subtrahiert Algorithmus 4.2 PRIS-S-Templates. Anschließend werden in den Schritten (t1 + 1) - t2 2-3-Templates subtrahiert. Das entspricht der Erzeugung von 2-3-Elementen auf den Schichten
(t1 + 1) - t2 . Da diese zerlegt werden müssen, beschreiben diese Schichten Konfliktlayer des Konfliktdreiecks. Danach werden ggfs. 1-3-Templates
subtrahiert, die aber nicht zerlegt werden müssen und deswegen nicht zum
Konfliktlayer beitragen.
Lemma 4.10. Gegeben sei ein Konfliktdreieck mit den Tiefenwerten t1 , t2
und ggfs. t3 an den P-Knoten, wobei œ t1 < t2 (≤ t3 ) gilt (vergl. Abb. 4.21).
Die Zerlegungspfade, die an diesem Konfliktdreieck beginnen, verlaufen über
die P-Kante, die nicht an dem P-Knoten liegt, dessen Tiefenwert t1 beträgt.
Beweis. Der P-Knoten mit Tiefenwert t1 ist der P-Knoten, der bei der Subtraktion der 2-3-Templates den aktuellen Tiefenwert null besitzt. Zerlegungspfade können jedoch nur von P-Kanten des Konfliktdreiecks ausgehen, deren
beide P-Knoten einen Tiefenwert größer null besitzen. Denn die zugehörigen 3D-Elemente besitzen nur an diesen Stellen seitliche Oberflächenvierecke. über ein seitliches Oberflächendreieck kann kein 3D-Zerlegungspfad
laufen.
Mit Hilfe der Lemmata 4.9 und 4.10 können die Konfliktlayer und Zerlegungsrichtungen der Konfliktdreiecke mittels des P-Netzes eindeutig bestimmt werden.
4.1.5
Erzeugung des Erstnetz
Mit Hilfe der Algorithmen 4.1 und 4.2 kann das gesamte Erstnetz erzeugt
werden (vergl. Schema 3.20 IV a) Seite 36). Es genügt dafür zu zeigen, daß
die mit Hilfe dieser Algorithmen erzeugten Elementstapel zweier benachbarter P-Elemente konform zueinander sind.
Lemma 4.11. Zwei Elementstapel, die aus zwei benachbarten P-Elementen
mit Hilfe der Algorithmen 4.1 und/oder 4.2 erzeugt werden, sind konform
zueinander.
Beweis. Es wird die gemeinsame P-Kante k der beiden P-Elemente betrachet. Es seien t1 und t2 die Tiefenwerte der P-Knoten von k. Für beide
62 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
P-Elemente wird bei beiden Algorithmen min(t1 ,t2 ) mal von beiden Tiefenwerten eins subtrahiert. Für die Elementstapel bedeutet dies jeweils eine
Generierung eines Elements, dessen Seitenfläche an dieser Stelle jeweils ein
Viereck ist. Diese sind konform zueinander. Anschließend wird bei beiden
Algorithmen (max(t1 ,t2 )-min(t1 ,t2 )) mal vom größten Tiefenwert eine eins
subtrahiert. Für die Elementstapel bedeutet dies jeweils die Generierung
eines Elements, dessen Seitenfläche an dieser Stelle jeweils ein Dreieck ist.
Die Dreiecke liegen konform zueinander. Anschließend sind beide Tiefenwerte null, weswegen an dieser Stelle keine Seitenflächen in den zugehörigen
Elementstapeln mehr entstehen.
Folgerung 4.4. Die Anwendung der Algorithmen 4.1 und 4.2 auf alle PElemente eines P-Netzes führt zu einem konformen Erstnetz.
Bemerkung 4.4. Die Qualität der Elemente eines durch die Algorithmen
4.1 und 4.2 entstandenen Erstnetzes aus einem P-Netz ist bezüglich aller
Erstnetze gut“.
”
Begründung. Die Qualität wird maßgeblich durch die Einhaltung der
Schichtforderung bestimmt, die von den beiden Algorithmen 4.1 und 4.2 eingehalten wird.
4.1.6
Konfliktdreiecke und daraus resultierende Zerlegungen
In Kapitel 3.5 wurden bereits die Begriffe Zerlegungspfad, Zerlegungslayer
und Zerlegungsviereck (Seite 31 ff.) eingeführt. Zum Zwecke der Darstellung
aller Aufgaben, die in Verbindung mit der Generierung von Zerlegungspfaden
stehen (Unterkapitel 4.2), werden in diesem Abschnitt noch einige Begriffe
eingeführt und Zusammenhänge diskutiert.
Wegen der Vorgehensweise als Konfliktelemente ausschließlich Konfliktdreiecke zu erzeugen (Seite 49), beginnt und endet jeder (primitive) Zerlegungspfad an einem nächsten P-Dreieck oder einem Ein- oder Auslaufviereck.
Definition 51. Ein P-Dreieck, an dem ein Zerlegungspfad beginnt oder endet, heißt Zerlegungsdreieck.
Es ist leicht ersichtlich, daß Konfliktdreiecke immer auch Zerlegungsdreiecke sind. Es gibt jedoch auch Zerlegungsdreiecke, die keine Konfliktdreiecke
sind. Trifft z.B. ein 3D-Zerlegungspfad im 3D-Netz auf einen Elementstapel, der aus einem P-Dreieck, das kein Konfliktdreieck ist, entstanden ist,
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
63
so muß das Element auf der Schicht des 3D-Zerlegungspfades ebenfalls zerlegt werden. Es ist ein Senkrechtprisma, dessen drei Viereckoberflächen alle
zerlegt werden müssen. Da der zugehörige P-Zerlegungspfad somit auf ein PDreieck (, das kein Konfliktdreieck ist,) trifft, stellt dieses P-Dreieck Beginn
oder Ende des (primitiven) P-Zerlegungspfades dar.
Ein P-Dreieck, von dem nicht bekannt ist, ob es ein Zerlegungsdreieck
werden kann, heißt Zerlegungsdreieckkandidat.
Definition 52. Ein Zerlegungslayer Zl(ZD) eines Zerlegungsdreiecks ZD
gibt eine Elementschicht an, auf der das Element des zugehörigen Elementstapels zerlegt werden muß.
Treffen mehrere 3D-Zerlegungspfade auf Elemente unterschiedlicher Schichten eines Elementstapels, der aus einem P-Dreieck entstanden ist, so müssen
alle diese Elemente zerlegt werden. Das bedeutet, daß das zugehörige PDreieck mehrere Zerlegungslayer besitzen kann. Bei einem Konfliktdreieck
(Def. 29) sind die Konfliktlayer immer auch Zerlegungslayer.
Konfliktdreiecke sind die einzigen ursprünglichen Auslöser von Zerlegungspfaden, da ihre zugehörigen Elementstapel als einzige NHPT-Elemente enthalten. Trifft ein Zerlegungspfad mit Zerlegungslayer t auf ein Zerlegungsdreieck, das nicht Konfliktdreieck ist, werden zu den beiden anderen Richtungen des Zerlegungsdreiecks jeweils Zerlegungspfade mit Zerlegungslayer
t ausgelöst. (Im folgenden wird dieser Sachverhalt teilweise als Weiterleitung eines Zerlegungspfades bezeichnet.) Ein Konfliktdreieck verhält sich
für Zerlegungspfade mit kleinerem Zerlegungslayer als die Konfliktlayer des
Konfliktdreiecks wie ein Zerlegungsdreieck (vergl. Abb. 4.22).
Ein Zerlegungsdreieck ist für einen bestimmten Zerlegungslayer somit entweder Beginn bzw. Ende genau eines Zerlegungspfades oder Beginn bzw. Ende
von Zerlegungspfaden in alle drei Richtungen. Dies muß bei der Generierung der Zerlegungspfade beachtet werden.
Nachdem nun die Begriffe bezüglich eines Zerlegungspfades definiert wurden, wird im folgenden auf den Umgang mit Zerlegungspfaden näher eingegangen. Dazu wird zunächst gefordert:
Forderung 4.1. Alle Zerlegungspfade müssen so generiert werden, daß sie in
dem Sinne überschneidungsfrei sind, daß keine zwei Zerlegungspfade gleichen
Zerlegungslayers sich in einem P-Viereck kreuzen.
Begründung. Würden sich zwei Zerlegungspfade ZP1 und ZP2 mit Zl(ZP1 )
= Zl(ZP2 ) = t1 in einem P-Viereck kreuzen, so würde dadurch im 3D-Netz eine Zerlegung des gesamten zum P-Viereck gehörenden Elementstapels verursacht. Denn es müßten alle Viereckoberflächen des Elements auf der Schicht
64 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Konfliktdreieck mit
Konfliktlayer a
und zusätzlichem
Zerlegungslayer b < a
Zerlegungspfad mit
Zerlegungslayer
a und b
Zerlegungspfade mit
Zerlegungslayer b
Kontur
Abbildung 4.22: Konfliktdreieck mit zugehörigen Zerlegungspfaden
t1 zerlegt werden und damit zur Einhaltung der Konformität alle Elemente
des Elementstapels. (vergl. Abb. 4.11). Besäße ZP1 einen weiteren Zerlegungslayer t2 , so müßten durch die vertikale Zerlegung der Elemente des
Elementstapels das untere und das obere Oberflächenviereck des Elements
auf der Schicht t2 im Elementstapel zerlegt werden und durch das Auftreffen
des 3D-Zerlegungspfades ein seitliches Oberflächenviereck dieses Elements
zerlegt werden. Dadurch müßten auch alle weiteren seitlichen Oberflächenvierecke dieses Elements zerlegt werden: Wenn dieses Element ein Hexaeder
ist, erhielte ZP2 zusätzlich den Zerlegungslayer t2 . Die Anzahl der entsprechenden Zerlegungen würde sich erhöhen. Die Anzahl der zu zerlegenden
Elemente steigt stark an.
Zum besseren Umgang mit Zerlegungspfaden findet eine 1-1-Zuordnung
zu planaren Graphen mit Knoten vom Grad eins oder drei statt.
Definition 53. Ein Z-Knoten (mit Zerlegungslayer t zu einem P-Netz G)
ist das Abbild einer eineindeutigen Zuordnung eines Paares (Zerlegungsdreieck Z, Zl(Z)) oder eines Paares (Ein- oder Auslaufviereck Z, Zl(Z)) mit
Zl(Z)=t (vergl. Abb. 4.23).
Definition 54. Eine Z-Kante (mit Zerlegungslayer t zu einem P-Netz G)
ist das Abbild einer eineindeutigen Zuordnung eines Paares (Zerlegungspfad
ZP, Zl(ZP)) mit Zl(ZP)=t (vergl. Abb. 4.23).
Alle Z-Knoten und Z-Kanten bilden einen nicht notwendigerweise zusammenhängenden Graphen. Die Z-Knoten sind entweder vom Grad eins (Zuordnung eines Konfliktdreiecks, mit Konfliktlayer t, oder Zuordnung eines Ein-
4.1. KONFLIKTELEMENTE UND DEREN AUSWIRKUNGEN
65
oder Auslaufvierecks mit Zerlegungslayer t) oder vom Grad drei (Zuordnung
von Zerlegungsdreiecken, mit Zerlegungslayer t weiterläuft). Der Graph ist
planar, da die Z-Kanten überschneidungsfrei sind (vergl. Forderung 4.1).
Jede Z-Kante ist inzident zu genau zwei Z-Knoten.
Definition 55. Ein Zerlegungsgraph zu einem P-Netz G ist ein Graph,
dessen Knotenmenge aus allen Z-Knoten zu G und dessen Kantenmenge aus
allen Z-Kanten zu G besteht. (vergl. Abb. 4.23)
Abbildung 4.23: Entstehung von Zerlegungsgraphen
In Abb. 4.23 ist das Entstehen von Zerlegungsgraphen dargestellt.
Da als Konfliktelemente ausschließlich Dreiecke generiert werden und
sichergestellt wird, daß ein Elementstapel eines Ein- oder Auslaufvierecks
nicht zerlegt wird, wird durch Einhaltung von Forderung 4.1 garantiert,
daß kein Elementstapel zerlegt werden muß. Damit beschreiben die 3DZerlegungspfade und die 3D-Elemente, an denen sie beginnen und enden alle
zu zerlegenden 3D-Elemente in einem 3D-Netz. Wegen der Definition der
3D-Zerlegungspfade und der Definition eines Zerlegungsgraphen werden damit durch einen Zerlegungsgraphen alle zu zerlegenden 3D-Elemente in einem
3D-Netz beschrieben!
Die Kosten eines Zerlegungsgraphen eines P-Netzes G werden hauptsächlich durch die Anzahl der dadurch bestimmten zu zerlegenden 3D-Elemente bestimmt.
Die Detektion eines Zerlegungsgraphen geschieht ebenfalls mittels des
P-Netzes. Dazu müssen die Zerlegungspfade und ihre Zerlegungslayer bestimmt werden. Dies wird in Kapitel 6 ausführlich diskutiert. Mit Hilfe der
Zerlegungsgraphen können schließlich die Richtungen der Zerlegungen der zu
zerlegenden Elemente optimal festgelegt werden (Kapitel 6, Schema 3.20 IV
b)).
66 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
4.2
Aufgaben der P-Vernetzung
Dieses Unterkapitel zeigt eine Übersicht und Strategie der P-Vernetzung auf.
Im letzten Abschnitt dieses Unterkapitels ist diese in Schema 4.31 dargestellt.
Die einzelnen Aufgaben werden in diesem Unterkapitel erklärt. In Kapitel 5
werden die Lösungen der Aufgaben im Detail aufgezeigt.
Die Kosten eines Zerlegungsgraphen sollen minimiert werden. Das bedeutet zum einen, daß möglichst wenige Konflikt- und Zerlegungsdreiecke
und -pfade mit möglichst wenigen Zerlegungslayern generiert werden, und
zum anderen, daß die zerlegten Elemente eines Netzes von möglichst guter
Qualität sein sollen. Für die P-Vernetzung wurde deswegen eine Strategie entwickelt, die möglichst wenige Konflikt- und Zerlegungselemente und
möglichst wenige und kurze Zerlegungspfade generiert.
Es sollen zuerst alle Bereiche, in denen Konflikt-, Zerlegungsdreiecke oder
Zerlegungsdreieckkandidaten liegen können, vernetzt werden. Für Ecken
(Def. 22 S. 25) ist die Gefahr“ von Konfliktdreiecken bereits bekannt.
”
Definition 56. Konturknoten mit den dazu inzidenten Konturkanten, an denen evtl. P-Dreiecke und damit Zerlegungsdreieckkandidaten generiert werden müssen und die auf Polygonabschnitten außerhalb von Ecken liegen, heißen kritische Bereiche.
Zu den kritischen Bereichen können auch schmale Regionen (vergl. Kapitel 3 Seite 9) gehören. Außerdem sind ungünstige Winkel in den Polygonabschnitten auf kritische Bereiche zu untersuchen.
Definition 57. Eine Zacke innerhalb eines Polygonabschnittes besteht aus
zwei aufeinanderfolgenden P-Kanten mit den dazu inzidenten P-Knoten, deren eingeschlossener Winkel kleiner als γ ist (0◦ < γ <120◦ ).
Definition 58. Der mittlere P-Knoten einer Zacke Z heißt Spitzenknoten
(der Zacke) (Spk(Z)), die beiden anderen heißen (linker bzw. rechter)
Seitenknoten/Anschlußknoten (der Zacke) (Sekl (Z) und Sekr (Z))
(vergl. 4.24).
An Zacken sollen P-Dreiecke generiert werden, da die Vernetzung mit
P-Vierecken zu schlechten Elementen führt, d.h. Zacken gehören zu den kritischen Bereichen. In diesem Sinne bestimmt die Wahl von γ (s. Def. 57),
wann Zerlegungsdreiecke schlechten P-Vierecken vorzuziehen sind. Dies soll
in Abhängigkeit des Kontextes geschehen. γ kann z.B. anders gewählt werden, wenn in der Nähe nicht benachbarte P-Knoten des gleichen oder eines
4.2. AUFGABEN DER P-VERNETZUNG
67
P-Region 1
Seiten-/Anschlußknoten
Spitzenknoten
P-Region 2
Abbildung 4.24: Seiten-/Anschlußknoten und Spitzenknoten einer Zacke
weiteren Polygonabschnitts liegen.
Die Strategie der P-Vernetzung geht nun im Groben wie folgt vor:
Da bei Ecken die Gefahr“ des Entstehens von Konfliktelementen besonders
”
groß ist, werden sie als erstes vernetzt (Schema 4.31 (i)). Anschließend werden alle kritischen Bereiche und schmalen Regionen vernetzt (Schema 4.31
(ii)) und die Vernetzung an den Ecken und kritischen Bereichen aneinander
und für die Erzeugung von Zerlegungspfaden angepaßt (Schema 4.31 (iii)).
Was darunter genau zu verstehen ist, wird später noch deutlich (vergl. Unterkapitel 5.4).
Danach werden die P-Dreiecke durch P-Zerlegungspfade miteinander verbunden (Schema 4.31 (iv)). Da die Konflikt- und Zerlegungsdreiecke Randelemente sind und Konfliktvierecke nicht generiert werden sollen (vergl. Seite
49), ist eine Vermeidung der Entstehung von Zerlegungspfaden entlang der
Kontur in der Regel nicht möglich. Um die Anzahl der Zerlegungspfade
gering zu halten, werden deswegen Zerlegungspfade nach Möglichkeit immer entlang der Kontur generiert. Damit sind P-Dreiecke als Randelmente
zunächst auf jeden Fall Zerlegungsdreieckkandidaten (vergl. Def. 56). Durch
die Führung der Zerlegungspfade entlang der Kontur ist eine kontrollierte
Generierung möglich, die zur Reduzierung der Kosten eines Zerlegungsgraphen führt. Ggfs. müssen weitere Zerlegungspfade innerhalb der Regionen
generiert werden. Danach werden alle übrigen Bereiche der P-Regionen mit
möglichst vielen P-Vierecken vernetzt (Schema 4.31 (v)). Zum Schluß kann
eine Verbesserung der P-Elemente durch ein Smoothing durchgeführt werden. (vergl. Schema 4.31 (vi)).
68 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Zum Auffinden aller Zacken genügt es, die benachbarten Kantenpaare aller Polygonabschnitte bezüglich ihrer Winkel zu überprüfen (vergl. Schema
4.31 (ii) a)). Schmale Regionen können durch ein Gitterverfahren, wie
in [Schu97] [Yoan99] beschrieben, detektiert werden (vergl. Schema 4.31 (ii)
b)). Dazu wird ein gleichmäßiges Gitter über alle Regionen gelegt. Durch den
Vergleich der Inhalte eines Gitterkästchens oder benachbarter Gitterkästchen
können nahe beieinanderliegende P-Knoten verschiedener Polygonteile und
somit auch schmale Regionen leicht ermittelt werden.
Die folgenden Abschnitte beleuchten einige Aufgaben zur P-Vernetzung
detaillierter.
4.2.1
Zacken
Zacken können an allen Stellen eines Polygonabschnittes auftreten. Da Polygonabschnitte immer zwei P-Regionen (P-Region 1 + P-Region 2) (oder
eine P-Region und den Außenbereich (kann analog betrachtet werden)) voneinander trennen (vergl. 4.24), gibt es folgende Möglichkeiten bezüglich der
Tiefenwerte der P-Knoten.
1. (t,t,t+x) Zackenknoten: t; P-Region 1: t; P-Region 2: t+x; t,x ∈ IN
2. (t,t+x,t) Zackenknoten: t; P-Region 1: t+x; P-Region 2: t; t,x ∈ IN
Dabei sei œ P-Region 1 die P-Region, die durch den kleinen Winkel
der Zacke eingeschlossen wird, und P-Region 2 die P-Region, die durch den
großen Winkel eingeschlossen wird (vergl. 4.24).
Der Fall (t,t,t) ist nicht möglich, da ein solcher Polygonabschnitt nicht
nötig ist und spätestens bei der Anpassung der Polygone eliminiert würde.
Die beiden Fälle unterscheiden sich nur durch die Anordnung der Tiefenwerte der beiden P-Regionen. Der Fall, daß P-Region 1 den Tiefenwert
t besitzt, wird im folgenden als t-Fall bezeichnet. Der Fall, daß P-Region
2 den Tiefenwert t besitzt, also P-Region 1 den Tiefenwert t+x, wird im
folgenden als t+x-Fall bezeichnet.
Zur möglichst vollständigen Untersuchung muß außerdem das Auftreten
von Zacken in allen möglichen Kontexten betrachtet werden. Hierbei ist
jedoch zu berücksichtigen, daß viele dieser Fälle relativ unwahrscheinlich
sind.
4.2. AUFGABEN DER P-VERNETZUNG
69
Zacken können nebeneinanderliegen (Abb. 4.25 (i)) oder einzeln auftreten
(Abb. 4.25 (ii)). Sie können frei liegen oder nahe bei nicht benachbarten PKnoten des gleichen (Abb. 4.25 (iii)) oder eines weiteren Polygonabschnitts
liegen. Dies gilt für einzelne Zacken und für mehrere benachbarte Zacken.
Dabei sollen die Begriffe wie folgt festgelegt sein:
(i)
(ii)
(iii)
Abbildung 4.25: Verschiedenes Auftreten von Zacken
Definition 59. Zwei nebeneinanderliegende Zacken Z1 und Z2 haben
entweder einen gemeinsamen P-Knoten oder eine gemeinsame P-Kante. Es
gilt dann ne(Z1 ,Z2 ).
Eine Zacke Z liegt nahe eines nicht benachbarten P-Knoten K, wenn
der Abstand eines P-Knotens von Z zu K nicht größer als 4/3*DKL ist. Es
gilt dann na(Z,K). Der P-Knoten K kann, muß aber nicht zu einer Zacke
gehören.
Es ergeben sich für bis zu zwei Polygonabschnitte daraus folgende Kombinationen.
Tabelle 4.3.
F all
Zacke(n)
N achbarschaf t P olygonabschnitt(e)
(i)
einzeln
f reiliegend
(ii) nebeneinanderl.
f reiliegend
(iii)
einzeln
nahebei
gleichem
(iv)
einzeln
nahebei
unterschiedl.
(v) nebeneinanderl.
nahebei
gleichem
(vi) nebeneinanderl.
nahebei
unterschiedl.
Bemerkung 4.5. Ausreißerregionen (vergl. [Schu97] und Abb. 3.15 (ii) S.
28) werden durch Fall (iii) Tabelle 4.3 berücksichtigt.
70 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Für mehr als zwei Polygonabschnitte sind noch beliebige Kombinationen
dieser Fälle vorstellbar, die aber aufgrund der geringen Wahrscheinlichkeit
ihres Auftretens hier nicht berücksichtigt werden.
Zacken können aufgrund ihrer Winkel leicht detektiert werden und Nachbarschaften leicht festgestellt werden. Die Einordnung der einzelnen Fälle
aus Tabelle 4.3 (Schema 4.31 (ii) c)) geht ihrer Vernetzung (Schema 4.31 (ii)
f)g)) voraus.
4.2.2
Schmale Regionen
Schmale Regionen stellen nicht notwendigerweise kritische Bereiche dar, da
sie ggfs. ausschließlich mit P-Vierecken vernetzt werden können. Sie können
aber - auch als nicht kritische Bereiche - für die Vernetzung und Minimierung
von Zerlegungsdreiecken größere Probleme darstellen. Eine sorgfältige Betrachtung und Untersuchung der möglich auftretenden Fälle ist nötig. Zum
einem muß die Vernetzung der schmalen Region selbst, zum anderen muß die
Vernetzung der Übergänge zu breiteren Bereichen untersucht werden. Außerdem muß die Angrenzung an Schnittknoten, also an Ecken, beachtet werden.
Es ist möglich, daß eine schmale Region mit vielen Zerlegungsdreiecken
vernetzt werden muß. Durch die direkte Nachbarschaft der Zerlegungsdreiecke zu anderen P-Regionen muß der Umgang mit solchen P-Dreiecken vorsichtig vonstatten gehen. Zu schmalen Regionen können auch die Fälle (v),
(vi) aus Tabelle 4.3 zählen. D.h., daß schmale Regionen auch Zacken enthalten können. In diesen Fällen ist die Vernetzung besonders sensitiv durchzuführen.
In Abb. 4.26 sind zwei schmale Regionen dargestellt, deren beide Polygonteile durch wenige P-Kanten miteinander verbunden sind. Ein solcher
Fall tritt z.B. auf, wenn die beiden Polygonteile zu einem Polygon gehören.
(i)
(ii)
Abbildung 4.26: Schmale Regionen
4.2. AUFGABEN DER P-VERNETZUNG
71
Definition 60. Eine Kehrtwende an einer schmalen Region ist ein Teil
eines Polygonzugs, der am Ende einer schmalen Region am P-Knoten K
beginnt und an der gleichen schmalen Region an dem dem P-Knoten K gegenüberliegenden Knoten J endet und dessen P-Kanten nicht zur schmalen
Region gehören (vergl. Abb. 4.26).
Die Vernetzung im Fall Abb. 4.26 (ii) stellt keine besondere Anforderung
dar. Sind die beiden Polygonteile durch weniger als drei P-Kanten (vergl.
Abb. 4.26 (i)) miteinander verbunden, so muß dieser Bereich gesondert betrachtet werden.
Die Vernetzung benachbarter schmaler Regionen geschieht sinnvollerweise sukzessiv bezüglich ihrer Nachbareigenschaften. Auf diese Weise können
P-Dreiecke, die beim vernetzten Nachbarn auftreten, bei der Vernetzung der
aktuellen schmalen Region berücksichtigt werden.
Die P-Kanten, die an eine schmale Region grenzen (vergl. 4.27), gehören
meistens zu einem breiteren Teil der P-Region, zu dem auch die schmale
Region gehört (Übergangsbereich ).
t
t
t
t
t+x
t
t
t
t
t+x
t+x
t
t
t
t+x
t
t
t
t+x
t
(i)
(ii)
Abbildung 4.27: Übergangsbereich bei schmalen Regionen
Auch hier können Konflikt- oder Zerlegungsdreiecke entstehen, was abhängig von den Tiefenwerten der beteiligten Polygonabschnitte und von einer
möglichen Zerlegung der Elemente der schmalen Region ist.
Schmale Regionen, deren P-Knoten auf den Polygonteilen gleichen Tiefenwert besitzen, der kleiner ist als der Tiefenwert der P-Region (Abb. 4.28(a)),
72 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
machen keinen Sinn und sollen schon bei der Anpassung der P-Regionen nicht
in die P-Regionenliste aufgenommen werden (Abb. 4.28(b)). Bei der Vernetzung solcher schmalen P-Regionen würden nur P-Elemente mit Tiefenwert
der Polygonteile, also auch mit Tiefenwert der benachbarten P-Regionen enstehen.
t
t
t
t
t
t
t
t+x
t
t
t
t
t
t
t
a)
t
t+x
t
t
t
t
t
t+x
t
t
b)
Abbildung 4.28: a) Nicht-notwendige schmale P-Region b) Lösung ohne die
schmale Region
Die Vernetzung im Bereich von schmalen Regionen, die durch einen Schnitt
ihrer Polygonteile beendet werden, geschieht wie folgt: Die schmale Region
ist klar festgelegt (bis ein oder zwei P-Kanten vor dem Schnittknoten, vergl.
Seite 27) und wird wie eine solche vernetzt. Daran werden Übergangselemente generiert. Die Ecke wird als solche vernetzt. Alle Elemente müssen
aneinanderangepaßt werden. Es können dadurch evtl. relativ schlechte Elemente entstehen, was aber zur Einhaltung der Strategie, zur Vermeidung von
Konfliktvierecken und somit zur Vermeidung vieler zu zerlegender Elemente
im Erstnetz in Kauf genommen wird.
Nahe beieinanderliegende Polygonteile, von denen ein Polygonteil auf
dem Ein- oder Auslaufpolygon liegt, zählen nicht zu den schmalen Regionen (vergl. Seite 27). Verläuft entlang des Ein- bzw. Auslaufpolygons kein
Zerlegungspfad, so kann eine Vernetzung wie in einer breiteren Region stattfinden, wobei die P-Knoten des Ein- bzw. Auslaufpolygons wie P-Knoten,
die innerhalb einer Region liegen, integriert werden. Dies ist möglich, da
sie den gleichen Tiefenwert besitzen wie die P-Knoten innerhalb der Region. Verläuft entlang des Ein- bzw. Auslaufpolygons ein Zerlegungspfad, so
können diese Bereiche auch wie schmale Regionen vernetzt werden.
4.2. AUFGABEN DER P-VERNETZUNG
73
Da die Vernetzung schmaler Regionen sehr aufwendig ist und sensitiv
durchgeführt werden muß, geschieht sie vor der Vernetzung der Zacken (Schema 4.31 (ii) d)). Es ist sinnvoll, die Vernetzung des Übergangsbereichs direkt
nach der Vernetzung der schmalen Regionen durchzuführen (Schema 4.31 (ii)
e)).
4.2.3
Anpassung und Zerlegungspfade
Die Richtung, in die ein Zerlegungspfad von einem Konfliktdreieck aus verläuft,
ist nach Lemma 4.10 immer die P-Kante des Konfliktdreiecks, deren PKnoten die größten Tiefenwerte besitzen. Entweder zeigt diese P-Kante ins
Regioninnere oder, wie es bei der Vernetzung der Ecken häufig eintritt, in
die Richtung der Randelemente. Die an diese P-Kanten zu generierenden
Zerlegungspfade sollen wieder auf Konfliktdreiecke oder Zerlegungsdreieckkandidaten treffen.
Die Zerlegungspfade, die entlang der Kontur aus Randelementen generiert
werden, beginnen und enden jeweils an einem Zerlegungsdreieck, das ebenfalls Randelement ist. Zwischen den Zerlegungsdreiecken sollen möglichst
gute P-Vierecke entstehen, die mit genau zwei benachbarten P-Knoten auf
der Kontur liegen, also keine Konfliktvierecke sein können. Dazu werden PKanten mit Durchschnittskantenlänge auf den Winkelhalbierenden der Winkel zweier benachbarter P-Kanten der Kontur generiert (vergl. Abb. 4.29):
Definition 61. Ein Randelement erfüllt das ±90◦ -Kriterium, wenn für die
Winkel αi zwischen den P-Kanten (des Randelements), die mit genau einem
P-Knoten auf der Kontur liegen, und der Kontur gilt: 90◦ − ² < αi < 90◦ + ²
mit ²=90◦ -γ für das γ aus Definition 57 (vergl. Abb. 4.29).
90
ε
90
ε
Abbildung 4.29: ±90◦ -Kriterium
Die P-Vierecke der Zerlegungspfade entlang einer Kontur sollen das ±90◦ Kriterium erfüllen. Deswegen werden zwischen die Zerlegungsdreiecke Viereckreihen generiert:
Definition 62. Eine Viereckreihe ist eine nicht erweiterbare Reihe von benachbarten Randelementen, die nicht an einer Kante einer Ecke liegen und
74 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
aus P-Vierecken bestehen, die das ±90◦ -Kriterium erfüllen. (Die Viereckreihe entsteht durch Erzeugen von P-Kanten mit Durchschnittkantenlänge
auf den Winkelhalbierenden je zweier benachbarter Konturkanten.) (vergl.
Abb. 4.30).
t
t
t
t+x
t
t
(i)
t
t
t
t
t
t
(ii)
Abbildung 4.30: Viereckreihen
Für die Winkel βi zwischen den noch nicht vernetzten P-Kanten der
Kontur, an der eine Viereckreihe generiert werden soll, muß also gelten:
180 − 2² ≤ βi ≤ 180 + 2². Diese Bedingung ist für alle Kantenpaare, die
keine P-Kante einer Zacke oder Ecke enthalten, erfüllt!
Für die Kantenpaare, die (genau) eine P-Kante einer (bereits vernetzten)
Zacke oder Ecke enthalten, muß ggfs. das ±90◦ -Kriterium noch erfüllt werden. Dies geschieht durch eine an die P-Elemente der Zacke/Ecke angepaßte
Vernetzung der Anschlußknoten (s. Def. 58) mit Anpassungselementen
(Schema 4.31 (iii) a)). Anpassungselemente werden an die bereits generierten
Elemente der Zacke/Ecke generiert und sorgen für die Erfüllung des ±90◦ Kriteriums. Liegen z.B. zwischen zwei Schnittknoten nur ein oder zwei PKnoten, so muß die Anpassung der an den zugehörigen Ecken generierten
P-Elemente gesondert behandelt werden (Schema 4.31 (iii) b)).
Nach der Anpassung wird die Generierung der Zerlegungspfade entlang
der Konturen mittels Viereckreihen vervollständigt (Schema 4.31 (iv) a)).
Nach der Vernetzung der Zerlegungspfade entlang der Kontur findet die
Vernetzung von Zerlegungspfaden innerhalb der P-Regionen statt (Schema
4.31 (iv) b)).
4.2.4
Übersicht
Im nächsten Kapitel werden die Probleme der P-Vernetzung im Detail behandelt. Deswegen ist hier eine komplette Übersicht und Reihenfolge der
einzelnen Aufgaben dargestellt.
4.2. AUFGABEN DER P-VERNETZUNG
75
Vernetzung der Ecken
a)
Detektion aller
Zacken
Ermittlung von schmab) len Regionen mittels
Gitterverfahren
(i)
c)
Überprüfung des
Kontextes der
Zacken und Einordnung
d)
Vernetzung der
schmalen Regionen
mit und ohne Zacken
e)
Vernetzung der
Übergangsbereiche
f)
Vernetzung nahe
beieinanderliegender
Zacken zweier
Polygonabschnitte
Vernetzung der Ecken
Vernetzung von kritischen Bereichen
(ii)
und schmalen Regionen
III P-Vernetzung
(iii)
Anpassung
(iv)
Generierung von
Zerlegungspfaden
(v)
Vernetzung übriger
Gebiete
(vi)
g)
a)
Smoothing
Vernetzung aller
restlichen Zacken
gegebenenfalls
Anpassung durch
Anpassungselemente
b)
Anpassung für nahe
beieinanderliegende
Elemente
a)
Vernetzung der restlichen Randelemente
durch Viereckreihen
b) Generierung aller Zerlegungspfade innerhalb
der P-Regionen
Vernetzung aller übrig
gebliebenen Bereiche
der P-Regionen
Smoothing der P-Netze
aller P-Regionen
Abbildung 4.31: Detaillierte Auflistung für die P-Vernetzung (vergl. Schema
3.20 III)
76 KAPITEL 4. DIE P-VERNETZUNG: PROBLEME UND AUFGABEN
Kapitel 5
Lösungen zur P-Vernetzung
Bemerkung:
Da dieses Kapitel sich ausschließlich mit der P-Vernetzung beschäftigt, werden der Einfachheit halber die Begriffe : P-Knoten, P-Kante, P-Viereck,
P-Dreieck, P-Element und P-Vernetzung durch die Begriffe Knoten, Kante,
Viereck, Dreieck, Element und Vernetzung ersetzt.
In diesem Kapitel werden gemäß Schema 4.31 Seite 75 die lokalen Vernetzungen diskutiert. In Unterkapitel 5.1 wird zunächst die Generierung von
Elementen an den Ecken beschrieben (Schema 4.31 (i)). Die Detektion aller Zacken und schmalen Regionen sowie die Überprüfung des Kontextes der
Zacken (Schema 4.31 (ii) a), b) c)) können mittels Gitterverfahren (s. S. 68)
stattfinden. Anschließend wird die Generierung von Elementen in schmalen
Regionen und an deren Übergängen in Unterkapitel 5.2 diskutiert (Schema
4.31 (ii) d)e)). Es folgt die Beschreibung zur Generierung von Elementen
an Zacken, die nicht innerhalb einer schmalen Region liegen (Schema 4.31
(ii) f)g), Unterkapitel 5.3). Die Generierung von Anpassungselementen und
die Vernetzung von Anschlußknoten (vergl. Schema 4.31 (iii) a)b)) wird in
Unterkapitel 5.4 beschrieben. In Unterkapitel 5.5 wird schließlich die Generierung von Zerlegungspfaden innerhalb der Regionen beschrieben (Schema
4.31 (iv) b)). Die Generierung von Zerlegungspfaden an den Konturen mittels
Viereckreihen (Schema 4.31 (iv) a)) wurde bereits in Abschnitt 4.2.3 diskutiert. Schließlich wird in Unterkapitel 5.6 die Fertigstellung des P-Netzes
angesprochen (Schema 4.31 (v) (vi)).
Zum Abschluß der einzelnen Unterkapitel wird die Vernetzung jeweils auf
das begleitende Wurmbeispiel oder einen Ausschnitt davon angewendet.
77
78
5.1
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Vernetzung der Ecken
Zur Vernetzung der Ecken (Schema 4.31 (i)) werden zunächst alle möglich
auftretenden Tiefenwertkombinationen der Knoten und der anliegenden Region der Ecken untersucht. Anschließend werden bezüglich der Anforderungen an Zerlegungspfade sinnvolle Strategien zur Vernetzung diskutiert und
schließlich die Vernetzung für alle möglich auftretenden Fälle vorgestellt.
5.1.1
Tiefenwertkombinationen der Ecken
Im folgenden wird untersucht, welche Tiefenwertkombinationen an Ecken
bezüglich ihrer Knoten und der Region, an der beide Kanten der Ecke liegen,
möglich sind. Dazu müssen alle möglichen Tiefenwertkombinationen der Regionen, die an einen Schnittknoten grenzen, ermittelt werden. Die Detektion
aller Tiefenwertkombinationen der an einen Schnittknoten angrenzenden Regionen ermöglicht die Ermittlung aller Tiefenwertkombinationen der Knoten
und der anliegenden Region an Ecken. Wenn alle Fälle von Tiefenwertkombinationen an den Ecken bekannt sind, kann die Vernetzung der Ecken lokal
durch Templatetechnik stattfinden! Dies fördert die Automatisierung der
Vernetzung und ergibt für diesen Teil der Vernetzung einen bezüglich der
Anzahl der Ecken linearen Zeitaufwand. Die Detektion aller Tiefenwertkombinationen findet mit Hilfe einer Unterscheidungstabelle statt (vergl. Tabelle
5.1):
Zur Ermittlung aller Tiefenwertkombinationen wird zwischen dem Schnitt
und der Berührung zweier Polygone unterschieden. Schnittpolygone trennen
Regionen voneinander, deren Tiefenwerte sich um einen Summand a unterscheiden, d.h. die zugehörigen Polygonabschnitte trennen Regionen mit
den Tiefenwerten t und t+a voneinander. I.a. gilt a=1. Verallgemeinernd
wird angenommen, daß t, a ∈ IN gilt. Entsprechendes gilt für die Verfeinerungspolygone; ihre zugehörigen Polygonabschnitte trennen Regionen mit
den Tiefenwerten t und t+b (b ∈ IN ). Uferpolygone trennen Regionen von
einem Bereich, dem der Tiefenwert null zugeordnet wird. Ein- und Auslaufpolygone trennen Regionen von Gebieten, denen der gleiche Tiefenwert wie
der Region zugeordnet würde.
5.1. VERNETZUNG DER ECKEN
79
Tabelle 5.1.
Schnitt
miteinemKnoten alsT eileinesP olygonzugs
Schnittp. − V erf p.
1)(i)a)
1)(i)b)
Schnittp. − U f erp.
2)(i)a)
2)(i)b)
Schnittp. − Ein − /Auslauf p.
3)(i)a)
3)(i)b)
V erf p. − U f erp.
4)(i)a)
4)(i)b)
V erf p. − Ein − /Auslauf p.
5)(i)a)
5)(i)b)
U f erp. − Ein − /Auslauf p.
6)(i)a)
6)(i)b)
Berührung
miteinemKnoten alsT eileinesP olygonzugs
Schnittp. − V erf p.
1)(ii)a)
1)(ii)b)
Schnittp. − U f erp.
2)(ii)a)
2)(ii)b)
Schnittp. − Ein − /Auslauf p.
3)(ii)a)
3)(ii)b)
V erf p. − U f erp.
4)(ii)a)
4)(ii)b)
V erf p. − Ein − /Auslauf p.
5)(ii)a)
5)(ii)b)
U f erp. − Ein − /Auslauf p.
6)(ii)a)
6)(ii)b)
Es werden nun für jeweils zwei Polygontypen gemäß Tabelle 5.1 die einzelnen Möglichkeiten für einen Schnitt und anschließend für eine Berührung
diskutiert. Es müssen jeweils die in der linken Spalte in Tabelle 5.1 aufgelisteten Polygontypenpaare betrachtet werden.
Bei einem Schnitt (in einem Knoten) zwischen Verfeinerungspolygon und
Schnittpolygon (vergl. Tabelle 5.1 1) (i) a)) liegen am Schnittknoten vier
Regionen mit den Tiefenwerten t, t+a, t+b und t+a+b an. Für die Lage
dieser Regionen ist der in Abb. 5.1 (i) dargestellte Fall bis auf Spiegelung
eindeutig.
t
t
t
t+b
t+a
t+b
t+a
t+b
t+a
t+a+b
t+a+b
t+a+b
(i)
(ii)
(iii)
Abbildung 5.1: Schnitt eines Schnittpolygons mit einem Verfeinerungspolygon
80
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Es ist möglich, daß ein Verfeinerungs- und ein Schnittpolygon teilweise
aufeinanderliegen und der Schnitt zwischen einem Schnittpolygon und einem
Verfeinerungspolygon einen Polygonabschnitt umfaßt (vergl. Tabelle 5.1 1)
(i) b)). Hierfür kommen die in Abb. 5.1 (ii) und (iii) dargestellten Fälle in
Betracht.
Beim Schnitt eines Verfeinerungspolygons mit einem Uferpolygon (vergl.
Tabelle 5.1 4) (i) a)) entsteht bis auf Spiegelung ein Fall wie in Abb. 5.2 (i).
t+b
t
t
t
t
t
0
0
0
(i)
t+a/b
0
t+a/b
(ii)
(iii)
Abbildung 5.2: Weitere Schnittkombinationen
Beim Schnitt eines Schnittpolygons oder eines Verfeinerungspolygons mit
einem Ein- oder Auslaufpolygon (vergl. Tabelle 5.1 3) + 5) (i) a)) entsteht
bis auf Spiegelung ein Fall wie in Abb. 5.2 (ii).
Beim Schnitt eines Uferpolygons mit einem Ein- oder Auslaufpolygon
(vergl. Tabelle 5.1 6) (i) a)) entsteht bis auf Spiegelung ein Fall wie in
Abb. 5.2 (iii).
Der Schnitt eines Uferpolygons mit einem Schnittpolygon (vergl. Tabelle
5.1 2) (i) a) + b)) ist aufgrund der Konstruktion der Polygone nicht möglich.
Ein Schnitt mit einem Berandungspolygon als Teil eines Polygonzugs ist
aufgrund der Konstruktion nicht möglich, weswegen die Fälle 3), 4), 5) und
6) (i) b) aus Tabelle 5.1 nicht untersucht werden müssen.
Damit sind alle Fälle des Schnitts diskutiert worden.
Die Tiefenwertkombinationen für die Berührung eines Verfeinerungspolygons mit einem Schnittpolygon/Berandungspolygon sind vielfältiger, da hier
die Anordnung der Tiefenwerte der Regionen die durch Schnitt- und Verfeinerungspolygone getrennt sind, nicht durch Spiegelung aufgehoben wird. Bei
einem Berandungspolygon ist die Anordnung der Tiefenwerte festgelegt, da
der Tiefenwert des Außenbereichs festliegt
5.1. VERNETZUNG DER ECKEN
81
Es werden zunächst kurz die Fälle mit einem Berührungspunkt vorgestellt. Anschließend werden diese Fälle für längere Berührungsabschnitte
betrachtet.
Für die Schnitt- und Verfeinerungspolygone resultieren für einen Berührungspunkt (vergl. Tabelle 5.1 1) (ii) a)) die vier in Abb. 5.3 dargestellten
Fälle.
t+a+b
t+b
t+a
t+a+b
(i)
t+b
t+a+b
t
t+a
t
t+a+b
t+b
t+a
(ii)
(iii)
t
t+a
t+b
t
(iv)
Abbildung 5.3: Berührung eines Schnittpolygons mit einem Verfeinerungspolygon
In der Darstellung Abb. 5.3 wird das links gezeichnete Polygon jeweils als
Schnittpolygon und das rechts gezeichnete Polygon als Verfeinerungspolygon angenommen. In Abb. 5.3 (i) liegt der größere Tiefenwert bezüglich des
Schnittpolygons rechts, der größere Tiefenwert bezüglich des Verfeinerungspolygons links. In Abb. 5.3 (ii) liegen jeweils beide größten Tiefenwerte links.
In Abb. 5.3 (iii) liegen jeweils beide größten Tiefenwerte rechts. In Abb. 5.3
(iv) liegt der größere Tiefenwert bezüglich des Schnittpolygons links, der
größere Tiefenwert bezüglich des Verfeinerungspolygons rechts. Da sowohl
a ∈ IN als auch b ∈ IN gilt, sind die Fälle Abb. 5.3 (ii) und (iii) bis auf Spiegelung identisch. Es verbleiben die drei zu unterscheidenen Fälle Abb. 5.3(i),(ii)
und (iv).
Für die Berührung zwischen einem Uferpolygon und einem Verfeinerungspolygon gibt es die in Abb. 5.4 (i) dargestellten Fälle.
In Abb. 5.4 (i) a) liegt der zu verfeinernde Bereich oberhalb des Verfeinerungspolygons (, das oberhalb des Uferpolygons liegt), in 5.4 (i) b) liegt der
zu verfeinernde Bereich zwischen Verfeinerungspolygon und Uferpolygon.
Für die Berührung zwischen einem Ein- oder Auslaufpolygon und einem
Schnitt- oder Verfeinerungspolygon (vergl. Tabelle 5.1 3)+5) (ii) a)) gibt es
die in 5.4 (ii) dargestellten Fälle.
In 5.4 (ii) a) liegt der zu verfeinernde Bereich links des Schnitt- bzw.
Verfeinerungspolygons (, das links des Ein- bzw. Auslaufpolygons liegt), in
82
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t
t+b
t
t
t
t+b
t+b
0
0
(i) a)
(i) b)
t+a/b
t+a/b
t
t
t
(ii) a)
t
t+a/b
(ii) b)
Abbildung 5.4: Weitere Berührungskombinationen
5.4 (ii) b) liegt der zu verfeinernde Bereich zwischen Schnitt- bzw. Verfeinerungspolygon und Ein- bzw. Auslaufpolygon.
Berührungen zwischen Schnitt- oder Uferpolygon und Ein- oder Auslaufpolygon (vergl. Tabelle 5.1 2)+6) (ii)) sind aufgrund ihrer Konstruktion
nicht möglich.
Da eine Berührung zwischen zwei Polygonen sich nicht auf einen Knoten
beschränken muß, sind für jeden dieser Fälle auch längere Berührungsabschnitte zu berücksichtigen (vergl. Abb. 5.5). Die Unterscheidung von einzelnen Berührungknoten und Berührungsabschnitten zweier sich berührender
Polygone ist notwendig, da jeweils unterschiedliche Kombinationen der Tiefenwerte der Ecken entstehen können.
Für die Berührung zwischen einem Schnittpolygon und einem Verfeinerungspolygon (vergl. Tabelle 5.1 1) (ii) b)) resultieren die in der Abb. 5.5
dargestellten Fälle.
Für die Berührung zwischen einem Uferpolygon und einem Verfeinerungspolygon (vergl. Tabelle 5.1 4) (ii) b)) resultieren die in der Abb. 5.6 dargestellten Fälle.
Für die Berührung zwischen einem Ein- oder Auslaufpolygon und einem
Schnitt- bzw. Verfeinerungspolygon (vergl. Tabelle 5.1 3)+5) (ii) b)) resultieren die in der Abb. 5.7 dargestellten Fälle.
Der in Abb. 5.5 (iii) b) dargestellte Fall wird so nicht auftreten, da bei der
Anpassung der Polygone und Zusammenfassung zu Regionen der Polygonteil
zwischen den beiden Schnittknoten eliminiert wird, weil er zwei Regionen mit
gleichem Tiefenwert voneinander trennt. Für a=b gilt gleiches bei den Fällen
aus Abb. 5.1 (ii) und Abb. 5.5 (i) b). Für Abb. 5.7 (ii) b) gilt dies nicht, da
der entsprechende Polygonabschnitt hier ein Berandungspolygon darstellt,
das nicht entfernt werden darf.
5.1. VERNETZUNG DER ECKEN
t+a+b
t+a
t+b
83
t+a+b
t+a
t+b
t+a+b
t+a
t
t+a
t+a+b
t+a
t+a
t+a+b
(i) a)
(i) b)
t
t
t+a
t+a
t+a+b
t
t+a
(ii) a)
(ii) b)
t+a
t
(iii) a)
t
(iii) b)
Abbildung 5.5: Berührungsmöglichkeiten für Abb.5.3
Folgerung 5.1. Die in Abb. 5.1-Abb. 5.7 dargestellten Fälle sind bis auf Spiegelung vollständig bezüglich des Schnitts und der Berührung zweier unterschiedlicher Polygone.
Beweis. Geht aus der Diskussion und Tabelle 5.1 hervor.
Die Ecken für das Wurmbeispiel (vergl. Abb. 5.24) sind ausschließlich
durch die Fälle 1)(i)a), 3)(i)a), 4)(i)a) 6)(i)a) und 1)(ii)b) aus Tabelle 5.1
entstanden. (Ein Polygonabschnitt (im oberen Teil), der eine Berührung eines Verfeinerungspolygons mit einem Schnittpolygon darstellte, trennte zwei
Regionen mit gleichem Tiefenwert voneinander (vergl. Abb. 3.13 und 3.14)
wurde deswegen entfernt und es entstand eine Region. Die Schnittknoten
wurden dabei zu Knoten eines Polygonabschnitts, der teilweise aus einem
Schnittpolygon und teilweise aus einem Verfeinerungspolygon entsteht.)
Zur Ermittlung aller möglich auftretenden Tiefenwertkombinationen der
Ecken aus den in den Abbildungen 5.1-5.2 und 5.5-5.7 dargestellten Fällen
müssen den Knoten ihre Tiefenwerte zugeordnet werden.
Die eindeutige Zuordnung (vergl. auch Abschnitt 4.1.1) setzt eine topologische Sortierung der Größen voraus: Zur deutlicheren Darstellung werden a
84
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t+b
t+b
t
t
t
t
t
t
t+b
t+b t+b
t+b
0
0
0
0
(i) a)
(i) b)
(ii) a)
(ii) b)
Abbildung 5.6: Weitere Berührungskombinationen
t
t+a/b
t
t+a/b
t+a/b
t
t+a/b
t
t
t
t
t
t
t+a/b
t
(i) a)
(i) b)
t+a/b
(ii) a)
(ii) b)
Abbildung 5.7: Weitere Berührungskombinationen
und b durch x und y mit x, y ∈ IN ersetzt. Falls a<b gilt: Setze x=a, x+y=b;
falls a=b gilt: Setze x=a=b. Falls a>b gilt: Setze x=b, x+y=a. Falls nur a
oder nur b auftritt, können sie jeweils durch x ersetzt werden. Den Knoten
können dann nach der im Abschnitt 4.1.1 beschriebenen Strategie Tiefenwerte zugeordnet werden. Z.B. ergeben sich für den Fall aus Abb. 5.5 (i) b)
für a<b die Tiefenwertkombination in Abb. 5.8 (a), für a=b die Tiefenwertkombination in Abb. 5.8 (b) und für a>b die Tiefenwertkombination in 5.8
(c).
Es wird hier vorausgesetzt, daß zwischen zwei Schnittknoten wenigstens
ein weiterer Knoten liegt. (Die Vernetzung zweier direkt benachbarter Schnittknoten wird in Abschnitt 5.1.8 gesondert behandelt.) Die Ersetzung kann auf
diese Weise mit allen der in den Abb. 5.1-5.2 und 5.5-5.7 dargestellten Fällen
vorgenommen werden.
Für die Ecken resultieren daraus die in Abb. 5.9 dargestellten Tiefenwertkombinationen. Für die beiden Knoten, die nicht Schnittknoten sind, wird
die Reihenfolge ihrer Tiefenwerte nicht berücksichtigt. Eine Vernetzung der
jeweils anderen Reihenfolge ist lediglich eine Spiegelung. Ein gleicher Summand bei jedem Tiefenwert wird weggelassen, da t, a, b, x, y ∈ IN gilt. Da
5.1. VERNETZUNG DER ECKEN
t+2x+y
t+x+y
t+2x
t+x
t+x
t+x
t+x+y
t+2x+y
t+x
t+x
t+x+y
t+x
t+x t+x
t+x
t+x
t+x+y
85
t+x
t+x t+x
t+x
t+x
t+x
t+x
t+xt+x+y
t+x
t+x
t+x
t+x+y
t+2x+y
t+2x
t+2x+y
(a)
(b)
(c)
Abbildung 5.8: Topologische Sortierung für Abb. 5.5 (i) b)
x, y ∈ IN gilt, werden Fälle, die durch den Tausch von x und y identisch sind,
nur einmal aufgeführt.
Lemma 5.1. Die in Abb. 5.9 dargestellten Tiefenwertkombinationen sind bis
auf Spiegelung vollständig.
Beweis. Folgt aus der vorherigen Diskussion und aus Folgerung 5.1.
Da t, x, y ∈ IN gilt und für die Vernetzung der Ecken die Tiefenwertkombinationen der Knoten und der anliegenden Region nur auf eine topologische
Ordnung dieser differenziert werden müssen, können die vierzehn Fälle aus
Abb. 5.9 auf sieben Tiefenwertkombinationen reduziert werden, wobei t ∈ IN0
und x, y ∈ IN gilt.
Folgerung 5.2. Es sei t, x, y ∈ IN . Dann sind die in Abb. 5.10 dargestellten
Tiefenwertkombinationen bezüglich einer topologischen Sortierung der Tiefenwerte bis auf Spiegelung vollständig.
Diese Tiefenwertkombinationen werden im folgenden genauer untersucht.
Neben der Unterscheidung der Typen (vergl. Bezeichnung in Abb. 5.10)
zur Vernetzung muß pro Typ eine Unterscheidung des anliegenden Winkels
stattfinden. Dazu findet eine Einordnung der Winkel in fünf Kategorien
statt.
86
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t
0
t
t
0
0
(i)
t
0
0
t
t+x
t
t
t+x
(vii)
t+x
t+x
(xi)
t+x
t
t+2x
t+x
(xii)
t
t
t
0
(iii)
(ii)
(vi)
t
t
t+x
t
t+x
t+x
t
t
t
t+x
(viii)
t
t+2x+y
t
t+x
(xiii)
t
t
t
(iv)
t+2x
t+x
t+x
t+x+y
t+x
(ix)
t+x
t
t
t
(v)
t
t+2x+y
t
t+x
(x)
t+2x+y
t+x+y
(xiv)
Abbildung 5.9: Aus den Schnitten und Berührungen resultierende Fälle für
die Ecken
Tabelle 5.2.
Kategorie : ±α ...(◦ ) > α α ≥ ...(◦ )
±20
0
45
±90
45
135
±180
135
225
±270
225
315
±340
315
360
Die kleineren Winkel sind sehr viel wahrscheinlicher als die größeren Winkel, da an einem Schnittknoten drei oder vier Winkel anliegen und diese zusammen 360◦ ergeben müssen. Dies kommt der Tatsache entgegen, daß bei
kleineren Winkeln i.a. weniger Konfliktdreiecke erzeugt werden müssen.
Die Vernetzung der Ecken wird pro Winkelkategorie pro Typ diskutiert.
Dabei wird zunächst davon ausgegangen, daß die nicht mittig liegenden Kno-
5.1. VERNETZUNG DER ECKEN
t
t
t
t
(i) Typ 1
t+x
t+x
t
t+x
(v) Typ 5
t
t+x
87
t
t+x
t
t
(ii) Typ 2
t
t+x
(iii) Typ 3
t+x
t+x
t+x+y
t
t+x
(vi) Typ 6
t
t+x+y
t
t+x
(iv) Typ 4
t+2x+y
t
t+x+y
(vii) Typ 7
Abbildung 5.10: Aus Abb. 5.9 resultierende Tiefenwertkombinationen/Typen
ten der Ecken keine Schnittknoten sind. Anschließend wird auf die Vernetzung zweier nebeneinanderliegender Schnittknoten eingegangen.
Da durch die Vernetzung der Ecken Konflikt- und Zerlegungselemente
entstehen können, sollen vorher noch einige grundlegende, die Vernetzung
beeinflussende Überlegungen diskutiert werden.
5.1.2
Anforderung an Zerlegungspfade
Wenn Zerlegungspfade an beliebigen Kanten einer Ecke mittels eines Zerlegungsdreiecks in eine andere Region gelangen können, so erhöht dies die
Unübersichtlichkeit der Vernetzung. Da an manchen Kanten jedoch zwangsweise Konfliktdreiecke und damit Zerlegungsdreiecke, die einen Zerlegungspfad (tieferen Zerlegungslayers) weiterleiten können, generiert werden müssen,
läßt sich ggfs. die Weiterleitung eines Zerlegungspfades in eine benachbarte
Region nicht immer vermeiden.
Es soll jedoch über Kanten von Ecken, an denen von beiden Seiten nicht
notwendigerweise ein Zerlegungsdreieckkandidat generiert werden muß, kein
Zerlegungspfad geführt werden. Das bedeutet, daß an diesen Kanten keine
Zerlegungsdreieckkandidaten generiert werden dürfen.
Zum Auffinden solcher Kanten wird zwischen Kanten mit Knoten gleichen Tiefenwerts und Kanten mit Knoten unterschiedlicher Tiefenwerte unterschieden.
Lemma 5.2. Gegeben sei eine Kante mit Knoten unterschiedlichen Tiefenwertes, die nicht zum Anfang oder Ende einer schmalen Region gehört und
nicht auf dem Berandungspolygon liegt. An dieser Kante muß wenigstens ein
Zerlegungsdreieck generiert werden.
88
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Beweis. Wie aus Abschnitt 4.1.1 hervorgeht, können solche Kanten nur an
Ecken auftreten. Da sie nach Voraussetzung nicht auf einem Berandungspolygon liegen, müssen sie zu genau zwei Ecken gehören. Es seien Region
1 und Region 2 die beiden Regionen, an die die Kante grenzt. Die Kante besitzt einen Knoten S, der Schnittknoten ist und einen Knoten A eines
Polygonabschnitts (vergl. Abb. 5.11 a)).
B
Region 1
A
S
C
Region 2
Abbildung 5.11: Skizze zum Beweis
Es sei T(S)=t und T(A)=t+x mit t, x ∈ IN . (Es muß T(S)<T(A) gelten,
da S Schnittknoten ist und A nicht.) Dann muß für genau eine anliegende Region (œ Region 1) T(Region 1)=t+x gelten, denn sonst kann nicht
T(A)=t+x gelten. Es gilt T(Region 2)=t+x+y>t+x mit y ∈ IN , da sonst
die Kante SA nicht existieren würde (vergl. Abb. 5.11 b)). Region 2 ist
immer eine echte Region, gehört also nicht zum Außenbereich.
Es wird gezeigt, daß in Region 2 immer ein Konfliktdreieck an der Kante
SA generiert werden muß. Es muß T(C)≥t gelten, da sonst S einen kleineren
Tiefenwert besitzen würde.
1. Fall: T(C)>t (vergl. Abb. 5.11 c)): Alle Elemente, die an der Kante SA
generiert werden können, sind nach Lemma 4.5 und Lemma 4.4 Konfliktelemente. Auch das Dreieck SAC. D.h. es muß hier ein Konfliktdreieck generiert
werden.
2. Fall: T(C)=t (vergl. Abb. 5.11 d)): Sei pA der Polygonabschnitt, auf
dem A liegt, pC der Polygonabschnitt, auf dem C liegt. Das Dreieck SAC
ist kein Konfliktdreieck. Da der Schnittknoten jedoch nicht zu einer schmalen Region gehört, muß bei Generierung dieses Dreiecks wenigstens noch ein
Element generiert werden, daß wenigstens einen Knoten besitzt, der auf pA
liegt, einen Knoten, der auf pC liegt, und einen Knoten der in der Region 2
liegt. Dieses Element ist nach Lemma 4.5 und Lemma 4.4 ein Konfliktelement, dessen Zerlegungspfad zum Dreieck SAC führt. Damit wird Dreieck
SAC zum Zerlegungsdreieck.
Alle anderen Elemente, die in Region 2 an SA generiert werden können,
5.1. VERNETZUNG DER ECKEN
89
sind wegen Lemma 4.5 und Satz 4.4 Konfliktelemente.
Damit muß an Kanten, die die Voraussetzung von Lemma 5.2 erfüllen, von
der Weiterleitung von Zerlegungspfaden ausgegangen werden! Für Kanten
von Ecken mit gleichem Tiefenwert der Knoten gilt eine solche Aussage nicht.
Deswegen wird gefordert:
Forderung 5.1. über Kanten einer Ecke, deren beiden Knoten gleichen
Tiefenwert besitzen und die nicht auf dem Barandungspolygon liegen, dürfen
keine Zerlegungspfade in die jeweils benachbarte Region weitergeleitet werden.
D.h. an diesen Kanten dürfen keine Zerlegungsdreieckkandidaten und keine
Vierecke, die eine Zerlegung über eine solche Kante weiterleiten könnten,
generiert werden.
Bei der lokalen Vernetzung der einzelnen Typen von Ecken, die in den folgenden Abschnitten vorgestellt wird, wird angenommen, daß diese Forderung
an benachbarten Ecken eingehalten wird, d.h. es wird angenommen, daß an
solchen Kanten kein Zerlegungspfad aus der benachbarten Region anliegen
kann!
Am Ende des Unterkapitels in Abschnitt 5.1.9 wird gezeigt, daß die Forderung wirklich eingehalten wird.
5.1.3
±20◦ -Ecken
Aufgrund des kleinen Winkels ist die Generierung möglichst weniger Elemente in ±20◦ -Ecken anzustreben. Nach Möglichkeit soll in einer solchen Ecke
nur ein Dreieck generiert werden, da dadurch ein Qualitätsverlust der/des
generierten Element(es) am geringsten bleibt.
Abb. 5.12 zeigt die Vernetzung bei Winkel von ±20◦ .
Definition 63. Die Kante, die die beiden Knoten einer Ecke verbindet, die
nicht Schnittknoten sind, heißt Verbindungskante.
Für Typ 1 und Typ 2 wird durch die Verbindungskante ein Dreieck erzeugt. Dadurch wird Bedingung (*) (Jedes Element einer Region besitzt den
gleichen Tiefenwert wie die Region.) aus Lemma 3.1 verletzt, aber gleichzeitig werden dadurch ggfs. Zerlegungsdreieckkandidaten vermieden. Das
Dreieck ist kein Konfliktdreieck, da alle Tiefenwerte der Knoten gleich sind.
Damit aus dem Dreieck kein Zerlegungsdreieck wird, darf das Element,
das auf der anderen Seite der Verbindungskante generiert wird, keinen Zerlegungspfad zum Dreieck hinleiten. Dies kann nur durch ein Viereck, das keinen Zerlegungspfad über die Verbindungskante weiterleiten kann, garantiert
werden (vergl. Abb. 5.13). Hierfür muß wiederum genügend Platz vorhanden
90
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t+x/t+x+y
t/t+x
t
t
t
(i) Typ1/Typ2
t+x/t+x+y
t
t+x
(iii) Typ5/Typ6
t
t+x
t+2x+y
t+x+y
(iv) Typ7
t+x
(ii) Typ3/Typ4
t+x
t
t+x
t
t
t
t+x
(v) Typ3 (alternativ)
Abbildung 5.12: Vernetzung von ±20◦ -Ecken
sein. Deswegen wird eine Fallunterscheidung in Abhängigkeit des vorhandenen Platzes vorgenommen. Der Platz wird durch den Abstand der beiden
Knoten, die zur Ecke benachbart sind, gemessen. Ist der Abstand genügend
groß (z.B. ≥ 8/3 DKL), soll ein Viereck generiert werden (vergl. Abb. 5.13
(i)). Bei zu geringem Abstand (z.B. < 4/3 DKL) gilt der Bereich als nicht
”
vernetzbar“. Dieser Fall soll durch die Anpassung der Polygone und Zusammenfassung zu Regionen bereits von vornherein möglichst vermieden werden.
Bemerkung:
Ein Bereich wird dann als nicht vernetzbar“ eingestuft, wenn durch seine
”
Vernetzung gemäß der in dieser Arbeit beschriebenen Methode zu schlechte
Elemente entstehen würden oder eine Vernetzung aufgrund der Entstehung
entarteter Elemente nicht möglich ist. Bei schlechten Elementen besteht
immer die Möglichkeit, diese dennoch zu akzeptieren. Sonst besteht die
Möglichkeit, im Verfahren zur Netzgenerierung (vergl. Schema 3.20) einige
Schritte zurück zu gehen und z.B. die Normierung und Glättung der Polygonabschnitte (vergl. Schema 3.20 II (ii) c)) erneut mit größerer Toleranz
durchzuführen und anschließend die Vernetzung mit den auf diese Weise neu
ermittelten Vorgaben zu wiederholen.
Bei relativ kleinem Abstand (z.B. ≤ 8/3 DKL), soll wie in Abb. 5.13 (ii)
vernetzt werden.
Auf diese Weise wird garantiert, daß das durch die Verbindungskante
entstandene Dreieck nicht zum Zerlegungsdreieckkandidaten wird. Die so
entstandenen Elemente sind bezüglich ihrer Qualität akzeptabel. Zur Ver-
5.1. VERNETZUNG DER ECKEN
91
1.Knoten 2.Knoten 1.Polygonzug
(i)
1.Knoten 2.Knoten 2.Polygonzug
(ii)
Abbildung 5.13: Vernetzung an einer Verbindungskante
meidung eines Dreiecks, das mit allen Knoten auf der Kontur liegt, müßten
wenigstens zwei Dreiecke in die Ecke generiert werden. Auf diese Weise würde
sich die Qualität der Elemente stark reduzieren, so daß die gewählte Lösung
zu bevorzugen ist.
Schlechte Elemente müssen i.a. bei der Vernetzung von Typ 3 und Typ
4 in Kauf genommen werden, da hier ein Drei- und ein Viereck generiert
werden. Die Winkel der Drei- und des Vierecks, die innerhalb der ±20◦ -Ecke
liegen, werden sehr klein und weichen stark von den Idealmaßen 60◦ und 90◦
ab. Wegen Lemma 5.2 muß an der Kante mit unterschiedlichen Tiefenwerten der Knoten wenigstens ein Zerlegungsdreieck generiert werden, weswegen
über diese Kante ein Zerlegungspfad weitergeleitet werden kann. Da von einer anderen Seite ebenfalls ein Zerlegungspfad auf das dort zu generierende
Element aufteffen kann ist, die Generierung des Dreiecks notwendig. Es ist
ein Konfliktdreieck. Würde das Dreieck wie bei Typ 1/2 auch von der anderen Kante der Ecke (mit gleichem Tiefenwert der Knoten) eingeschlossen
werden, so würden ggfs. Zerlegungspfade über diese Kante geleitet. Zur Vermeidung der Weiterleitung von Zerlegungspfaden wird ein Viereck generiert,
das dafür die einzige Lösung darstellt. Zunächst kann Forderung 5.1 nur
so eingehalten werden. Das Entstehen solcher Situationen ist schon bei der
Anpassung der Polygone und Zusammenfassung zu Regionen zu vermeiden
bzw. zu verbessern.
Falls bei Typ 3 sichergestellt werden kann, daß aus der Richtung der
Kante des Dreiecks, die an den Knoten mit den Tiefenwerten t+x liegt, kein
Zerlegungspfad auf das Dreieck trifft, kann das Dreieck entfernt werden und
eine Vernetzung wie in Abb. 5.12 (v) stattfinden. Auf diese Weise wird ein
Konfliktdreieck vermieden! (Dies ist z.B. bei Ecken, die auf einem Ein- oder
Auslaufpolygon liegen, häufig der Fall. Auf diese Weise entstehen Ein- und
Auslaufvierecke, die also keine Konfliktvierecke darstellen.) Eine Zerlegung
kann auch dann nur über die Konturkante mit unterschiedlichen Tiefenwerten
92
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
der Knoten verlaufen. Außerdem werden so ggfs. weitere Zerlegungspfade
vermieden, da eine Zerlegung die durch das Viereck weitergeleitet wird, nur
in eine Richtung weitergeleitet wird.
Ecken vom Typ 1, die (mit einer Kante) auf einem Ein- oder Auslaufpolygon liegen und bei denen sichergestellt werden kann, daß entlang des Einbzw. Auslaufpolygons kein Zerlegungspfad auf sie trifft, dürfen ebenfalls wie
Typ 3 alternativ mit einem Viereck vernetzt werden. Dies liegt daran, daß
ein Zerlegungspfad über eine Kante mit gleichen Tiefenwerten der Knoten
dann laufen darf, wenn diese Kante auf dem Ein- oder Auslaufpolygon liegt.
Die Vernetzung für Typ 5 und Typ 6 ist gleich der für Typ 1 und Typ
2. Wiederum können die beiden anliegenden Polygonabschnitte durch die
Verbindungskante zu einem neuen Polygonabschnitt zusammengefügt werden. Diesmal ist das generierte Dreieck jedoch ein Konfliktdreieck, dessen
Zerlegungspfad in das Innere der Region zeigt. Es ist deswegen zu beachten,
daß von der Verbindungskante ein Zerlegungspfad ausgeht. Um den Zerlegungspfad nicht unkontrolliert ins Regioninnere weiterlaufen zu lassen, wird
er durch ein weiteres Dreieck, wie in Abb. 5.14 dargestellt, aufgefangen und
so entlang der Seitenelemente weitergeleitet.
Abbildung 5.14: Mögliche weitere Vernetzung von ±20◦ -Ecken bei Typ 5-7
Die Generierung eines guten Dreiecks sollte an dieser Stelle bezüglich des
vorhandenen Platzes immer möglich sein. Ein Dreieck nimmt bezüglich eines
Vierecks mit gleichen Seitenlängen den geringsten Platz ein.
Typ 7 wird wie Typ 5 und Typ 6 vernetzt (vergl. Abb. 5.12(iv)). Aus gleichen Gründen wie bei dieser Vernetzung soll auch hier an der Verbindungskante ein Dreieck an das erzeugte Dreieck generiert werden (vergl. Abb. 5.14).
Dieses Dreieck ist in diesem Fall ebenfalls ein Konfliktdreieck. Durch die Vernetzung ist jedoch gesichert, daß der von diesem Konfliktdreieck ausgehende
Zerlegungspfad entlang der Kontur verläuft, womit eine kontrollierte Leitung
des Zerlegungspfades gewährleistet ist.
5.1. VERNETZUNG DER ECKEN
93
±90◦ -Ecken
5.1.4
Die Vernetzung von ±90◦ -Ecken geschieht vollkommen analog zur Vernetzung von ±20◦ -Ecken, es entstehen jedoch aufgrund des größeren Winkels in
der Ecke i.a. bessere Elemente. In Abb. 5.15 ist die Vernetzung der einzelnen
Typen dargestellt.
t/t+x
t
t
t
t+x/t+x+y
t
t
(i) Typ1/2
t+x/t+x+y
(ii) Typ3/4
t
t
t+x
t+x
t+x
t+x
t+2x+y
t+x
(iii) Typ5/6
t
t+x+y
(iv) Typ7
t
t+x
(v) Typ3 (alternativ)
Abbildung 5.15: Vernetzung von ±90◦ -Ecken
Bei der Vernetzung von Typ 1 und 2 wird für die Generierung des anliegenden Vierecks auf gleiche Weise bezüglich der Distanz zwischen den zur
Ecke benachbarten Knoten unterschieden und eine entsprechende Vernetzung
vorgenommen.
Bei der Vernetzung von Typ 3 und Typ 4 wird aus gleichen Gründen wie
bei einer ±20◦ -Ecke an entsprechenden Stellen ein Drei- und ein Viereck generiert. Durch den größeren Winkel sind die erzeugten Elemente besser. Bei
entsprechender Voraussetzung kann alternativ wie in Abb. 5.15 (v) vernetzt
werden.
Die Vernetzung von Typ 5, Typ 6 und Typ 7 verläuft ebenfalls vollkommen analog zu den entsprechenden ±20◦ -Ecken. Es soll auch hier an der
Verbindungskante zur Region hin aus gleichen Gründen wie oben ein Dreieck
generiert werden.
Schlechte Elemente entstehen für Typ 1/2, 5/6 und 7 dann, wenn der Winkel der ±90◦ -Ecke nahe bei 135◦ liegt. Wenn solche Elemente nicht erwünscht
sind, kann hier auch eine Vernetzung wie bei ±180◦ -Ecken stattfinden.
5.1.5
±180◦ -Ecken
Die Vernetzung des ±180◦ -Winkels unterscheidet sich in einigen Punkten von
denen des ±20◦ - und des ±90◦ -Winkels.
Für Typ 1 und Typ 2 werden sinnvollerweise zwei Vierecke generiert
(vergl. Abb. 5.16 (i)). Am Schnittknoten besitzen die Vierecke dann Winkel,
die nicht stark von 90◦ abweichen. Zerlegungspfade, die auf die Vierecke von
94
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
der Seite auftreffen, werden jeweils zur anderen Seite hin weitergeleitet. über
eine Konturkante kann kein Zerlegungspfad in eine benachbarte Region.
t/t+x
t
t
t
t+x/t+x+y
t
t
t+x/t+x+y
t+x
(ii) Typ3/4
(i) Typ1/2
t+x
t
t+x
(iii) Typ5/6
t+2x+y
t+x
t
t+x+y
(iv) Typ7
Abbildung 5.16: Vernetzung von ±180◦ -Ecken
Die Typ 3- und Typ 4-Vernetzung geschieht analog zur Vernetzung von
±20◦ -Ecken und ±90◦ -Ecken. Die dabei auftretenden Winkel sind bezüglich
ihrer Qualität gut. Eine alternative Vernetzung wie bei ±20◦ -Ecken und
±90◦ -Ecken ist hier für Typ 3 nicht möglich, da dadurch ein entartetes Viereck entstehen kann.
Für Typ 5, Typ 6 und Typ 7 werden jeweils zwei Dreiecke generiert,
da die Generierung eines Dreiecks zu einem entarteten Dreieck führen kann.
Alle Dreiecke stellen Konfliktdreiecke dar. Die ausgehenden Zerlegungspfade
sollen entlang der Kontur geleitet werden.
5.1.6
±270◦ -Ecken
Die Vernetzung bei ±270◦ -Winkeln erfolgt ähnlich zu der von ±180◦ -Winkeln.
Jedoch werden hier zur Verbesserung der Elementqualität teilweise weitere
Konfliktdreiecke eingesetzt.
Die Vernetzung mit zwei Vierecken beim Typ 1 und Typ 2 kann analog
zur Vernetzung von ±180◦ -Ecken erfolgen. Die entstandenen Vierecke haben
noch akzeptable Winkel.
Für Typ 3 und Typ 4 würde die Erzeugung lediglich eines Vierecks und
eines Dreiecks zu Elementen mit sehr großen Winkeln führen. Deswegen
wird hier mittig ein Dreieck hinzugefügt. Allerdings stellt dieses Dreieck
ein Konfliktdreieck dar, von dem ein Zerlegungspfad in die Region hinein
5.1. VERNETZUNG DER ECKEN
t/t+x
95
t+x/t+x+y
t+x/t+x+y
t+2x+y
t
t
t
t
t
t
t
t+x
t
t+x+y
t+x
(i) Typ1/2
t+x+y
(iv) Typ7
(iii) Typ5/6
(ii) Typ3/4
Abbildung 5.17: Vernetzung von ±270◦ -Ecken
zeigt. Auch hier ist eine entsprechende alternative Vernetzung für Typ 3
nicht möglich.
Für Typ 5, Typ 6 und Typ 7 ist der Fall ähnlich. Würde jeweils nur
mit zwei Dreiecken vernetzt, besäßen diese sehr große Winkel. Um dies zu
vermeiden wird wiederum ein Konfliktdreieck eingefügt, von dem ein Zerlegungspfad in die Region hinein zeigt.
Zur Vermeidung der zusätzlichen Konfliktdreiecke und damit weiterer
Zerlegungspfade können auf Wunsch solche Ecken wie ±180◦ -Ecken vernetzt
werden. In diesem Fall muß eine schlechtere Elementqualität in Kauf genommen werden.
5.1.7
±340◦ -Ecken
Bei der Vernetzung von ±340◦ -Winkeln wird bei jedem Typ zur Vermeidung von schlechten Elementen jeweils noch ein zusätzliches Konfliktdreieck
(bzw. für Typ 1 ein Zerlegungsdreieckkandidat) hinzugefügt (vergl. Abb. 5.18).
t/t+x
t
t
(i) Typ1/2
t
t
t+x
(ii) Typ3/4
t+2x+y
t+x
t+x
t
t
t+x/t+x+y
t+x/t+x+y
t
t+x
t+x+y
(iii) Typ5/6
(iv) Typ7
Abbildung 5.18: Vernetzung von ±340◦ -Ecken
Auf Wunsch kann zur Vermeidung der zusätzlichen Konfliktdreiecke eine
Vernetzung wie bei ±270◦ -Ecken stattfinden, wodurch jedoch wiederum eine
Qualitätsverschlechterung der Elemente in Kauf genommen werden muß.
96
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Alle neuen Konfliktdreiecke bzw. Zerlegungsdreieckkandidaten liegen jeweils zwischen den beiden Elementen, die an die Kanten der Ecken generiert
wurden. Die von ihnen ausgehenden Zerlegungspfade zeigen jeweils in die
Region hinein.
Es sei bemerkt, daß das Auftreten von ±270◦ - und ±340◦ -Ecken äußerst
selten ist.
5.1.8
Direkt benachbarte Ecken
Liegen zwei Schnittknoten direkt nebeneinander, so liegen zwei direkt benachbarte Ecken vor. Jede Ecke besitzt dabei einen nicht mittig liegenden
Knoten, der auch Schnittknoten ist. Zwei direkt benachbarte Ecken bestehen
aus zwei Schnittknoten und zwei dazu benachbarten Knoten. Die Region, an
die beide Ecken angrenzen, kann eine breitere oder ein schmale Regionen
sein. Benachbarte Ecken, die an schmalen Regionen angrenzen, werden in
Abschnitt 5.2.1 behandelt. Hier folgt eine Darstellung der Vernetzung von
benachbarten Ecken, die nicht an eine schmale Region angrenzen.
Bei zwei direkt benachbarten Ecken, die an einer breiteren Region liegen,
muß wie bei einzelnen Ecken davon ausgegangen werden, daß Zerlegungspfade von benachbarten Regionen auf die Ecken treffen. Dies kann bei Einhaltung von Forderung 5.1 nur über Konturkanten geschehen, deren Knoten
unterschiedliche Tiefenwerte besitzen. Bei der Vernetzung einzelner Ecken
wurde dies bereits berücksichtigt. Deswegen soll nach Möglichkeit die Vernetzung zweier benachbarter Ecken analog erfolgen. Jede der Ecken zweier
benachbarter Ecken wird aus diesem Grunde zunächst wie eine einzelne Ecke
vernetzt. Die Ergebnisse werden dann aneinander angepaßt.
Eine analoge Vernetzung kann auch bei drei oder mehreren benachbarten
Ecken auf diese Weise geschehen.
Für genau zwei benachbarte Ecken gibt es zwei Tiefenwertkombinationen
der Knoten, die genauer betrachtet werden müssen, weil dabei eine getrennte Vernetzung der Ecken zu unterschiedlichen Elementen an der Kante, die
beiden Ecken gemeinsam ist, führen würde oder zu schlechte Elemente entstehen würden. Hier muß die Vernetzung gesondert stattfinden. (Für drei
oder mehr benachbarte Ecken werden solche Fälle hier nicht betrachtet.)
Die erste Ausnahme für die Vernetzung ist der Fall, daß allen vier
Knoten der gleiche Tiefenwert zugeordnet ist und wenigstens eine der
Ecke ein ±20◦ - oder eine ±90◦ -Ecke ist.
Ist der Abstand zwischen den beiden Nicht-Schnittknoten relativ klein (z.B.
≤1.333 * DKL) wird ein Viereck durch eine Verbindungskante generiert
5.1. VERNETZUNG DER ECKEN
97
(vergl. 5.19 (i)).
t
t
t
t
t
t
t
t
(i)
(ii)
Abbildung 5.19: Vernetzung der ersten Ausnahme
Damit über dieses Viereck kein Zerlegungspfad geführt wird, muß auf der
anderen Seite der Verbindungskante ebenfalls ein Viereck generiert werden
(s. Abb. 5.19 (i)). Die Verbindungskante wird also vollkommen analog zur
Verbindungskante bei ±20◦ -Ecken vom Typ 1/2 vernetzt. Da die Region keine schmale Region darstellt, führt die Vernetzung mit dem zweiten Viereck
nicht zu inakzeptablen Elementen bezüglich der Qualität.
Ist der Abstand größer wird trotz der ±20◦ - bzw. ±90◦ -Ecke wie in Abb. 5.19
(ii) vernetzt. Ist die andere Ecke eine ±340◦ -Ecke, kann die Vernetzung entsprechend angepaßt werden.
Die zweite Ausnahme stellt der Fall 3-1 (genau drei benachbarte Knoten besitzen einen gleichen Tiefenwert) dar, wenn zwischen den Kanten mit
gleichem Tiefenwerten der Knoten eine ±20◦ -Ecke oder eine ±90◦ -Ecke liegt.
In diesem Fall würde bei einzelnen Ecken eine Verbindungskante generiert, so
daß an der Kante zwischen den beiden Schnittknoten ein Dreieck anliegt. Dagegen wird für die andere Ecke an dieser Kante immer ein Viereck generiert.
Bei einer ±20◦ - oder ±90◦ -Ecke ist die Wahrscheinlichkeit, daß am anderen
Schnittknoten ebenfalls ein kleiner Winkel vorliegt, gering. Deswegen sollen
solche Fälle z.B. wie in 5.20 vernetzt werden.
Dabei wird an der Ecke mit gleichen Tiefenwerten der Knoten ein Dreieck
durch eine Verbindungskante generiert. Die Verbindungskante wird für die
Vernetzung der zweiten Ecke als neue Konturkante betrachtet. Die auf diese
Weise modifizierte Ecke kann wie eine einzelne Ecke vernetzt werden, wobei
hier der neue Winkel zu berücksichtigen ist. In Abb. 5.20 findet diese Vernetzung wie bei ±20◦ - bzw. ±90◦ -Ecken statt. Bei größer auftretenden Winkeln
kann hier entsprechend vernetzt werden. Ist der dort anliegende Winkel zu
klein, so daß nur sehr schlechte Elemente entstehen, wird der Bereich als
98
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t+x
t
t
t
Abbildung 5.20: Vernetzung der zweiten Ausnahme bei kleinem Abstand
nicht vernetzbar“ deklariert. An der Verbindungskante wird auf diese Wei”
se immer ein Viereck generiert, so daß kein Zerlegungspfad von dieser Seite
auf das Dreieck treffen kann.
Außer den genannten Ausnahmen entstehen keine Konflikte, da für die
Vernetzung immer genügend Platz vorhanden ist und für die einzelnen Fälle
das gleiche Element an der Kante zwischen den beiden Schnittknoten generiert wird.
Anhang: Als Zusatz wird mit den folgenden Lemmata 5.3-5.5 gezeigt,
daß der Fall 3-1 sehr selten auftritt. Es soll damit lediglich illustriert werden,
daß die Wahrscheinlichkeit der Generierung schlechter Elemente oder der
Nicht-Vernetzbarkeit“ zweier benachbarter Ecken gering ist.
”
Lemma 5.3. Es seien N3 S1 S2 und S1 S2 N4 zwei benachbarte Ecken mit den
Schnittknoten S1 und S2 , die jeweils an genau vier Regionen grenzen (vergl.
Abb. 5.21). Für T(S1 )=T(S2 ) folgt entweder T (N3 ) 6= T (S1 ) = T (S2 ) 6=
T (N4 ) oder T (N3 ) = T (N4 ).
Beweis. Das in Abb. 5.21 dargestellte senkrecht verlaufende Polygon ist entweder ein Verfeinerungs- oder ein Schnittpolygon.
A
D
N1
S1
N3
B
E
N2
C
S2
N4
F
Abbildung 5.21: Zwei benachbarte Ecken, die jeweils an genau vier Regionen
grenzen
1. Fall T (A) < T (D) T (B) < T (E) T (C) < T (F ):
Damit T (S1 ) = T (S2 ) gilt, muß entweder T (S1 ) = T (S2 ) = T (A) = T (C) <
5.1. VERNETZUNG DER ECKEN
99
T (B) gelten. Wegen T (S1 ) = T (A) < T (D), T (S1 ) < T (B) < T (E) und
T (S1 ) = T (C) < T (F ) und wegen T (N3 ) = min(T (D), T (E)) und T (N4 ) =
min(T (E), T (F )) gilt dann aber T (N3 ) 6= T (S1 ) = T (S2 ) 6= T (N4 ). Oder es
gilt T (B) < T (A), T (C). Wegen T (S1 ) = T (B) < T (D), T (S1 ) < T (A) <
T (D) und T (S1 ) < T (C) < T (E) und wegen T (N3 ) = min(T (D), T (E)) und
T (N4 ) = min(T (E), T (F )) gilt wiederum T (N3 ) 6= T (S1 ) = T (S2 ) 6= T (N4 ).
2. Fall T (A) > T (D) T (B) > T (E) T (C) > T (F ):
Damit T (S1 ) = T (S2 ) gilt, muß entweder T (S1 ) = T (D) = T (F ) < T (E)
gelten. Dann gilt aber auch T (N3 ) = T (D) und T (N4 ) = T (F ) und damit
T (S1 ) = T (S2 ) = T (N3 ) = T (N4 ). Oder es gilt T (S1 ) = T (E) < T (D), T (F ).
Dann gilt ebenfalls T (S1 ) = T (S2 ) = T (N3 ) = T (N4 ).
Lemma 5.4. Gegeben seien zwei benachbarte Ecken mit den Schnittknoten
S1 und S2 , die jeweils an genau drei Regionen grenzen (vergl. Abb. 5.22).
Falls T (S1 ) = T (S2 ) gilt, ist entweder der Tiefenwert der beiden anderen
Knoten der Ecken zu diesen unterschiedlich oder der Tiefenwert beider anderen Knoten ist gleich.
Beweis. Alle Fälle von zwei benachbarten Schnittknoten, die an genau drei
Regionen grenzen, sind in Abb. 5.22 dargestellt.
N1
B
S1
N3
A
N3
A
S1
S2
B
N4
D
N2
(i)
C
N1
C
S2
N2
(ii)
N3
A
S1
B N1
N4
N2
D
C
D
S2
N4
(iii)
Abbildung 5.22: Zwei benachbarte Ecken, die jeweils an genau drei Regionen
grenzen
Dabei ist das senkrecht verlaufende Polygon wieder ein Schnitt- oder Verfeinerungspolygon, wobei es im Fall (i) oder (iii) auch ein Berandungspolygon sein kann. Da Fall (i) und (iii) gespiegelte Fälle sind und Fall (ii)
spiegelsymetrisch ist, kann bei einem Verfeinerungs- oder Schnittpolygon
œ davon ausgegangen werden, daß die Tiefenwerte der linken Seite kleiner
sind als die der rechten Seite. Falls das senkrecht verlaufende Polygon im
Fall Abb. 5.22(i) ein Schnitt- oder Verfeinerungspolygon ist, muß deswegen
T(A)< T (B),T(C),T(D) gelten. Damit gilt T (S1 ) = T (S2 ) = T (N1 ) =
100
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
T (N2 ). Wegen T (A) < T (B), T (C), T (D) und T (N3 ) = min(T (B), T (C))
und T (N4 ) = min(T (C), T (D)) gilt: T (S1 ) < T (N3 ), T (N4 ). Ist das senkrecht verlaufende Polygon ein Uferpolygon, so gilt das gleiche, da dann
T (A) = 0 gilt. Ist das senkrecht verlaufende Polygon ein Ein- oder Auslaufpolygon, so existieren zwar auf der linken Seite keine Knoten mehr, es
findet aber eine imaginäre Einteilung des Außenbereichs statt. Diese entspricht der Darstellung aus Abb. 5.21, wobei T (A) = T (D), T (B) = T (E)
und T (C) = T (F ) gilt. Für T (S1 ) = T (S2 ) gilt dann entweder T (S1 ) =
T (D) = T (F ) < T (E). Damit gilt T (N3 ) = T (S1 ) = T (S2 ) = T (N4 ). Oder
es gilt T (S1 ) = T (E) < T (D), T (F ). Daraus folgt wieder T (N3 ) = T (S1 ) =
T (S2 ) = T (N4 ).
Im Fall Abb. 5.22(ii) muß T (S1 ) 6= T (S2 ) gelten, da T(A),T(B)<T(C),T(D)
und T(A)6=T(B) und T(C)6=T(D) gelten muß.
Falls das senkrecht verlaufende Polygon im Fall Abb. 5.22(iii) ein Schnittoder Verfeinerungspolygon ist, gilt T(A),T(B),T(C)<T(D). Damit T (S1 ) =
T (S2 ) gilt, ist entweder T (S1 ) = T (A) = T (C) oder T (S1 ) = T (B) <
T (A), T (C). Wegen T (N1 ) = min(T (A), T (B)) und T (N2 ) = min(T (B), T (C)),
gilt jeweils T (N1 ) = T (S1 ) = T (S2 ) = T (N2 ). Für T (A) = T (C) gilt auch
T (N3 ) = T (N4 ). Für T (S1 ) = T (B) < T (A), T (C) gilt T (S1 ) < T (N3 ) =
T (A) und T (S1 ) < T (N4 ) = T (C).
Der Fall, daß das senkrecht verlaufende Polygon Berandungspolygon ist, wurde bereits in Fall (i) betrachtet.
Lemma 5.5. Gegeben seien zwei benachbarte Ecken mit den Schnittknoten
S1 und S2 , von denen eine an genau drei Regionen und die andere an genau
vier Regionen grenzt (vergl. Abb. 5.23). Falls T (S1 ) = T (S2 ) gilt, gibt es nur
einen Fall, bei dem genau ein Tiefenwert einer der beiden anderen Knoten
der Ecken gleich dem Tiefenwert der Schnittknoten ist.
Beweis. In Abb. 5.23 sind alle Fälle (bis auf Spiegelung) dargestellt. Das
senkrecht verlaufende Polygon ist Schnitt- oder Verfeinerungspolygon, wobei
die Tiefenwerte der linken Seite œ kleiner sind als die der rechten Seite.
Falls in Abb. 5.23 (i) T (S1 ) = T (S2 ) gilt, muß T (S1 ) = T (B) < T (A)
gelten. Damit muß T(C), T(D), T(E) > T(B) gelten. Daraus folgt T (N1 ) =
T (N2 ) = T (S1 ) und T (N3 ) = min(T (C), T (D)) > T (S1 ) und T (N4 ) =
min(T (D), T (E)) > T (S1 ).
Falls in Abb. 5.23 (ii) T (S1 ) = T (S2 ) gilt, muß entweder T (S1 ) = T (A) =
T (C) < T (B) oder T (S1 ) = T (B) < T (A), T (C) gelten. Im ersten Fall gilt
T(A)<T(D) und T(B),T(C)<T(E), weswegen T (N1 ) = T (N2 ) = T (N4 ) =
T (S1 ) und T (N3 ) > T (S1 ) gilt: Die Knoten N3 , S1 , S2 und N4 bilden den
5.1. VERNETZUNG DER ECKEN
A
C
S1
A
N3
N
S1
D
N3
N
1
B
101
1
D
S
N4
2
B
N
2
E
S
C
2
E
N
N4
2
(i)
(ii)
Abbildung 5.23: Skizze zum Beweis
Fall, bei dem genau ein Tiefenwert einer der beiden anderen Knoten der
Ecken gleich dem Tiefenwert der Schnittknoten ist! Für T (S1 ) = T (B) <
T (A), T (C) gilt ebenfalls T(A)<T(D) und T(B),T(C)<T(E). Es gilt dann
T (N1 ) = T (N2 ) = T (S1 ) und T (N3 ) = min(T (D), T (E)) < T (S1 ) und
T (N4 ) = min(T (C), T (E)) < T (S1 ) .
In den Lemmata 5.3 - 5.5 wurden benachbarte Ecken betrachtet, deren
Schnittknoten an genau drei bzw. genau vier Regionen grenzen. Grenzen
benachbarte Ecken an genau zwei Regionen, so liegen ihre Schnittknoten auf
dem Berandungspolygon. Falls sie auf einem Uferpolygon liegen, erhalten sie
den Tiefenwert null, die anderen beiden Knoten jedoch immer einen höheren
Tiefenwert. Fall 3-1 tritt somit nicht auf. Falls die Schnittknoten auf einem
Ein- oder Auslaufpolygon liegen, erhalten entweder alle Knoten der beiden
benachbarten Ecken den gleichen Tiefenwert oder die beiden Schnittknoten
erhalten bereits unterschiedliche Tiefenwerte. Ein Nachweis erfolgt ähnlich
wie der Beweis der Lemmata 5.3 - 5.5 und soll hier nicht weiter erklärt werden.
Es kann festgehalten werden, daß Fall 3-1 bei benachbarten Ecken auf
dem Berandungspolygon nicht auftreten kann.
Damit wurden alle Kombinationen beachtet und mit den Lemmata 5.3 5.5 alle Möglichkeiten für Fall 3-1 aufgelistet.
5.1.9
Einhaltung der Anforderung an Zerlegungspfade
In Abschnitt 5.1.2 wurde durch Forderung 5.1 gefordert, daß an Kanten einer Ecke, die nicht auf dem Barandungspolygon liegen und gleichen Tiefenwert der Knoten besitzen, keine Zerlegungsdreieckkandidaten generiert
102
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
werden dürfen. Nach der Diskussion der lokalen Vernetzung in den letzten
Abschnitten kann festgehalten werden:
Lemma 5.6. Forderung 5.1 Seite 89 wird eingehalten.
Beweis. Es ist zu zeigen, daß die Dreiecke, die bei ±20◦ - und ±90◦ -Ecken
vom Typ 1 oder 2 generiert werden, keine Zerlegungsdreieckkandidaten sind.
Außerdem ist zu zeigen, daß auf ein Viereck wie in Abb. 5.19 (die Nichtschnittknoten mit gleichem Tiefenwert zweier benachbarter Ecken besitzen
geringen Abstand) kein Zerlegungspfad auftrifft (vergl. Abb. 5.19). Dazu
genügt es zu zeigen, daß kein Zerlegungspfad von innerhalb der Region auf
diese Elemente auftrifft. Dies ist jedoch, wie auch schon in den einzelnen
Abschnitten beschrieben, durch die jeweilige Generierung eines Vierecks an
der Verbindungskante gewährleistet.
5.1.10
Beispiel Wurm
In Abb. 5.24 sind alle Vernetzungen der im Wurmbeispiel auftretenden Ecken
(die nicht an eine schmale Region angrenzen), dargestellt.
Im unteren, rechten Bereich treten einige nebeneinanderliegende Ecken
auf, die jedoch keine Probleme darstellen. Im Bereich des Einlaufpolygons
treten zweimal drei nebeneinanderliegende Ecken auf, die wie einzelne Ecken
vernetzt und entsprechend angepaßt werden können, weil jeweils gleiche Elemente an den Kanten zu generieren sind.
In einigen Bereichen treten Ecken mit gleichem Anschlußknoten auf (vergl.
zweifacher Anschlußknoten Def. 5.4 S. 155) deren Vernetzung direkt aneinander angepaßt wird. Allerdings werden an einigen Stellen die Elemente
relativ schlecht, was sich nur durch eine erneute Anpassung der Polygone
verhindern lassen könnte.
±20◦ - und ±90◦ Ecken vom Typ 1 oder 3, die ans Ein- oder Auslaufpolygon grenzen, werden bereits alternativ wie in Abb. 5.12 (v) bzw. Abb. 5.15
(v) vernetzt, weil davon ausgegangen werden kann, daß entlang des Einbzw. Auslaufpolygons kein Zerlegungspfad auf diese Elemente trifft. Würde
sich herausstellen, daß dies nicht der Fall ist, müßte eine entsprechende Korrektur stattfinden.
±270◦ - und ±340◦ Ecken treten nicht auf.
Bei der Vernetzung der Ecken im Bereich des Einlaufpolygons in der Region mit Tiefenwert 2 können die Knoten zweier Vierecke wegen der Schmalheit
der Region auf dem Einlaufpolygon generiert werden. Dies stellt kein Problem dar, da die Knoten des Einlaufpolygons den gleichen Tiefenwert (2) wie
die Region besitzen.
5.2. VERNETZUNG VON SCHMALEN REGIONEN
0 01
1 1 2
2 2
23
1
2
3
2
2
0
3
2
2 1
1 0
0
3
2
1
1
1
2 00 0
0
2
3 32 2
2 3 4 3
2
23
3
2
2 2
2
4
3
6
3
2 2
4
2
4
1
2
103
2
8
2
1 1
2
4
1
2
1
1
0
11
1 0
42 1
2
6 22
2
4
22
2
1 1
1
1
0
0
2
1
Abbildung 5.24: Vernetzung der Ecken für das Wurmbeispiel
In diesem Unterkapitel wurde die Vernetzung der Ecken vorgestellt. Es
werden dabei möglichst wenige Zerlegungspfade in benachbarte Regionen
weitergeleitet. Das nächste Unterkapitel beschäftigt sich mit der Vernetzung
von schmalen Regionen.
5.2
Vernetzung von schmalen Regionen
Dieses Unterkapitel behandelt die Vernetzung von schmalen Regionen und
ihren Übergängen zu breiteren Teilen der Region (Schema 4.31 (ii) d)e)).
Die Vernetzung von schmalen Regionen ist oft aufwendig. Zum einem
müssen die Regionen, die i.a. Teile einer größeren Region darstellen, selbst
vernetzt werden. Zum anderen muß insbesondere der Übergang in einen
breiteren Teil der Region besonders beachtet werden. Mehrere nebeneinanderliegende schmale Regionen erfordern ein diszipliniertes Verfahren bei
der Vernetzung. Solche Konstellationen treten bei der Netzgenerierung von
Fließgewässern häufig auf (vergl. auch 3.14), sie entstehen durch ein steiles
104
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Abfallen des Geländes vom Ufer her.
Polygonteile einer schmalen Region müssen bei der Vernetzung ggfs. aneinander angepaßt werden. Dabei werden jeweils nur auf einem Polygonteil
Veränderungen vorgenommen.
Zacken, die innerhalb von schmalen Regionen auftreten, werden anders
behandelt, als alle anderen Zacken (vergl. Unterkapitel 5.3). Es werden hier
teilweise schlechtere Elemente in Kauf genommen, da sonst entweder eine
Vernetzung unmöglich ist oder die Anzahl von Zerlegungselementen immens
steigen würde (vergl. Abschnitt 4.2.2). Gerade durch das Auftreten von
Konfikt- und Zerlegungsdreiecken unterscheidet sich die Generierung von der
bei [Schu97], bei der solche Elemente nicht genügend genau berücksichtigt
werden.
Dreiecke innerhalb einer schmalen Region stellen aufgrund der Tatsache,
daß sie Randelemente sind und somit Zerlegungspfade, die entlang der Region
geführt werden, auf sie treffen können, Zerlegungsdreieckkandidaten dar. Es
sei denn sie besitzen zwei Knoten mit Tiefenwert null, d.h. sie liegen in einer
zum Außenbereich benachbarten Region. In diesem Fall entstehen bei der
3D-Vernetzung im (nicht zerlegten) Elementstapel ausschließlich Tetraeder,
die nicht zerlegt werden können. Das bedeutet wiederum, daß das zugehörige Dreieck in der Region kein Zerlegungsdreieckkandidat sein kann. Schmale
Regionen, die zum Außenbereich benachbart sind und deren Knoten eines
Polygonteils auf dem Uferpolygon liegen und damit den Tiefenwert null besitzen, werden Null-Regionen genannt. Entlang solcher schmalen Regionen
sowie entlang der Randelemente an einem Uferpolygon können grundsätzlich
keine Zerlegungspfade geleitet werden. Denn das zugehörige 3D-Netz (im
Erstnetz) der vernetzten schmalen Region besitzt keine Hexaeder, die aber
für das Leiten von 3D-Zerlegungspfaden (und damit in der Region für Zerlegungspfade) notwendig sind.
Zur Vermeidung einer unkontrollierten Weiterleitung von Zerlegungspfaden müssen an Dreiecken einer schmalen Region in der benachbarten schmalen Region, sofern dies keine Null-Region ist, ebenfalls Dreiecke generiert
werden. Die folgenden Abschnitte zeigen genaue Verfahren.
Besonderer Aufmerksamkeit bedürfen Polygone, die schmale Regionen
schneiden. Dadurch entstehen benachbarte Ecken, die an schmalen Regionen liegen. Da Verfeinerungspolygone nie so eng beieinanderliegen sollen, daß
sie schmale Regionen bilden, entstehen schmale Regionen, die nicht auf einem Ein- oder Auslaufpolygon liegen, aus wenigstens einem Schnittpolygon.
Demnach ist der Schnitt solcher schmalen Regionen nur durch Verfeinerungspolygone möglich.
5.2. VERNETZUNG VON SCHMALEN REGIONEN
105
Die Bearbeitung einer schmalen Region setzt sich aus drei Phasen zusammen. Zuerst müssen die schmalen Regionen aufgefunden werden. In der
zweiten Phase werden sie vernetzt, wobei auch benachbarte Ecken beachtet
werden sollen. In der dritten Phase werden die Übergänge zu den anderen
Regionteilen vernetzt.
Das Auffinden der schmalen Regionen geschieht nach dem in [Schu97] beschriebenen Gitterverfahren (vergl. Schema 4.31 (ii) b)). Die beiden anderen
Phasen werden in den beiden folgenden Abschnitten behandelt.
5.2.1
Schmale Regionen
Da schmale Regionen aus zwei Polygonteilen bestehen, zwischen denen nur
eine Elementreihe generiert wird, kann die Vernetzung auf die Weise stattfinden, daß jedem Knoten des einen Polygonteils ein oder mehrere Knoten
des gegenüberliegenden Polygonteils zugeordnet werden. Eine solche Knotenzuordnung bei einzelnen schmalen Regionen, die nicht zu einer weiteren
schmalen Region benachbart sind, wird zunächst mit Hilfe des Beispiels aus
Abb. 5.25 beschrieben. Anschließend wird ein entsprechender Algorithmus
vorgestellt. Es folgt dann die Diskussion der Knotenzuordnung bei mehreren benachbarten schmalen Regionen. In beiden Fällen wird die Möglichkeit
eines Schnitts der schmalen Regionen mit einem Verfeinerungspolygon außer
Acht gelassen. Diese Möglichkeit wird im Anschluß daran diskutiert. Es folgt
schließlich die Vernetzung von Kehrtwenden.
Einzelne schmale Regionen
In Abb. 5.25 ist eine schmale Region dargestellt. Der obere Polygonteil
enthält sieben Knoten, der untere sechs. Jeder Polygonteil enthält eine Zacke.
Eine Zuordnung soll immer so erfolgen, daß möglichst viele Vierecke entstehen. Außerdem sollen die Elemente, die durch die Zuordnung entstehen,
möglichst gut sein. Eine Gefahr für eine unvorteilhafte Zuordnung entsteht
besonders im Bereich der Zacken. Deswegen werden zuerst den Spitzenknoten der Zacken Knoten zugeordnet. Es wird nach Möglichkeit ein Knoten des
gegenüberliegenden Polygonteils zugeordnet, durch den die Anzahl der Vierecke maximiert wird, wobei die anliegenden Winkel an den beiden Knoten,
die einander zugeordnet werden, im Sinne der Elementqualität gut sein sollen. Für die Zuordnung zu einem Spitzenknoten kommen die beiden Knoten
in Frage, die am nächsten zur Winkelhalbierenden durch den Spitzenknoten
liegen. Die Zuordnung wird nur zwischen diesen beiden Knoten entschieden,
damit die Winkel am Spitzenknoten möglichst gut sind. Im Beispiel muß
für den Knoten 2 des oberen Polygonteils zwischen dem Knoten 1 und dem
Knoten 2 des unteren Polygonteils entschieden werden (vergl. 5.25 (ii)). Es
106
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
wird der Knoten 2 gewählt, da dieser besonders nah der Winkelhalbierenden
liegt und dadurch die Winkelqualität an den beiden einander zugeordneten
Knoten am besten wird. Außerdem muß dem Knoten 4 des unteren Polygonteils entweder der Knoten 4 oder der Knoten 5 des oberen Polygonteils
zugeordnet werden. Es wird der Knoten 4 aus gleichen Gründen gewählt.
Die Gesamtanzahl der Vierecke ist in diesem Fall für beide Entscheidungen
gleich: Links von der Verbindung zwischen Knoten 4 und Knoten 4 können
bis zur Verbindung zwischen Knoten 2 und Knoten 2 zwei Vierecke und
rechts davon ebenfalls zwei Vierecke generiert werden. Bei der Zuordnung
von Knoten 5 zu Knoten 4 wären diese Anzahlen jeweils gleich.
2
1
3 4
5
6
7
1.
4
1 2
3
(i)
(ii)
1
2
3.
(iii)
1
3
4
1
2
2/1
2 3 1
2
3
1
1
2 3
(iv)
2.
5 6
2 3
(v)
3
1 2/1 3/1
2
2 3
(vi)
(vii)
Abbildung 5.25: Vernetzung einer schmalen Region
Durch die Zuordnung der Spitzenknoten und die Verbindungen zwischen
den jeweils ersten und letzten Knoten der schmalen Region wird die schmale
Region in weitere Teilregionen unterteilt (vergl. Abb. 5.25 (iii)). Die Teilregionen enthalten keine Zacken mehr, weswegen die Qualität der zu generierenden Elemente in einem gewissen Maße gewährleistet ist. Für die weitere
Vernetzung wird nun pro Teilregion überprüft, ob ein Polygonteil einer Teilregion mehr Knoten enthält als der andere Polygonteil. Ist dies der Fall (wie
im Beispiel (Abb. 5.25 (iii)) in der dritten Teilregion), so müssen entsprechend viele Dreiecke in die Teilregion eingesetzt werden: Sei x die Anzahl
der Knoten eines Polygonteils und y die Anzahl der Knoten des anderen Po-
5.2. VERNETZUNG VON SCHMALEN REGIONEN
107
lygonteils und œ x<y, dann müssen y-x Dreiecke in die Teilregion eingesetzt
werden. Im Beispiel muß ein Dreieck eingesetzt werden.
Der Einsatz von Dreiecken geschieht sukzessiv auf folgende Weise: Das
jeweils einzusetzende Dreieck soll die Teilregion, in die es eingesetzt wird, so
aufteilen, daß daraus nur Bereiche enstehen, deren Anzahlen der Knoten auf
den Polygonteilen möglichst wenig differieren, damit möglichst viele Vierecke generiert werden können. Beispiel: Eine Teilregion (A,B,C,a,b,c,d,e)
besitzt einen ersten Polygonteil mit drei (A,B,C) und einen zweiten mit
fünf (a,b,c,d,e) Knoten. In diesem Fall müßten zwei Dreiecke generiert werden. Folgende Dreiecke erfüllen die oben beschriebene Eigenschaft: (A,a,b),
(B,b,c), (B,c,d), (C,d,e). Es würde ein qualitativ bestes Dreieck gewählt.
Für die Teilregion der Teilregion, die weiterhin unterschiedliche Anzahlen
von Knoten auf den Polygonteilen besitzt, würde das Verfahren wiederholt.
(Beispiel: Annahme: Es wäre (B,c,d) gewählt worden, dann müßte das Verfahren für die Teilregion (A,B,a,b,c) der Teilregion (A,B,C,a,b,c,d,e) wiederholt werden.) Das Verfahren wird jeweils für alle Teilregionen so lange
angewendet, bis in allen Teilen aller Teilregionen die beiden Polygonstücke
jeweils gleiche Knotenanzahl besitzen. Im Beispiel wurde der erste Knoten
des unteren Polygonteils der dritten Teilregion mit den beiden ersten Knoten
des oberen Polygonteils verbunden (vergl. Abb. 5.25 (v)). Es verbleibt ein
Teil der betrachteten Teilregion mit jeweils gleicher Anzahl Knoten auf den
Polygonteilen. Die anderen Teilpolygone besitzen bereits Polygonteile mit
jeweils gleicher Knotenanzahl.
Die Zuordnung der Knoten in den Teilregionen (bzw. Teilen der Teilregion
usw.) erfolgt anschließend in aufsteigender Reihenfolge (vergl. Abb. 5.25
(vi)).
Zur Vermeidung unkontrollierter Zerlegungen werden an den Kanten der
schmalen Region, an denen Dreiecke generiert wurden, in der benachbarten
Region ebenfalls Dreiecke generiert (vergl. Abb. 5.25 (vii)).
Damit ist die Vernetzung einer schmalen Region abgeschlossen. Die
Zacken dürfen hier wegen der Nachbarschaft zu einer schmalen Region nicht
wie in Unterkapitel 5.3 beschrieben vernetzt werden, sondern werden durch
Vierecksreihen vernetzt. Zur Verbesserung der Elementqualität dürfen jedoch außerhalb der schmalen Region EinKnotenDreiecke eingesetzt werden.
Die Vernetzung von Null-Regionen erfolgt ebenfalls auf diese Weise. Die
Vierecke stellen hier keine Zerlegungselemente und die Dreiecke keine Zerlegungsdreickkandidaten dar.
Ein allgemeines Verfahren zur Vernetzung von einzelnen schmalen Regionen ist in Algorithmus 5.1 skizziert.
108
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Algorithmus 5.1 (EinzelneSchmaleRegion).
1. PROCEDURE
2. BEGIN
3.
erzeuge Zuordung der Spitzenknoten;
4.
setze pro Teilregion eine entsprechende
Anzahl von Dreiecken ein, die
optimal gewählt wurden;
5.
ordne die weiteren Knotenpaare sukzessiv zu;
6.
erzeuge Dreiecke in der benachbarten
Region an den Kanten, an denen in der
schmalen Region Dreiecke liegen;
7. END
Mehrere benachbarte schmale Regionen
Die Zuordnung von Knoten bei nebeneinanderliegenden schmalen Regionen ist etwas schwieriger. Dies gilt vor allen Dingen wegen der Weiterleitung
von Zerlegungspfaden durch Dreiecke. Die Vernetzung wird zunächst anhand
eines Beispiels (Abb. 5.26) vorgestellt. Anschließend wird das Verfahren in
Algorithmus 5.2 skizziert.
In Abb. 5.26 sind drei benachbarte schmale Regionen durch vier Polygonteile gegeben. Der erste Polygonteil besteht aus sieben, der zweite aus neun,
der dritte aus acht, der vierte aus sechs Knoten (vergl. Abb. 5.26 (i)). Jede
schmale Region wird analog zur Zuordnung bei einzelnen Regionen zunächst
in die durch die Zacken gegebenen Teile aufgeteilt (vergl. Abb. 5.26 (ii)).
Eine Zacke, die an zwei schmalen Regionen liegt, verursacht dabei in beiden
schmalen Regionen eine Aufteilung. Würde die Aufteilung der schmalen Regionen hiermit enden, so gäbe es schmale Regionen, bei denen z.B. mehrere
(durch die Zuordnung entstandene) Teile eines Polygonteils einem Teil eines
anderen Polygonteils gegenüberliegen könnten. Im Beispiel würden z.B. dem
dritten Teil des ersten Polygonteils der dritte und vierte Teil des zweiten
Polgonteils gegenüberliegen. Eine Zuordnung der Knoten gemäß der Zuordnung bei einzelnen schmalen Regionen verkompliziert sich, wenn - wie im
Beispiel - der dritte und vierte Teil des zweiten Polygonteils in der höher gelegenen schmalen Region nur einem Teil (dritter Teil des ersten Polygonteils)
und in der darunterliegenden, benachbarten schmalen Region zwei Teilen
(dritter und vierter Teil des dritten Polygonteils) gegenüberliegt. Denn die
5.2. VERNETZUNG VON SCHMALEN REGIONEN
1
2
3
5
4
6
7
1.Polygonteil
9
2.Polygonteil
109
2
7
1
3
5
1
2
8
6
4
8
7
3
5
3.Polygonteil
6
4
1
2
3
4
5
6
(i)
4.Polygonteil
(ii)
1
1.
4.
3.
2.
2
4.
2.
3.
2.
3.
3
4
1.
2
3
1.
(iii)
4.
3.
1
4.
1.
4.
3.
2
1.
3
1. 1
4.
3.
1
2
(iv)
1
2
2
3
1.
1
4.
1.
2 3
2.
2.
1
1.
4.
2.
1.
2 3
3.
2.
3.
2.
3.
1
2
3
2
3
1
1
4.
1.
2.
1
2
3
1.
(v)
(vi)
(vii)
(viii)
1
2
Abbildung 5.26: Vernetzung benachbarter schmaler Regionen
110
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Zuordnung von Knoten einer schmalen Region muß zur Vermeidung einer
unkontrollierten Weiterleitung von Zerlegungspfaden immer in Abhängigkeit
der benachbarten schmalen Regionen geschehen. Deswegen wird eine weitere
Unterteilung vorgenommen, durch die gewährleistet wird, daß alle schmalen
Regionen in gleich viele Teile unterteilt werden.
Dazu werden die bereits vorgenommenen Unterteilungen an den Zacken in
alle weiteren schmalen Regionen fortgesetzt, in dem jeweils von den Knoten
ausgegangen wird, an denen eine Unterteilung bereits anliegt. Im Beispiel
sind dies die Knoten 2 und 4 des dritten Polygonteils und der Knoten 7
des zweiten Polygonteils (vergl. Abb. 5.26 (ii)). Die Unterteilung erfolgt in
Reihenfolge der nummerierten Knoten und innerhalb derer in Reihenfolge
der nummerierten Polygonteile. Von einer bereits bestehenden Unterteilung
ausgehend wird jeweils sukzessiv die Unterteilung in der benachbarten Teilregion vorgenommen bis alle Teilregionen bezüglich der Ausgangsunterteilung
unterteilt sind (vergl. 5.26 (iii)). Die Unterteilung geschieht ähnlich wie
bei einzelnen schmalen Regionen. Jedoch wird jeweils nach Möglichkeit ein
Knoten zugeordnet, durch den die Mindestanzahl der Kanten des bisher gebildeten Blocks nicht unterschritten wird.
Führt dies zu nicht akzeptablen Elementen wird analog zur Zuordnung bei
einzelnen schmalen Regionen die Nähe eines Knotens zur Winkelhalbierenden
berücksichtigt. Durch die Unterteilung entstehen Blöcke der Nummer i ,
die aus den i-ten Teilen aller Teilregionen bestehen (vergl. 5.26 (iii)).
Im Beispiel (vergl. Abb. 5.26 (iii)) wird dem Knoten 2 aus Polygonteil
drei der Knoten 2 aus Polygonteil vier zugeordnet. Dadurch ist der erste
Block bereits komplett gebildet, er enthält auf jedem Teil eines zugehörigen Polygons genau zwei Knoten. Für Knoten 4 des dritten Polygonteils
wird Knoten 3 des vierten Polygonteils gewählt. Dadurch wird das bisher
bestehende Minimum des Blocks 2 mit drei Knoten unterschritten. Würde
jedoch der vierte Knoten des vierten Polygonteils zugeordnet, so würde ein
sehr schlechter Winkel am vierten Knoten des dritten Polygonzugs entstehen.
Dem siebten Knoten des zweiten Polygonzugs wird der sechste Knoten des
ersten Polygonzugs zugeordnet. Würde hier nach der nächsten Annäherung
zur Winkelhalbierenden verfahren, so müßte der fünfte Knoten des ersten
Polygonzugs zugeordnet werden. Da jedoch der Winkel am sechsten Knoten
noch akzeptabel ist, kann durch seine Wahl das Minimum des Blocks 3 von
drei Knoten eingehalten werden. Block 4 ist durch diese Zuordnung bereits
festgelegt.
Würde es im Beispiel einen weiteren Polygonteil unterhalb der anderen
Polygonteile und damit vier schmale Regionen geben, so müßten zur Vervollständigung der Blöcke den Knoten 2, 3 und 5 des vierten Polygonteils
Knoten des fünften Polygonteils zugewiesen werden.
5.2. VERNETZUNG VON SCHMALEN REGIONEN
111
Innerhalb der Blöcke findet nun die Zuordnung statt. Dafür werden die
Knoten pro Block und pro Polygonteil jeweils fortlaufend neu nummeriert
(vergl. Abb. 5.26 (iv)). Ist die Anzahl der Knoten auf den Polygonteilen der
Blöcke jeweils gleich, so ist die Zuordnung einfach: Dem j-ten Knoten eines
Polygonteils wird jeweils der j-te Knoten eines benachbarten Polygonteils
zugewiesen. Dies ist im Beispiel bei den Blöcken 1 und 3 der Fall (vergl.
Abb. 5.26 (v)).
Für die anderen Blöcke ist die Zuordnung schwieriger, da hier Dreiecke
eingesetzt werden müssen. Durch die Erzeugung eines Dreiecks werden einem
Knoten eines Polygonteils zwei benachbarte Knoten eines gegenüberliegenden
Polygonteils zugeordnet.
Definition 64. Der Knoten oder das Knotenpaar, das einem Knoten zugeordnet wird, bildet eine Knoteneinheit.
In Abb. 5.27 (iii) ist die Vernetzung für den zweiten Block aus 5.26 dargestellt. Sie wird im weiteren noch diskutiert. Die Knoteneinheiten auf dem
ersten Polygonteil sind der Knoten 1 und das Knotenpaar (2,3) innerhalb
des Blocks. Die Knoteneinheiten auf dem zweiten Polygonteil sind die Paare
(1,2) und (3,4). Die des dritten sind der Knoten 1 und das Paar (2,3) und
die des vierten die Knoten 1 und 2. Die Knoten jedes Polygonteils in einem
Block werden also in jeweils gleich viele Knoteneinheiten aufgeteilt und diese
Anzahl entspricht der geringsten Anzahl von Knoten auf einem Polygonteil
innerhalb des Blocks. Dies hat folgenden Hintergrund:
Die Zuordnung erfolgt hier vom vierten Polygonteil ausgehend zum ersten,
da der vierte Polygonteil innerhalb des Blocks die wenigstens Knoten besitzt.
Dabei wird davon ausgegangen, daß der erste Polygonteil nicht auf dem Uferpolygon liegt. Weil der dritte Polygonteil drei und der vierte Polygonteil zwei
Knoten (innerhalb des Blocks) besitzen, muß am dritten Polygonteil an einer Kante zwischen dem dritten und dem vierten Polygonteil ein Dreieck
generiert werden. Die Auswahl der Kante erfolgt durch Überprüfung aller
Kanten. Dazu wird an jeder Kante die Qualität des besten daran zu generierenden Dreieckpaares gemessen, wobei darin evtl. durch das Dreieckpaar
erzwungene Dreiecke integriert sein müssen. Würde z.B. die Kante zwischen
Knoten 2 und 3 des dritten Polygonteils im zweiten Block gewählt und dieser
Kante der dritte Knoten des zweiten Polygonteils des zweiten Blocks zugeordnet, so müßte zwangsweise ein Dreieck aus dem dritten Knoten des dritten
Polygonteils des zweiten Blocks und aus dem dritten und vierten Knoten des
zweiten Polyonteils des zweiten Blocks generiert werden. Solche erzwungenen Dreiecke müssen bei der Qualitätsberechnung der zu wählenden Dreiecke
112
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
1
2
3
1.Polygonteil
1
1
2
3
1
2
2.Polygonteil
3
2
3
4
1
4
3.Polygonteil
2
1
2
3
1
2
3
4.Polygonteil
(i)
1
2
(ii)
1
2
3
1
2
3
4
1
2
3
1
2
(iii)
Abbildung 5.27: Vernetzung innerhalb eines Blocks
berücksichtigt werden (vergl. Abb. 5.27 (i)). Im Beispiel wird zwar die Kante zwischen dem zweiten und dem dritten Knoten des dritten Polygonteils
des zweiten Blocks gewählt. Jedoch wird ein Dreieck zum vierten Knoten
des zweiten Polygonteils des zweiten Blocks und ein Dreieck zum zweiten
Knoten des vierten Polygonteils des zweiten Blocks generiert, wodurch kein
erzwungenes Dreieck entsteht.
Da zu diesem Zeitpunkt der dritte Polygonteil zwei Knoteneinheiten und
die beiden benachbarten Polygonteile im zweiten Block nicht weniger Knoteneinheiten besitzen (nämlich zwei und vier) ist die Vernetzung von Dreiecken, die eine Kante auf dem dritten Polygonteil besitzen, abgeschlossen.
Für den zweiten Polygonteil kann jetzt eine analoge Zuordnung stattfinden,
wobei für die daran zu generierenden Dreiecke auf dem dritten Polygonteil
die Knoten 1 und 2 und auf dem ersten Polygonteil die Knoten 1, 2 und 3 zur
Verfügung stehen. (Die Anzahl der auf dem dritten Polygonteil des Blocks
(an den ja bereits alle Dreiecke generiert wurden!) zur Verfügung stehenden
Knoten ist also gleich der geringsten Anzahl von Knoten die innerhalb des
Blocks auf einen Polygonteil liegen.) Das Ergebnis dieser Vernetzung zeigt
Abb. 5.27 (ii). Anschließend wird noch das am ersten Polygonteil zu generierende Dreieck erzeugt Abb. 5.27 (iii). Im Anschluß daran können ggfs.
sukzessiv die Knoten zur Generierung von Vierecken zugordnet werden. Im
Beispiel ist dies nicht nötig, da die noch nicht vernetzten Bereiche bereits
5.2. VERNETZUNG VON SCHMALEN REGIONEN
113
Vierecke bilden.
Die Zuordnung innerhalb des vierten Blocks geschieht in entsprechender
Weise (vergl. Abb. 5.26 (vi)). Abb. 5.26 (vii) zeigt die komplette Vernetzung
der benachbarten Region.
Allgemein wird wie folgt zugeordnet:
Von einem Polygonteil, dessen Knotenanzahl x innerhalb des Blocks bezüglich aller Polygonteile des Blocks minimal ist, müssen zu einem zweiten benachbarten Polygonteil innerhalb des Blocks mit höherer Anzahl y von Knoten y-x Dreiecke zugeordnet werden. (Im Beispiel Abb. 5.27 (i) ist x=2 und
für den vierten Polygonteil erfüllt. Für den dritten (zu dem vierten benachbarten) Polygonteil gilt für die Anzahl y der Knoten innerhalb des Blocks
y=3. Es muß also zum dritten Polygonteil y-x=1 Dreieck zugeordnet werden. Damit besitzt der dritte Polygonteil zwei Knoteneinheiten.) Die gleiche
Anzahl von Dreiecken soll zur Vermeidung einer unkontrollierten Ausbreitung von Zerlegungspfaden in der nächsten dazu benachbarten Teilregion an
den gleichen Kanten in entgegengesetzter Richtung generiert werden (vergl.
Abb. 5.27 (i)). Damit ist die Generierung von Dreiecken an diesem Polygonteil abgeschlossen.
Sei z die Anzahl der Knoten des weiter benachbarten Polygonteils, der
nicht auf dem Uferpolygon liegt. (Im Beispiel wird der zweite Polygonteil
betrachtet, auf dem innerhalb des Blocks z=4 Knoten liegen.) Dann müssen
an z-x Kanten dieses Polygonteils Dreiecke von beiden Seiten zugeordnet
werden. (Im Beispiel müssen am zweiten Polygonteil an z-x=4-2=2 Kanten
Dreiecke zugeordnet werden (vergl. Abb. 5.27 (ii)).) Die Zuordnung setzt
sich so fort, d.h. auf jedem Polygonteil des Blocks entstehen x Knoteneinheiten, außer auf einem Polygonteil, der auf dem Uferpolygon liegt. Auf solchen
Polygonteilen genügt es, wenn a=min(b,c) Knoteneinheiten entstehen, wobei b die Anzahl der Knoten des betrachteten Polygonteils und c die Anzahl
der Knoten des benachbarten Polygonteils ist. Denn in einer Null-Region
müssen Zerlegungen nicht auf Dreiecke treffen. Läge der erste Polygonteil
in Abb. 5.26 auf einem Uferpolygon, könnte wie in Abb. 5.28 dargestellt vernetzt werden. Es bräuchte dort ein Dreieck weniger generiert zu werden. Das
dadurch entstandene Viereck kann seitlich keinen Zerlegungspfad weiterleiten.
Bemerkung: Es ist aber auch immer möglich, an Polygonteilen, die auf
dem Uferpolygon liegen, wie an allen anderen Polygonteilen zu vernetzen.
Denn aus einem Viereck in einer Null-Region, auf das ein Zerlegungspfad
trifft, entsteht bei der 3D-Vernetzung ein Prisma, das in Tetraeder zerlegt
wird. Da statt dem Viereck letztlich zwei Dreiecke entstehen, bleibt die Anzahl der Tetraeder bei der 3D-Vernetzung gleich.
114
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
An allen Kanten, an denen Dreiecke anliegen, die zu weiteren Regionen,
die nicht zu den schmalen Regionen gehören, benachbart sind, müssen in
diesen Regionen noch Dreiecke generiert werden. Im Beispiel ist dies für die
Kante zwischen dem dritten und dem vierten Knoten des ersten Polygonteils
der Fall (vergl. Abb. 5.26 (viii)).
1
2
3
1.Polygonteil
1
1
2
1
2
2.Polygonteil
3
2
3
4
1
4
3.Polygonteil
2
1
2
3
1
(i)
3
2
3
4.Polygonteil
1
2
(ii)
Abbildung 5.28: Vernetzung innerhalb eines Blocks, falls der erste Polygonteil auf dem Uferpolygon liegt
In Algorithmus 5.2 ist ein allgemeines Verfahren zur Vernetzung von nebeneinanderliegenden schmalen Regionen skizziert.
Integration von Verfeinerungspolygonen, die die schmalen Regionen schneiden
Zur Vervollständigung der Vernetzung von schmalen Regionen wird in
diesem Abschnitt das Auftreten von benachbarten Ecken durch den Schnitt
eines Verfeinerungspolygons mit einer oder mehreren schmalen Regionen diskutiert. Ein Verfeinerungspolygon kann eine oder mehrere schmale Regionen
durchtrennen oder einen Abschluß zu einer oder mehreren schmalen Regionen
bilden. Im Unterschied zur Vernetzung von benachbarten Ecken, die nicht an
eine schmale Region grenzen (vergl. Abschnitt 5.1.8), existiert hier (von der
schmalen Region her) nur eine Elementreihe, die auf die beiden benachbarten
Ecken trifft. Bei der Vernetzung muß davon ausgegangen werden, daß über
diese ein Zerlegungspfad führt.
Der Schnitt durch ein Verfeinerungspolygon ist die einzige Möglichkeit,
daß zwei benachbarte Ecken, die nicht auf einem Ein- oder Auslaufpolygon
liegen, an einer schmalen Region liegen. Denn schmale Regionen entstehen
nach Voraussetzung nicht durch benachbarte Verfeinerungspolygone. Da ein
Schnitt- oder ein Uferpolygon niemals ein anderes Schnitt- oder Uferpolygon schneiden können, folgt die Behauptung. Zwei benachbarte Ecken, die
auf einem Ein- oder Auslaufpolygon liegen, stellen keine Probleme dar, da
durch die Zuweisung der Tiefenwerte auf dem Ein- und Auslaufpolygon auf
5.2. VERNETZUNG VON SCHMALEN REGIONEN
115
Algorithmus 5.2 (BenachbarteSchmaleRegionen).
1. PROCEDURE
2. BEGIN
3.
erzeuge für jeden Polygonteil
Zuordung der Spitzenknoten;
4.
erzeuge alle Blöcke;
5.
für (alle Blöcke)
6.
min:=1000;
7.
für (alle Polygonteile)
8.
9.
min:=minimum[min, Anzahl des
aktuellen Polygonteils innerhalb des
aktuellen Blocks]
für (alle Polygonteile)
10.
n:=Anzahl Knoten des aktuellen Polygonteils
innerhalb des aktuellen Blocks;
11.
falls (aktueller Polygonteil
nicht auf Uferpolygon)
12.
13.
erzeuge an (n-min) Kanten des aktuellen
Polygonteils optimale Dreiecke/Dreieckpaare;
sonst
14.
m=Anzahl der Knoten des zum aktuellen
Polygonteils benachbarten Polygonteils
innerhalb des aktuellen Blocks;
15.
erzeuge an (n-min(m,n)) Kanten des aktuellen
Polygonteils optimale Dreiecke/Dreieckpaare;
16.
erzeuge restliche Vierecke durch
sukzessives Zuordnen von Knoten;
17.
erzeuge Dreiecke in weiteren benachbarten
Regionen an den Kanten, an denen in einer
schmalen Region ein Dreieck liegt;
18. END
116
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
den Polygonteilen einer schmalen Region keine Kanten mit unterschiedlichen
Tiefenwerten der Knoten entstehen (vergl. 3.14). Deswegen muß für ihre
Vernetzung lediglich berücksichtigt werden, daß die auf dem Berandungspolygon liegende Kante fest ist. Die Vernetzung kann so in die Vernetzung der
schmalen Regionen voll integriert werden.
Durch ein Verfeinerungspolygon wird eine schmale Region in mehrere Teile der schmalen Region (s. Abb. 5.29 (i)) (bzw. einfachheithalber in mehrere
schmale Regionen) unterteilt bzw. mehrere nebeneinanderliegende schmale
Regionen werden in blockähnliche Teile gegliedert (s. Abb. 5.29 (ii)). Diese Teile werden im folgenden als Überblöcke bezeichnet (Abb. 5.29 (ii)).
Sie werden bei vorhandenen Zacken in weitere Blöcke gemäß der Vernetzung
für benachbarte schmale Regionen (vergl. Abschnitt 5.2.1) aufgeteilt. Sollte
ein Verfeinerungspolygon an einem Polygonteil enden (Abb. 5.30 a)), so wird
das Verfeinerungspolygon gemäß der Blockbildung für benachbarte schmale Regionen verlängert ohne jedoch eine weitere Verfeinerung zu bewirken
(Abb. 5.30 b)). Dies geschieht zur Vereinfachung der Vernetzung. Eine bis
dahin noch nicht unterteilte schmale Region wird dadurch in zwei schmale
Regionen unterteilt.
Durch die Unterteilungen entstehen auf einer Seite (in Abb. 5.30 ist dies
die linke Seite) Regionen, deren Tiefenwerte der Knoten gleich geordnet sind
wie die Tiefenwerte in schmalen Regionen, die nicht durch ein Verfeinerungspolygon geschnitten werden (Abb. 5.30 c)). In diesem Fall kann die Vernetzung auch wie in solchen schmalen Regionen stattfinden (vergl. Algorithmen
5.1 und 5.2).
Verfeinerungspolygon
(i)
(ii)
Abbildung 5.29: Aufteilung von schmalen Regionen durch ein Verfeinerungspolygon
Auf der anderen Seite (in Beispiel Abb. 5.30 rechte Seite) bewirkt ein
Verfeinerungspolygon (außer im Verlängerungsbereich) unterschiedliche Tiefenwerte der Knoten an den Kanten, die inzident zum Verfeinerungspolygon
5.2. VERNETZUNG VON SCHMALEN REGIONEN
117
t
t+3
t
t+3
t+1
t+4
t+1
t+4
t+2
t+2
t+2
t+3
t+3
a)
b)
k1 t+3
R1
P1
t+1 t+1 k2 t+2
R2
t
t
P2
t+2 t+2
t+2
R3
t+3
c)
d)
Abbildung 5.30: Tiefenwertzuordnung für diese Regionen
liegen. Hier muß eine angepaßte Vernetzung stattfinden (Abb. 5.30 c) + d)):
k1 und k2 sind Kanten eines Polygonteils innerhalb einer schmalen Region
mit Knoten unterschiedlicher Tiefenwerte. Durch die Verbindung von P1 und
P2 würde ein Konfliktviereck enstehen. Zu dessen Vermeidung müssen an diesen Kanten zu beiden Seiten hin Dreiecke generiert werden (s. Abb. 5.30 d)).
In der Region R2 , an der sowohl k1 als auch k2 anliegt, sollen die Dreiecke
optimal an das Verfeinerungspolygon generiert werden, in der Region R3 soll
das zu generierende Dreieck durch das Verfeinerungspolygon begrenzt sein
und in der Region R1 wird die Ecke, falls sie freiliegend ist, wie eine solche vernetzt. Aufgrund der Situation kann davon ausgegangen werden, daß
die Winkel zwischen Verfeinerungspolygon und Polygonteilen der schmalen
Regionen 180◦ nicht übersteigen und damit keine entarteten Elemente entstehen. Deswegen findet eine Vernetzung immer analog zu Abb. 5.30 d) statt:
An den Kanten, an denen unterschiedliche Tiefenwerte der Knoten anliegen,
werden zu beiden Seiten hin (analog zu Abb.5.30 d)) an das Verfeinerungspolygon Dreiecke generiert (vergl. auch Abb. 5.38). Durch diese Vernetzung
werden Konfliktvierecke vermieden und Zerlegungspfade entsprechend der
bisherigen Strategie weitergeleitet. Der Rest des Überblockes/der schmalen
Region, an dem die Polygonteile keine Kanten mit Knoten unterschiedlichen
118
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Tiefenwerts enthalten, kann wie benachbarte schmale Regionen bzw. eine einzelne schmale Region gemäß der Algorithmen 5.1 und 5.2 vernetzt werden.
Vernetzung von Kehrtwenden
Kehrtwenden (vergl. Def. 60 Seite 71) umschließen Teilregionen, die, falls
die Kehrtwende aus drei oder weniger Kanten besteht, gesondert vernetzt
werden müssen:
(i)
(ii)
Abbildung 5.31: Kehrtwende mit wenigen Kanten
Kleine Teilregionen, die von einer Kehrtwende mit zwei bis drei Kanten
umschlossen werden (Abb. 5.31), können wie in Abb. 5.32 vernetzt werden:
Da immer einkalkuliert werden muß, daß durch die schmale Region ein Zerlegungspfad führt, muß im Fall Abb. 5.31 (i) an der Kante, über die der
Zerlegungspfad in die benachbarte Region weitergeleitet werden könnte, in
der benachbarten Region ein Dreieck generiert werden (Abb. 5.32 (i)). Damit
auf das Viereck innerhalb der Kehrtwende nicht von drei oder mehr Seiten
Zerlegungspfade auftreffen können, müssen an den anderen beiden Kanten in
der benachbarten Region jeweils Vierecke generiert werden (vergl. Abb. 5.32
(i)). Hier wird von genügend großem Platz ausgegangen. Ist dieser nicht
vorhanden, wird die schmale Region als nicht vernetzbar“ eingestuft. Im
”
Fall Abb. 5.31 (ii) werden für das durch die Kehrtwende entstandene Dreieck in der benachbarten Region Dreiecke generiert (Abb. 5.32 (ii)), damit ein
Zerlegungspfad gemäß der Strategie weitergeleitet werden kann. Bezüglich
des Platzes wird analog verfahren.
Nach der Vernetzung der schmalen Regionen kann zur Verbesserung der
Elemente eine Anpassung der Knoten durch Verschiebung wie in [Schu97]
stattfinden.
Die dritte Phase umfaßt dann die Vernetzung der Übergänge der schmalen
Region in einen breiteren Teil der Region. Diese wird im folgenden Abschnitt
vorgestellt.
5.2. VERNETZUNG VON SCHMALEN REGIONEN
(i)
119
(ii)
Abbildung 5.32: Vernetzung einer Kehrtwende mit wenigen Kanten
5.2.2
Übergänge schmaler Regionen
Mündet eine schmale Region in einen breiteren Teil der zugehörigen Region, so muß der Übergang so vernetzt werden, daß mögliche Zerlegungspfade
gemäß der Strategie weiter kontrolliert verlaufen. I.a. ist es immer möglich,
daß durch die schmale Region ein Zerlegungspfad geführt wird. Ebenfalls
muß davon ausgegangen werden, daß entlang der an die schmale Region
angrenzenden Polygonteile des breiteren Teils der Region Zerlegungspfade
geführt werden (vergl. Abb. 5.33).
schmale Region
breiter Teil
der Region
Abbildung 5.33: Schmale Region und breiter Teil der Region
Abbildung 5.34: Vernetzung am Übergang einer schmalen Region
Das Zusammentreffen dreier möglicher Zerlegungspfade wird am besten
durch ein Dreieck koordiniert (vergl. Abb. 5.34). Damit wird ein auf dieses
Dreieck auftreffender Zerlegungspfad entlang der Polygonteile bzw. entlang
120
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
der Randelemente des breiteren Teils der Region und entlang der schmalen
Region gemäß der Strategie zur Leitung von Zerlegungspfaden weitergeleitet.
Zur Weiterleitung eines Zerlegungspfades entlang der Randelemente sollen
an den direkt zur schmalen Region benachbarten Kanten im breiteren Teil
(Übergangskanten, vergl. Abb. 5.34) nach Möglichkeit Vierecke generiert
werden. Dies ist beim Übergang zu einem breiteren Teil immer möglich, da
dort nach Definition genügend Platz vorhanden sein muß. An den Übergangskanten müssen dann in den benachbarten Regionen ebenfalls Vierecke
generiert werden (Abb. 5.36 (iv)). Allerdings können dabei Schwierigkeiten
auftreten, wenn am Übergang eine Zacke vorliegt (vergl. Abb. 5.35).
Abbildung 5.35: Vernetzung am Übergang einer schmalen Region
Denn die Vernetzung mit Vierecken im kleinen Winkel einer Zacke - wie
es in diesem Fall in der zur schmalen Region benachbarten Region bei einer
Zacke vom t+x-Fall geschehen müßte - verursacht sehr schlechte Elemente.
Da an einer Übergangskante ohne Verletzung der Strategie aber auch zu
beiden Seiten hin Dreiecke generiert werden können, soll dies bei Zacken vom
t+x-Fall aufgrund des Platzmangels geschehen (vergl. Abb. 5.36 (i)+(ii)).
An der anderen Zackenkante, die zur schmalen Region gehört, soll die
Vernetzung von dem Element, das von der Vernetzung der schmalen Region
vorgeschrieben wird, abhängig sein. Ist dies ein Viereck (vergl. Abb. 5.36 (i)),
so wird trotz Generierung schlechter Elemente auch ein Viereck innerhalb der
Zacke akzeptiert. Denn die Vernetzung eines Dreiecks an dieser Stelle würde
dazu führen, daß innerhalb der schmalen Region auch mit einem Dreieck
vernetzt werden müßte. Evtl. könnten dadurch sehr viele Zerlegungsdreiecke
entstehen.
Muß an der Kante der schmalen Region ein Dreieck in der schmalen Region generiert werden, so wird wie in Abb. 5.36 (ii) in der benachbarten Region
an dieser Kante ebenfalls ein Dreieck generiert. Falls eine Zacke vom t-Fall
vorliegt und an beiden Kanten der Zacke Vierecke generiert werden (vergl.
Abb. 5.36 (iii)), kann im kleinen Winkel der Zacke analog zu einzelnen Zacken
oder mehreren benachbarten Zacken (vergl. Abschnitt 5.2.1) durch eine Verbindungskante ein ZweiKantenDreieck (Dreieck, das mit genau zwei Kanten
5.2. VERNETZUNG VON SCHMALEN REGIONEN
t
121
t+x
t
t
t+x
t+x
(i)
(ii)
(iii)
(iv)
Abbildung 5.36: Vernetzung am Übergang einer schmalen Region
auf der Kontur liegt, vergl. Def. 65 Seite 125) generiert werden. Dafür muß
allerdings gewährleistet sein, daß die weitere Vernetzung wie bei einzelnen
Zacken bzw. mehreren benachbarten Zacken stattfinden kann und der nötige
Platz für ein Viereck an der Verbindungskante vorhanden ist. Durch diese
Vernetzung können ggfs. einige Zerlegungspfade vermieden werden. Ist der
nötige Platz nicht vorhanden, wird die Zacke wie eine Zacke vom t+x-Fall
vernetzt.
Liegt keine Zacke vor, so wird wie in Abb. 5.36 (iv) vernetzt. Ein Viereck
an einer Übergangskante im breiteren Teil kann direkt an das Dreieck am
Übergang generiert werden. In der benachbarten Region muß dann an der
Übergangskante auch ein Viereck generiert werden. Die Vernetzung in einer
benachbarten Region an einer zur schmalen Region gehörenden Kante neben
einer Übergangskante erfolgt in Abhängigkeit der Vernetzung der schmalen
Region: Es wird dort das gleiche Element wie in der schmalen Region an
dieser Kante generiert.
Es gibt einige Fälle, bei denen die Vernetzung verbessert werden kann:
Eine schmale Region besteht entweder aus zwei Polygonteilen mit gleichem Tiefenwert t der Knoten oder mit unterschiedlichen Tiefenwerten t und
t+x der Knoten. Es wird hier zuerst der letzte Fall betrachtet. In diesem
Fall muß die schmale Region und der breitere Teil, in den die schmale Region
mündet, den Tiefenwert t+x besitzen, denn sonst würde die schmale Region
nicht existieren. Da die Tiefenwerte der Knoten eines Polygonabschnitts immer gleich sind, setzen sich die Tiefenwerte der Knoten der Polygonteile der
schmalen Region an den Knoten der Polygonteile des breiteren Teils der Region jeweils fort, bis jeweils eine Ecke erreicht wird. Falls nun gewährleistet
ist, daß entlang des Polygonteils der breiteren Region mit den Knoten mit
Tiefenwert t+x kein Zerlegungspfad geführt wird, kann, falls die Winkel am
Übergang dies erlauben, die Vernetzung wie in Abb. 5.37 stattfinden.
Die generierten Vierecke sind keine Konfliktvierecke. Wird ein Zerle-
122
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t+x
t+x
t+x
t+x
t
t
t
t
Abbildung 5.37: Verbesserte Vernetzung am Übergang einer schmalen Region
gungspfad durch die schmale Region geführt, so wird er im breiteren Teil der
Region entlang des zur schmalen Region benachbarten Polygonteils, dessen
Knoten den Tiefenwert t besitzen, weitergeführt. Da nach Voraussetzung
im breiteren Teil der Region kein Zerlegungspfad entlang des anderen zur
schmalen Region benachbarten Polygonteils, dessen Knoten den Tiefenwert
t+x besitzen, geführt wird, und die Region ebenfalls den Tiefenwert t+x besitzt, darf entlang dieses Teils der Kontur beliebig vernetzt werden, d.h. hier
brauchen später keine Viereckreihen generiert zu werden. Es dürfen sogar
bereits generierte Elemente an Ecken oder Zacken in diesem Bereich entfernt
werden, da ja vorausgesetzt wird, daß kein Zerlegungspfad entlang des Polygonteils verläuft und deswegen keine Zerlegungen über solche Kanten in
die Region gelangen können. Durch den gleichen Tiefenwert der Knoten des
Polygonteils und der Region können keine Konfliktelemente entstehen.
In der Praxis treten solche Fälle häufiger auf (vergl. Abb. 5.38), die Polygonteile mit Knoten des Tiefenwerts t+x enden dann auf einem Ein- oder
Auslaufpolygon. Es können auf diese Weise einige Zerlegungspfade eingespart werden.
Der Fall, daß die Knoten beider Polygonteile einer schmalen Region den
gleichen Tiefenwert besitzen, tritt in der Praxis selten auf. In diesem Fall
muß der Tiefenwert der schmalen Region und des breiteren Teils ebenfalls t
sein, da sonst die schmale Region nicht existieren würde. Es kann hier bei
entsprechenden Voraussetzungen eine Verbesserung in einem angrenzenden
breiteren Teil analog zu Abb. 5.37 stattfinden.
Mit der Vernetzung der Übergänge ist die Vernetzung der schmalen Regionen abgeschlossen.
5.2. VERNETZUNG VON SCHMALEN REGIONEN
5.2.3
123
Beispiel Wurm
In Abb. 5.38 ist die Vernetzung der schmalen Regionen und ihrer Übergänge
zum breiteren Teil einer Region für den Abschnitt der Wurm dargestellt. Für
die Übergänge wird bereits (in Voraussicht) eine nach Abb. 5.37 verbesserte
Vernetzung gezeigt, soweit diese möglich ist. Deswegen ist die Vernetzung
entlang des linken Uferpolygons schon komplett durchgeführt. Elemente an
Ecken des jeweils anderen Polygonteils innerhalb der breiteren Teile der Region, an die das linke Uferpolygon grenzt, konnten entfernt werden. Anpassungen an Anschlußknoten der Ecken (ohne den Einsatz von neuen Elementen)
wurden bereits integriert (vergl. Unterkapitel 5.4).
Abbildung 5.38: Vernetzung der schmalen Regionen für das Wurmbeispiel
Die schmalen Regionen treten hier häufig nebeneinanderliegend auf. Das
Verfeinerungspolygon im Bereich der konvexen Biegung schneidet einige nebeneinanderliegende schmale Regionen.
In diesem Bereich tritt auch eine Region auf, die zum einen durch ein
Polygonteil, das aus einem Schnittpolygon und zum anderen durch ein Polygonteil, das aus einem Schnitt- und einem Verfeinerungspolygon entstanden
ist, begrenzt wird, wobei diese Polygonteile eng beieinanderliegen. Diese Region wird auf der einen Seite durch ein Verfeinerungspolygon und auf der
124
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
anderen Seite durch den Schnitt der beiden oben genannten Polygonteile beendet. Die aus dem Schnitt entstandene Ecke wurde bereits wie eine Ecke
innerhalb einer breiteren Region vernetzt, d.h. die Region wird wie eine Region vernetzt, die eine schmale Region und einen breiteren Teil enthält (vergl.
auch Abschnitt 4.2.2).
Zacken treten im Beispiel zwar in den schmalen Regionen auf, aber eher
selten. Da sie nicht sehr kleine Winkel umschließen, werden sie zur Einsparung von Konflikt- und Zerlegungsdreiecken sowie von Zerlegungspfaden
nicht wie Zacken vernetzt.
Beendigungen einer schmalen Region durch Kehrtwenden treten nicht auf.
5.3
Vernetzung von Zacken
In diesem Unterkapitel werden die einzelnen Fälle aus Tabelle 4.3, also die
Aufgaben (ii) f) und g) aus Schema 4.31 S. 75, diskutiert. Teilweise werden
zur Vernetzung der Zacken Templates, teilweise Algorithmen vorgestellt.
Zacken sind laut Definition 57 zwei aufeinanderfolgende Kanten eines Polygonabschnitts, die einen Winkel kleiner γ einschließen. γ ist dabei von
außen festzulegen und soll zwischen 0◦ und 120◦ liegen. Je größer γ in diesem Rahmen gewählt wird, je besser ist die Qualität der Elemente, die an
den Zacken generiert werden. Jedoch entstehen dabei hauptsächlich Konfliktdreiecke, die wiederum zu vermeiden sind. Das bedeutet: Um möglichst
gute Elemente zu erzeugen, muß γ möglichst groß gewählt werden und um
möglichst wenige Konfliktdreiecke zu erhalten, muß γ möglichst klein gewählt
werden. Entstehen durch mögliche Konfliktdreiecke viele und/oder lange
Zerlegungspfade, sollte γ eher klein gewählt werden und damit die Konfliktdreiecke vermieden werden.
Im folgenden wird zur Abdeckung möglichst vieler Fälle von einem sehr
großen γ (nämlich γ = 120◦ ) ausgegangen. Für ein kleineres γ können die
Lösungen leicht übertragen werden.
Zacken, die eine gemeinsame Kante mit einer Ecke besitzen, dürfen dann
nicht wie eine Zacke vernetzt werden, wenn die Vernetzung einer Zacke und
einer Ecke unterschiedlich sind. Die Vernetzung der Ecke hat immer Vorrang,
da sie entscheidend für die Einhaltung von Forderung 5.1 Seite 89 und der
Vermeidung von Konfliktvierecken ist. Ggfs. muß die zweite Kante einer
5.3. VERNETZUNG VON ZACKEN
125
solchen Zacke dann durch Vierecke vernetzt werden.
5.3.1
Freiliegende Zacken
Bei freiliegenden Zacken (vergl. Tabelle 4.3 (i)+(ii) Seite 69) wird zwischen einzelnen Zacken und nebeneinanderliegenden Zacken unterschieden.
Da die einzelnen Zacken ein Spezialfall der nebeneinanderliegenden Zacken
sind, wird zunächst die Vernetzung der nebeneinanderliegenden Zacken vorgestellt und später kurz auf die einzelnen Zacken eingegangen.
Nebeneinanderliegende Zacken
Für die Vernetzung mehrerer nebeneinanderliegender Zacken werden die
darin enthaltenen Zacken bezüglich ihres Falls (t-Fall + t+x-Fall, vergl. Abschnitt 4.2.1) unterschieden. Die daraus resultierenden Kombinationen mehrerer nebeneinanderliegender Zacken sind geometrisch nicht alle möglich. Eine Aneinanderreihung mehrerer Zacken mit kleinen Winkeln, die ausschließlich einem Fall angehören, ist z.B. nicht möglich, da hierfür Überschneidungen
der Kanten existieren müßten (vergl. Abb. 5.39 a)).
Abbildung 5.39: (Nicht mögliche) Aneinanderreihung von Zacken
Da zu befürchten ist, daß die Anzahl der Kombinationen von Kategorien
und Fällen der benachbarten Zacken trotzdem exponentiell bleibt, wird die
Vernetzung nicht durch Template-Technik aller Kombinationen gelöst. Stattdessen wird ein Algorithmus vorgestellt, der die enthaltenen Zacken jeweils
in Abhängigkeit ihres Zusammenhangs untereinander vernetzt. Dabei erfolgt
die Vernetzung wiederum gemäß der Strategie, Konfliktdreiecke zu vermeiden und Zerlegungspfade möglichst entlang der Randelemente zu führen. In
diesem Sinne findet durch den Algorithmus eine optimale Vernetzung lokal
statt. Der Zeitaufwand für die Vernetzung von (nebeneinanderliegenden)
Zacken ist also bezüglich der Anzahl der Zacken linear.
Für den Algorithmus wird definiert:
Definition 65. Ein Dreieck, das mit genau einem Knoten auf der Kontur
liegt, heißt EinKnotenDreieck (vergl. Abb. 5.40 (x): D2 , D7 , D9 , D10 , D11 ).
Ein Dreieck, das mit genau einer Kante auf der Kontur liegt, heißt EinKantenDreieck (vergl. Abb. 5.40 (x): D1 , D6 , D8 , D12 ).
126
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Ein Dreieck, das mit genau zwei Kanten auf der Kontur liegt, heißt ZweiKantenDreieck (vergl. Abb. 5.40 (x): D3 , D4 ).
Folgende Probleme können bei der Vernetzung auftreten:
Da ZweiKantenDreiecke in der t+x-Region einen Tiefenwert von t besitzen,
sollen sie nach Möglichkeit dort nicht generiert werden. Stattdessen sollen entsprechende Stellen mit EinKantenDreiecken vernetzt werden. Wird
auf einer Seite einer Kante ein EinKantenDreieck erzeugt, muß die andere
Seite ebenfalls mit einem EinKantenDreieck vernetzt werden. Denn das EinKantenDreieck der einen Seite stellt einen Zerlegungsdreieckkandidaten dar:
Somit könnte ein Zerlegungspfad in die Region, die auf der anderen Seite
der Kante liegt, über diese Kante weitergeleitet werden; damit eine solche
Weiterleitung nicht unkontrolliert passiert, wird auf der anderen Seite ebenfalls ein EinKantenDreieck generiert. (Bem: Im Gegensatz zu Eckenkanten,
deren Knoten den gleichen Tiefenwert besitzen, läßt sich eine Weiterleitung
von Zerlegungspfaden über Zackenkanten mit gleichem Tiefenwert der Knoten nicht immer vermeiden (vergl. Forderung 5.1).)
In der t-Region ist die Generierung von ZweiKantenDreiecken möglich,
die dabei entstehenden Verbindungskanten sowie die zugehörigen Konturkanten müssen jedoch analog zur Vernetzung von ±20◦ -Ecken vom Typ 1/2
notwendig mit Vierecken vernetzt werden.
Diese Probleme müssen bei der Vernetzung der benachbarten Zacken beachtet werden. Wegen einzelner Abhängigkeiten der Zacken voneinander ist
die Reihenfolge der Vernetzung wichtig.
Bevor der Algorithmus vorgestellt wird, wird die Vernetzung an einem
Beispiel dargelegt (Abb. 5.40 (i)). Die Kanten k2 bis k8 stellen mehrere
nebeneinanderliegende Zacken dar. k1 und k9 sind die dazu benachbarten
Kanten.
Zunächst werden die Winkelhalbierenden zwischen je zwei benachbarten
Zackenkanten bestimmt (Abb. 5.40 (ii)). Aus der Lage des ggfs. auftretenden
Schnitts zweier benachbarter Winkelhalbierender wird die Notwendigkeit zur
Generierung von EinKantenDreiecken in der t+x-Region bestimmt: Im Beispiel (Abb. 5.40 (iii)) werden an den Kanten k2 und k8 EinKantenDreiecke
generiert, da die Schnittknoten der Winkelhalbierenden P2 und P8 in der t+xRegion relativ nah zur Kante liegen. Die Dreiecke werden durch die Kanten
und die Schnittpunkte bestimmt. An k6 wird dagegen kein EinKantenDreieck
generiert, da P6 in der t-Region liegt und an k6 deswegen auch ein ZweiKantenDreieck erlaubt ist. Die Generierung eines Vierecks an den Kanten k2 und
k8 in der t+x-Region würde zu kleinen, evtl. schlechten Elementen führen. In
5.3. VERNETZUNG VON ZACKEN
t
k1
k2
k3
t
k
7
t
k2
k5k4
k8
k9
t
127
k2
k8
k6
t+x
t+x
k8
t+x
t+x
(i)
(ii)
(iii)
(iv)
t
t
t
t
k3
k3
z1
z3 k k4
z2 5
k7 k6
t+x
z1
k
k5 4
z2
k7 k6
t+x
(v)
(vi)
t
t
t+x
(ix)
t+x
(vii)
t+x
(viii)
D1 V1 V
5
D2 D 8
V
6
V2 D3
D9
V3
V7
V
D DD 8
D7 6 5 4
D10
V V9
V4
10
V11 D
t+x
D12 11
(x)
Abbildung 5.40: Vernetzung nebeneinanderliegender Zacken
der t-Region müssen - wie im vorletzten Absatz erwähnt - an diesen Kanten
auch EinKantenDreiecke erzeugt werden (Abb. 5.40 (iv)). Diese werden als
gleichseitige oder gleichschenklige Dreiecke generiert (s. später). Anschließend werden in der t-Region alle ZweiKantenDreiecke generiert (Abb. 5.40
(v)). Dies geschieht zunächst an den Kanten k3 und k4 und an den Kanten k5 und k6 . Dadurch werden die Verbindungskanten z1 und z2 erzeugt,
an denen nach Möglichkeit ein Viereck generiert werden soll. Zwischen der
Zwischenkante z2 und der Konturkante k7 ist der Winkel jedoch relativ klein,
weswegen an z2 kein Viereck erzeugt werden soll. z2 wird deswegen wie
eine (neue) Konturkante behandelt: Es entsteht an z2 und k7 ein Zwei”
KantenDreieck“ (vergl. Abb. 5.40 (vi)) durch die Verbindungskante z3 . Die
Erzeugung von ZweiKantenDreiecken wird so lange durchgeführt, bis an allen
Verbindungskanten Vierecke generiert werden können. Im Beispiel werden
128
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
an z1 und z3 Vierecke generiert (Abb. 5.40 (vii)). Durch die ZweiKantenDreiecke müssen auch an den Konturkanten k3 bis k7 in der t+x-Region Vierecke
generiert werden (Abb. 5.40 (viii)). Da (k3 , k4 ), (k5 , k6 ) und (k6 , k7 ) Zacken
vom t-Fall sind, ist zumindest in der t+x-Region an deren Zackenknoten
genügend Platz zur Generierung von Vierecken. Die noch nicht vernetzten
Kanten werden anschließend mit Vierecken vernetzt (vergl. Abb. 5.40 (ix)).
Schließlich werden Lücken zwischen zwei Elementen je nach Platz aneinander
angepaßt (vergl. Abb. 5.40 (x): V3 und D6 ) oder mit EinKnotenDreiecken
gefüllt“ (Abb. 5.40 (x) Füllen“ mit Dreiecken durch D2 , D7 , D9 , D10 , D11 ).
”
”
Eine Anpassung geschieht dann, wenn zwischen zwei generierten Elementen
nicht notwendigerweise ein EinKnotenDreieck generiert werden muß. Eine
detaillierte Begründung erfolgt später.
Das Verfahren ist in Algorithmus 5.3 dargestellt.
Es folgt eine genauere Beschreibung der einzelnen Schritte für Algorithmus 5.3:
Zu Zeile 4 (vergl. Abb. 5.40 (ii) nach (iii)):
Aus dem folgenden Lemma 5.7 geht hervor, daß die Überprüfung der Bedingung in dem Fall, daß einer der beiden an der Kante anliegenden Winkel in
der t+x-Region größer/gleich 180◦ ist, ohne Berechnung des Schnittpunkts
der Winkelhalbierenden erfolgen kann.
Lemma 5.7. Gegeben sei eine Zackenkante mit den Knoten A und B und
den Winkeln α und β an diesen Knoten (vergl. Abb. 5.41). Falls œ α ≥ 180◦ ,
dann ist die Bedingung aus Zeile 4 genau dann erfüllt, wenn β ≤ (360◦ −α)/2
ist.
Beweis. Sei S der Schnittpunkt der beiden Winkelhalbierenden (vergl. Abb.
5.41(ii)). Das Dreieck ABS besitzt am Knoten A einen Winkel von α/2, am
Knoten B einen Winkel von β/2.
⇒“: Bei |SA|=|AB| liegt ein gleichschenkliges Dreieck vor. Für den Winkel
”
ASB=γ gilt: γ = β/2. Weiterhin gilt: α/2 + β = 180◦ ⇔ β = 180◦ − α/2 =
(360◦ − α)/2.
Für |SA| < |AB| gilt: γ > β/2 und damit α/2 + β < 180◦ ⇔ β < 180◦ −
α/2 = (360◦ − α)/2.
⇐“: Es gilt α/2 + β/2 + γ = 180◦ ⇔ γ = 180◦ − α/2 − β/2.
”
Aus β = (360◦ −α)/2 folgt: γ = 180◦ −α/2−(360◦ −α)/4 = 90◦ −1/4α = β/2.
In diesem Fall liegt ein gleichschenkliges Dreieck vor, es gilt |AS|=|AB|.
Aus β < (360◦ − α)/2 folgt: γ > 180◦ − α/2 − (360◦ − α)/4 = β/2. In diesem
Fall muß |AS| < |AB| gelten.
5.3. VERNETZUNG VON ZACKEN
Algorithmus 5.3 (BenachbarteZacken).
1. PROCEDURE
2. BEGIN
3.
erzeuge Winkelhalbierende zwischen allen
Zackenkanten;
4.
falls (Abstand Kante-Schnittpunkt der
zugehörigen Winkelhalbierenden in
t+x-Region < Kantenlänge der
aktuellen Kante)
5.
erzeuge EinKantenDreiecke in t+x-Region;
6.
passe benachbarte EinKantenDreiecke
der t+x-Region aneinander an;
7.
generiere gegenüberliegende (gleichseitige
oder gleichschenklige) EinKantenDreiecke
in t-Region;
8.
generiere ZweiKantenDreiecke in t-Region;
9.
generiere Vierecke an Verbindungskanten;
10.
generiere Vierecke an ZweiKantenDreiecke
in t+x-Region;
11.
generiere restliche Vierecke;
12.
Anpassung der Elemente und Generierung
aller restlichen EinKnotenDreiecke;
13. END
129
130
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
α
A
B
A
β
γ
B
α
β
S
(i)
(ii)
Abbildung 5.41: Skizze zum Beweis
Lemma 5.7 liefert für die entsprechenden Fälle eine einfache Überprüfung
der Bedingung aus Zeile 4.
Zu Zeile 5 (vergl. Abb. 5.40 (iii)):
Falls die Winkel an beiden Knoten der Kanten kleiner/gleich 180◦ sind, wird
für die Generierung des Dreiecks der Schnittpunkt S zwischen den beiden
Winkelhalbierenden gewählt (vergl. Abb. 5.42 (i)). Ist einer der beiden
größer als 180◦ (œ α) (vergl. Abb. 5.42 (ii)), so wird der Schnittpunkt S’
gewählt, der aus dem Schnitt der Winkelhalbierenden zu β mit der Senkrechten auf AB in dem Knoten A entsteht. Dadurch werden im Dreieck
Winkel, die größer als 90◦ sind, verhindert.
A
B
A
B
S
S’
S
(i)
(ii)
Abbildung 5.42: Ermittlung eines Knotens zur Erzeugung von EinKantenDreiecken
Zu Zeile 6 (im Beispiel von Abb. 5.40 nicht nötig):
5.3. VERNETZUNG VON ZACKEN
131
Definition 66. Eine Menge von EinKantenDreiecken (an nebeneinanderliegenden Zacken) heißt benachbart, wenn jedes EinKantenDreieck mit wenigstens einem weiteren EinKantenDreieck der gleichen Region einen gemeinsamen Knoten besitzt, an dem ein Winkel von ≤ 180◦ anliegt.
Eine Menge von benachbarten EinKantenDreiecken kann ein Problem
darstellen, da jeweils die in der Region liegenden Knoten zweier benachbarter Dreiecke nicht notwendigerweise identisch sind. Solche Knoten liegen
lediglich auf der gleichen Winkelhalbierenden (vergl. Beschreibung zu Zeile
5 und Abb. 5.43 (i)). Seien S1 ... Sn (n ∈ IN ) die Schnittknoten einer nicht
erweiterbaren Menge von n benachbarten EinKantenDreiecken. Die Anpassung der EinKantenDreiecke geschieht durch die Ersetzung von S1 ... Sn
durch deren Mittelwert. (vergl. Abb. 5.43).
s2
s3
s1
(i)
S
(ii)
Abbildung 5.43: Anpassung benachbarter EinKantenDreiecke
Zu Zeile 7 (vergl. Abb. 5.40 (iv)):
Hier muß unterschieden werden, ob eine Kante, an der ein EinKantenDreieck in der t-Region generiert werden soll, zu einer Zacke vom t-Fall gehört
oder nicht. Sie muß wenigstens zu einer Zacke vom t+x-Fall gehören, da
sonst in der t+x-Region an dieser Kante kein EinKantenDreieck generiert
worden wäre. Gehört die Kante nicht zu einer Zacke vom t-Fall, kann das
Dreieck als gleichseitiges Dreieck mit Kantenlänge der aktuellen Kante generiert werden (Abb. 5.44 (i), vergl. auch D1 und D6 in Abb. 5.40 (iv)). Sonst
soll ein gleichschenkliges Dreieck generiert werden, dessen erster Schenkel
die aktuelle Kante ist und dessen zweiter Schenkel auf der Winkelhalbierenden in der Zacke vom t-Fall liegt (Abb. 5.44 (ii)). Es soll erwähnt werden,
daß die notwendige Generierung eines EinKantenDreiecks in der t-Region die
Generierung eines ZweiKantenDreiecks, wie sie für Zacken vom t-Fall vorgeschlagen wird, verhindert.
132
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
(i)
(ii)
Abbildung 5.44: Generierung gegenüberliegender EinKantenDreiecke
Zu Zeile 8 (vergl. Abb. 5.40 (v),(vi)):
Die Generierung von ZweiKantenDreiecken in der t-Region erfolgt an allen
Zacken vom t-Fall, an denen noch kein Dreieck in der t-Region generiert wurde. Die Generierung geschieht durch die Verbindung der nicht miteinander
verbundenen Knoten der Zacke. Diese Verbindungskante wird anschließend
wie eine Polygonkante behandelt und es wird überprüft, ob eine dadurch neu
entstandene Zacke hieran vorliegt (vergl. Abb. 5.40 (v) z2 k7 ). Eine solche
wird wiederum durch ein ZweiKantenDreieck vernetzt. Das Verfahren setzt
sich fort, bis keine Zacken vom t-Fall mehr vorhanden sind und an allen nicht
vernetzten Verbindungskanten ein Viereck generiert werden kann.
Zu Zeile 9 (vergl. Abb. 5.40 (vii)):
Die Generierung der Vierecke an den Verbindungskanten geschieht - wie die
Generierung der Viereckreihen - mit Hilfe von Winkelhalbierenden (vergl.
Abb. 5.45).
A
B
Abbildung 5.45: Generierung eines Vierecks an einer Verbindungskante
Dazu werden die Winkel zwischen der Verbindungskante und der benachbarten Kontur- bzw. Verbindungskante gewählt. Ist ein Winkel größer als
270◦ , so wird statt der Winkelhalbierenden die Senkrechte auf die Verbindungskanten zum entsprechenden Knoten gewählt (vergl. Abb. 5.45 Knoten
B), damit keine Vierecke mit Winkeln größer 135◦ entstehen. Die auf der
5.3. VERNETZUNG VON ZACKEN
133
Winkelhalbierenden bzw. Senkrechten abgemessene Kante soll Durchschnittskantenlänge besitzen.
Zu Zeile 10 (vergl. Abb. 5.40 (viii)):
Diese Vierecke werden (mit Hilfe der Winkelhalbierenden zu den Winkeln
zwischen jeweils zwei Konturkanten) analog zu den Vierecken an den Verbindungskanten generiert (siehe Zeile 9).
Zu Zeile 11 (vergl. Abb. 5.40 (ix)):
Alle noch nicht vernetzten Kanten werden jetzt mit Vierecken vernetzt. Dies
geschieht wiederum analog zur Vernetzung der Verbindungskanten mit Vierecken (siehe Zeile 9).
Zu Zeile 12 (vergl. Abb. 5.40 (x)):
Ob zwei benachbarte Elemente, die keine gemeinsame Kante aber einen gemeinsamen Knoten K der Kontur besitzen, aneinander angepaßt werden oder
ob dazwischen EinKnotenDreiecke eingesetzt werden, entscheiden der Winkel am gemeinsamen Knoten K zwischen den beiden benachbarten Elementen
und die Winkel innerhalb der Elemente in der betrachteten Region an diesem
Knoten. In einem Dreieck soll nach Möglichkeit der Winkel nicht größer als
90◦ , in einem Viereck nicht größer als 135◦ werden.
Eine Anpassung wird durch die Berechnung eines Mittelwertes der Knoten,
die innerhalb der Region liegen und durch eine Kante mit dem aktuell betrachteten Knoten K verknüpft sind, (analog zu Schritt 6) vorgenommen
(vergl. Abb. 5.40 (x) z.B. V1 und D1 , V3 und D6 ). Sie soll dann geschen, wenn
dadurch die Winkel in den Elmenten an dem Knoten K ihren Maximalwert
nicht überschreiten. Die gesamte Anpassung geschieht sukzessiv entlang der
Kanten. Die Knoten, deren Mittelwerte berechnet werden, können bereits
durch vorherige Anpassung oder durch die Vernetzung zu mehreren Knoten
der Kontur verbunden sein. Die Anzahl der Verbindungen jedes Knoten zur
Kontur muß bei der Mittelwertberechnung berücksichtigt werden.
Ist eine Anpassung zwischen zwei Elementen nicht möglich, da z.B. zu große
Winkel entstehen, werden EinKnotenDreiecke in Abhängigkeit des Winkels
zwischen den benachbarten Elementen am Knoten K generiert: Ist dieser
größer als 90◦ und kleiner als 180◦ , so werden zwei Dreiecke, ist er kleiner als
90◦ wird ein Dreieck eingesetzt. Die Generierung eines Dreiecks erfolgt durch
Einsetzen einer Verbindungskante (vergl. Abb. 5.40 (x) z.B. D7 ). Zur Generierung zweier Dreiecke wird zuerst eine Zwischenkante auf der Winkelhalbierenden mit Durchschnittskantenlänge eingefügt; anschließend werden zwei
Verbindungskanten eingesetzt. Die Generierung von mehr als zwei EinKnotenDreiecke geschieht analog durch gleichmäßige Aufteilung des Winkels.
134
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Zusammenfassend werden mit einer weiteren Betrachtung der Schritte
u.a. die Fälle genannt, die zu einer schlechten Vernetzung führen oder eine
Vernetzung verhindern. Es stellt sich heraus, daß die Qualität der Elemente
teilweise mit den Winkeln der Zacken abnimmt aber die Vernetzung in nur
wenigen Fällen nicht möglich ist. Als positiv kann herausgestellt werden, daß
Dreiecke nur zur Vermeidung schlechter Vierecke oder zur Vermeidung der
Weiterleitung von Zerlegungspfaden durch Vierecke oder der Entstehung von
Konfliktvierecken generiert werden.
Die EinKantenDreiecke in der t+x-Region werden durch die Winkelhalbierenden bestimmt (Zeile 5, vergl. Abb. 5.40 (iii)) und stellen deswegen
für benachbarte Elemente keine Probleme dar. Kleine Winkel verschlechtern
zwar die Qualität der Elemente. Die Abweichung eines kleinen Winkels zum
Optimalwinkel eines Dreiecks ist jedoch immer noch geringer als zum Optimalwinkel eines Vierecks, weswegen die Vernetzung mit EinKantenDreiecken
hier sinnvoll ist. ZweiKantenDreiecke würden noch eine bessere Qualität besitzen, sind aber an diesen Stellen nicht erlaubt.
Bei der Anpassung der benachbarten EinKantenDreiecke (Zeile 6) durch Erzeugung des Mittelwerts bleibt die Winkelabweichung zu den ursprünglich
generierten Dreiecken möglichst gering.
Die Generierung von EinKantenDreiecken in der t-Region (Zeile 7, vergl.
Abb. 5.40 (iv)) ist auf die beschriebene Weise immer möglich. Nur einer der
beiden Winkel kann zu einer Zacke vom t-Fall gehören. Ist dies der Fall,
so kann am entsprechenden Knoten zwar ein kleiner Winkel auftreten, aber
das Dreieck kann ungehindert generiert werden, da an dem anderen Knoten
genügend Platz vorhanden ist. Durch die notwendige Generierung eines EinKantenDreiecks wird leider die Generierung eines ZweiKantenDreiecks, das
für kleine Winkel besser wäre, verhindert.
Auch die sukzessive Generierung von ZweiKantenDreiecken in der t-Region
(Zeile 8, vergl. Abb. 5.40 (v)+(vi)) kann ungehindert erfolgen. Benachbarte
Kanten können der Vernetzung nicht entgegenstehen. Durch das Einsetzen
von ggfs. mehreren Verbindungskanten (s. Kommentare zu Zeile 8) werden
enge Stellen jedoch schon durch Dreiecke vernetzt. Deswegen kann für die
Generierung eines Vierecks i.a. von genügend Platz ausgegangen werden. Jedoch ändert sich durch den sukzessiven Einsatz von Verbindungskanten der
Polygonabschnitt im Laufe der Vernetzung so, daß Voraussagen zur Qualität
der weiteren Vernetzung nicht auf Anhieb möglich sind.
Die Situation für die Generierung eines Vierecks an einer Verbindungskante (Zeile 9, vergl. Abb. 5.40 (vii)) erscheint zunächst ähnlich der Situation
der Generierung eines Vierecks an einer Verbindungskante bei ±20◦ -Ecken
5.3. VERNETZUNG VON ZACKEN
135
vom Typ1/2. Es muß hier eine entsprechende Bedingung für die jeweils zur
Verbindungskante benachbarten Kanten gelten. D.h. für die Generierung eines Vierecks muß insbesondere bezüglich der Nachbarkanten genügend Platz
vorhanden sein.
Ein Platzmangel bei der Generierung eines Vierecks an einer Polygonkante
(Zeile 10, vergl. Abb. 5.40 (viii)) kann nicht auftreten, da die Polygonkante
mit wenigstens einer benachbarten Kante eine Zacke vom t-Fall bildet. Mit
der anderen Kante kann sie jedoch eine Zacke vom t+x-Fall bilden, wodurch
ein solches Viereck an einer Seite einen kleinen Winkel erhalten würde! Solange solche Winkel akzeptiert werden, ist eine Vernetzung möglich.
Bei der Generierung der restlichen Vierecke (Zeile 11, vergl. Abb. 5.40 (ix))
treten i.a. keine Platzprobleme auf, da die Kanten, an denen die Vierecke
generiert werden, nicht zu Zacken gehören.
Für das Verfahren zur Anpassung der Elemente und Generierung restlicher
EinKnotenDreiecke (Zeile 12, vergl. Abb. 5.40 (x)) besteht kein Hindernis.
Durch die Wahl des Mittelpunktes werden die Winkel wiederum optimiert.
Der Einsatz von EinKnotenDreiecken erfolgt in Abhängigkeit des vorhandenen Winkels, weswegen ihre Qualität implizit berücksichtigt wird.
Es ist möglich, daß die Vernetzung bezüglich der Qualität der Elemente
noch weiter optimiert werden kann. Dies ist z.B. dann der Fall, wenn an
einem Knoten mit kleinem Winkel ein Dreieck und ein Viereck mit Hilfe einer Winkelhalbierenden generiert wurden. Eine Verschiebung eines Knotens
kann eine Verbesserung der Qualität der Elemente bewirken. Diese weitere
Optimierung wird beim Smoothing des gesamten Netzes berücksichtigt (Unterkapitel 5.6).
Wie bereits angekündigt, wird jetzt noch kurz auf die Vernetzung einzelner Zacken eingegangen.
Einzelne Zacken
Einzelne Zacken treten wesentlich häufiger auf als nebeneinanderliegende Zacken. Sie stellen einen Sonderfall der nebeneinanderliegenden Zacken
dar und können deswegen auch nach Algorithmus 5.3 vernetzt werden. Zur
schnelleren Vernetzung werden hier jedoch noch Templates vorgestellt. Dabei wird nach dem Winkel der Zacken unterschieden. Dies geschieht analog
zu Zeile 12 in Algorithmus 5.3, bei der in Abhängigkeit der Größe einer
Lücke über die Integration weiterer EinKnotenDreiecke entschieden wird. Es
werden dazu folgende Kategorien definiert:
136
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Tabelle 5.3.
Kategorie : ±α M inimum M aximum
±20
0
40
±60
40
80
±100
80
120
Es wird weiterhin von γ=120◦ ausgegangen. Für eine andere (kleinere)
Wahl von γ brauchen ggfs. die ±100◦ - und evtl. die ±60◦ -Kategorien nicht
beachtet zu werden.
Neben den Winkelkategorien muß wiederum der Fall der Zacke unterschieden werden. Bei der Vernetzung von Zacken vom t-Fall können in der
t-Region analog zu Algorithmus 5.3 Zeile 8 ZweiKantenDreiecke generiert
werden. In Algorithmus 5.3 werden solange ZweiKantenDreiecke generiert,
bis eine Verbindungskante mit einer (evtl. neuen) Konturkante keine Zacke
mehr bildet. Vor Anwendung der Template-Technik soll überprüft werden,
ob bei einer Zacke vom t-Fall eine Verbindungskante mit einer benachbarten
Konturkante eine Zacke bildet. Ist dies der Fall, so soll nach Algorithmus 5.3
vernetzt werden, weil eine Vorgabe von Templates für alle möglichen solcher
Fälle zu aufwendig ist. Deswegen kann für die Template-Vernetzung davon
ausgegangen werden, daß an solchen Verbindungskanten immer genügend
Platz zur Generierung eines Vierecks mittels Winkelhalbierender ist.
Die Begrenzung der Vernetzung zur Vernetzung weiterer Kanten bilden
jeweils die Winkelhalbierenden an den beiden äußeren Knoten der Zacke
(vergl. Abb. 5.46). Die Winkelhalbierenden können jeweils nur einen Wert
zwischen 60◦ und 120◦ annehmen, da zu den benachbarten Kanten keine
Zacken vorliegen können. Sie stellen jeweils die Grenze zu Viereckreihen
oder zu Nachbarelementen von Ecken dar.
Winkelhalbierende
Abbildung 5.46: Begrenzung für die Vernetzung von Kanten
Es werden hier nur solche Zacken betrachtet, deren beiden Kanten jeweils
nicht zu einer Ecke gehören. Die Vernetzung von Zackenkanten, von denen
eine zu einer Ecke gehört, geschieht bei der Vernetzung von Anschlußknoten
von Ecken.
5.3. VERNETZUNG VON ZACKEN
137
t+x
t
t
t
t
t
t
t
t+x
(i) t-Fall
t
(ii) t+x-Fall
Abbildung 5.47: Vernetzung von ±20◦ -Zacken
In Abb. 5.47 ist die Vernetzung für ±20◦ -Zacken dargestellt.
Die Vernetzung in der t-Region kann im t-Fall durch ein ZweiKantenDreieck erfolgen (vergl. Abb. 5.47(i)). Nach Voraussetzung existiert genügend
Platz, um an der Verbindungskante mit Hilfe der Winkelhalbierenden ein
Viereck zu generieren. Wie in Algorithmus 5.3 werden in der t+x-Region
an den beiden Kanten der Zacken mit Hilfe von Winkelhalbierenden Vierecke generiert (vergl. Abb. 5.47 (i)). Die beiden Dreiecke in der t+x-Region
stellen Konfliktdreiecke dar, deren Zerlegungspfade in die t+x-Region zeigen.
Damit ist die Zacke komplett vernetzt. Zu allen Richtungen ist die Begrenzung der Vernetzung durch Winkelhalbierende gegeben. Dies ist eine
gute Voraussetzung für die Vernetzung benachbarter Elemente. An diesem
Beispiel soll noch einmal kurz die Strategie der Vernetzung bezüglich der
Leitung von Zerlegungspfaden aufgezeigt werden: über das ZweiKantenDreieck darf kein Zerlegungspfad geführt werden, da dadurch Zerlegungspfade
auf die drei Vierecke treffen können. Auf diese Vierecke dürfen aber nur
Zerlegungspfade, die entlang der Kontur verlaufen, treffen, da sie sonst zu
Zerlegungsvierecken werden können, die zu vermeiden sind. Die beiden Dreiecke in der t+x-Region sind Konfliktdreiecke, die jeweils einen Zerlegungspfad
in die t+x-Region weiterleiten. Zerlegungspfade, die im Inneren der Region
(nicht auf Randelementen) verlaufen, dürfen nur auf Dreiecke als Randelemente treffen, da Randvierecke sonst zu Konfliktvierecken werden können.
Das ZweiKantenDreieck kann nicht zu einem Zerlegungsdreieck werden (also
keine Zerlegungspfade weiterleiten), weil die benachbarten Vierecke in die
Richtung des Dreiecks keinen Zerlegungpfad weiterleiten.
Im t+x-Fall müssen in der t+x-Region zwei EinKantenDreiecke generiert werden, damit die Elemente den gewünschten Tiefenwert t+x erhalten.
138
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
In der t-Region müssen an den Zackenkanten zur Vermeidung von Zerlegungsvierecken dann ebenfalls EinKantenDreiecke generiert werden, da über
die EinKantenDreiecke der t+x-Region Zerlegungspfade auf diese Elemente
treffen können. Solche Zerlegungspfade würden durch die Dreiecke in der
t-Region an die Randelemente weitergeleitet. Die beiden weiteren Dreiecke
stellen Zerlegungsdreieckkandidaten dar, die Zerlegungspfade in das Innere
der Region bzw. an die Randelemente weiterleiten würden.
In Abb. 5.48 ist die Vernetzung für ±60◦ -Zacken dargestellt.
t+x
t
t
t
t
t
t
t
t+x
(i) t-Fall
t
(ii) t+x-Fall
Abbildung 5.48: Vernetzung von ±60◦ -Zacken
Die Vernetzung erfolgt ähnlich zur Vernetzung von ±20◦ -Zacken. Im tFall genügt es, in der t+x-Region ein Konfliktdreieck weniger zu generieren.
Die Qualität der Elemente ist immer noch ausreichend gut. Im t+x-Fall, der
vollkommen gleich zu ±20◦ -Zacken vernetzt wird, hat sich die Qualität der
Elemente durchschnittlich verbessert.
Die Vernetzung von ±100◦ -Zacken ist in Abb. 5.49 dargestellt.
t
t
t
t+x
t
t
t
t
t+x
(i) t-Fall
t
(ii) t+x-Fall
Abbildung 5.49: Vernetzung von ±100◦ -Zacken
5.3. VERNETZUNG VON ZACKEN
139
In beiden Fällen verläuft die Vernetzung vollkommen analog zur Vernetzung von ±60◦ -Zacken. Leider kann im t+x-Fall bei gewünschter guter
Qualität der Elemente i.a. kein Zerlegungsdreieckkandidat eingespart werden,
da die beiden EinKantenDreiecke der t-Region durch die Winkelhalbierenden
bestimmt werden und dadurch relativ viel Platz zwischen diesen Elementen
entsteht.
Damit wird die Vernetzung von freiliegenden Zacken abgeschlossen. Schwieriger kann die Vernetzung von Zacken werden, die nahe bei Knoten des gleichen oder eines anderen Polygonabschnittes liegen.
5.3.2
Zacken nahe bei Knoten von Polygonabschnitten
In diesem Abschnitt werden die Fälle (iii) bis (vi) aus Tabelle 4.3 Seite 69
behandelt. Zunächst wird auf die Fälle (iii) und (iv) eingegangen.
Einzelne Zacken
Der Begriff nahe beieinander liegend“ zwischen einer Zacke und einem
”
nicht benachbarten Knoten wurde bereits in Def. 59 festgelegt.
Die Zacke und der Knoten dürfen zu gleichen oder zu unterschiedlichen
Polygonabschnitten gehören. Für einzelne Zacken werden nur die Fälle betrachtet, bei denen genau ein Knoten bei einer Zacke liegt. Denn wenn zwei
Knoten einer Kante nahe bei einer Zacke liegen, so liegt eine schmale Region
vor. Ein Knoten nahe einer Zacke kann Spitzenknoten einer (anderen) Zacke
sein.
Definition 67. Zwei Zacken heißen nahe beieinander liegend, wenn die
erste Zacke nahe bei einem Knoten der zweiten Zacke liegt.
Es wird davon ausgegangen, daß von zwei nahe beieinanderliegenden einzelnen Zacken die keinen Übergang zu einer schmalen Region bilden, wenigstens ein Spitzenknoten nahe bei der anderen Zacke liegt. D.h., es liegen
entweder ein Spitzenknoten SP1 und ein Seitenknoten SE (Fall A, vergl.
Abb.5.50 (i)) oder die beiden Spitzenknoten SP1 und SP2 nahe beieinander
(Fall B, vergl. Abb. 5.50 (ii)).
Für beide Fälle wird ein Verfahren zur Vernetzung vorgestellt. Die Verfahren können auf gleiche Weise angewendet werden, wenn der Knoten, der
nahe der Zacke liegt, selbst nicht zu einer Zacke gehört! Denn die Verfahren
berücksichtigen die an den Knoten anliegenden Winkel für alle möglichen
auftretenden Winkelmaße.
140
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
k3
P1
k
SE 1
k2
α
α2 1
SP2
β1 β2
SP1
(i) Fall A
SE1
SE3
SP1
α1
α2
β1
SP
β2 2
SE2
SE4
(ii) Fall B
Abbildung 5.50: Vernetzung nahe beieinander liegender Zacken
Zunächst wird die Vernetzung für Fall A diskutiert. Die Idee liegt darin, hintereinander eine an die Situation angepaßte Vernetzung der jeweiligen
einzelnen Zacken vorzunehmen. Dabei soll zuerst die Zacke, deren Spitzenknoten SP1 nahe bei der anderen Zacke liegt, vernetzt werden. Die Vernetzung soll den nahe gelegenen Seitenknoten SE der anderen Zacke integrieren
und die gewünschte Vernetzung dieser Zacke berücksichtigen. An die bereits
generierten Elemente angepaßt soll die Vernetzung der zweiten Zacke stattfinden.
Es werden zunächst zwei Beispiele betrachtet.
In Abb. 5.51 sind beide Zacken vom t-Fall. Deswegen sollen die Zacken
so vernetzt werden, daß an ihren Kanten in der t+x+y-Region und an den
zu generierenden Verbindungskanten in der t-Region bzw. in der t+x-Region
Vierecke anliegen. Der Knoten SE soll bei der Vernetzung von Zacke 1 integriert werden. Dies kann nur geschehen, wenn er direkt mit SP1 verbunden
wird (vergl. Abb. 5.51 (iii)). Wegen der Größe von β1 und β2 wird entschieden, daß an SP1 zu beiden Seiten der Kante SP1 SE am Knoten SP1 zu dem
jeweiligen an Zacke 1 zu generierenden Viereck jeweils noch ein Dreieck generiert wird. β1 und β2 werden deswegen im Verhältnis 90:60 aufgeteilt (s.
Abb. 5.51 (iv)). Wegen dieser Dreiecke und der notwenigen Vierecke an den
Kanten P1 SE und SESP2 werden die Winkel α1 und α2 am Knoten SE ebenfalls jeweils im Verhältnis 90:60 unterteilt (s. Abb. 5.51 (v)). Der Rest von
Zacke 1 kann gemäß der einzelnen Zacken vernetzt werden (vergl. Abb. 5.51
(vi)). Die an Zacke 1 entstandene Vernetzung entspricht zwar nicht genau
der an einer einzelnen Zacke vorgeschlagenen Vernetzung (s. Abschnitt 5.3.1
5.3. VERNETZUNG VON ZACKEN
t
t
Zacke 2
t
t
t-Fall
SP2
t
SE
P1
t+x+y
t+x
141
α2
SP1
t+x
t+x
α1
β1
β2
Zacke 1
t-Fall
t+x
(i)
(ii)
(iii)
(v)
(vi)
(vii)
(iv)
Abbildung 5.51: Vernetzung nahe beieinander liegender Zacken (Beispiel)
Abb. 5.48 (i)), ist aber durch die notwendige Kante SP1 SE hier sinnvoller.
Die Vernetzung von Zacke 2 kann jetzt gemäß der Vernetzung von einzelnen
Zacken in Abhängigkeit der Winkelkategorie (Abb. 5.47 - 5.49) erfolgen. Sie
muß lediglich am Knoten SE an die Vernetzung von Zacke 1 angepaßt werden (Abb. 5.51 (vii)). Die Vernetzung für Zacke 1 erfolgt unabhängig von
der Winkelkategorie, da bereits am Spitzenknoten Elemente generiert wurden. Ist Zacke 1 keine wirkliche Zacke (s. Diskussion oben), so erfolgt die
Vernetzung in der t+x-Region durch Viereckreihen. Es ist zu beachten, daß
an den erzeugten Verbindungskanten unbedingt Vierecke generiert werden
müssen.
Im nächsten Beispiel (Abb. 5.52) werden zwei Zacken vom t+x-Fall mit
gleicher Konstellation wie in Abb. 5.51 betrachtet.
Da beide Zacken vom t+x-Fall sind, sollen an allen Zackenkanten Dreiecke
generiert werden. In dem Fall, daß Zacke 1 keine wirkliche Zacke wäre (s.
Diskussion oben), würden die zu SP1 inzidenten Kanten sowohl in der tals auch in der t+x-Region mit Vierecken vernetzt. Die Vernetzung der
anderen Kanten verliefe dann unter Berücksichtigung der an diesen Kanten
zu generierenden Vierecke analog wie sie im folgenden beschrieben wird.
Da an SP2 SE ein Dreieck generiert werden muß und an SP1 SE ein Dreieck generiert werden darf, müssen nicht notwendigerweise wenigstens zwei
Elemente an α1 generiert werden. Aufgrund der Größe von α1 wird entschie-
142
t+x
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Zacke 2
t
SE
SP2
t
t
t+x-Fall
t
P1
SE
SP1
α2
t
t
t
β
1
t
α1
SP2
SP1
β2
Zacke 1
t+x-Fall
t+x+y
(i)
(ii)
(iii)
(iv)
γ
(v)
(vi)
(vii)
Abbildung 5.52: Vernetzung nahe beieinander liegender Zacken (Beispiel)
den, nur ein Dreieck dort zu generieren (Abb. 5.51 (iv)). An der Kante P1 SE
muß dagegen ein Viereck generiert werden, da sie nicht zur Zacke gehört. An
der Kante SP1 SE muß zu dieser Seite hin - aufgrund des Winkels α2 und
des möglich auftretenden Zerlegungspfades von der Kante SESP1 aus - ein
Dreieck generiert werden. Aufgrund der Größe von α2 werden deswegen an
SE ein Viereck und ein Dreieck generiert und α2 im Verhältnis 90:60 aufgeteilt (vergl. Abb. 5.51 (v)). Der Winkel β1 , an dem das Dreieck an Zacke
1 und das Dreieck an SESP1 generiert werden sollen, wird aufgrund seiner
Größe halbiert, so daß hieran insgesamt nur diese zwei Dreiecke generiert
werden. An β2 wurde bereits ein Dreieck generiert, so daß der restliche Winkel aufgrund seiner Größe ebenfalls halbiert wird und zwei weitere Dreiecke
daran generiert werden (vergl. Abb. 5.51 (vi)). (An der Zackenkante von
Zacke 1 muß ein Dreieck generiert werden. Das zweite Dreieck an SP1 ist ein
EinKnotenDreieck. Bei Generierung eines Vierecks wäre nicht gewährleistet,
daß die Überkreuzung von Zerlegungspfaden verhindert wird.) Anschließend
wird der an SP2 verbleibende Winkel γ (vergl. Abb. 5.51 (vi)) aufgrund seiner Größe in drei gleiche Winkel unterteilt und daran drei Dreiecke generiert.
Schließlich werden jeweils die beiden Dreiecke innerhalb der Zacken generiert
(vergl. Abb. 5.51 (vii)).
Anhand der Beispiele können folgende grundlegende Aussagen gemacht
werden:
Die an den Zackenkanten zu generierenden Elemente sind durch den Fall
5.3. VERNETZUNG VON ZACKEN
143
der Zacke festgelegt. Darf an einer Zackenkante ein Viereck generiert werden, so müssen alle weiteren Knoten des Vierecks innerhalb der Region liegen,
d.h. sie dürfen nicht auf einer weiteren Zackenkante liegen. Sonst ist nicht
gewährleistet, daß die Überkreuzung von Zerlegungspfaden in diesem Viereck
verhindert wird. Soll an einer Kante ein Dreieck generiert werden, so darf
dieses auch an einer weiteren Zackenkante anliegen. Dies erscheint jedoch nur
sinnvoll, wenn an dieser Zackenkante sowieso ein Dreieck generiert werden
muß, da sonst evtl. unnötigerweise ein Zerlegungspfad weitergeleitet wird.
Zwischen zwei an zwei benachbarten Kanten anliegenden Elementen dürfen
beliebig viele EinKnotenDreiecke generiert werden, wobei zu beachten ist,
daß diese Zerlegungsdreieckkandidaten darstellen. Die Verbindung zwischen
den beiden Zacken geschieht immer durch eine Kante zwischen den beiden
nahe beieinanderliegenden Knoten. Sind die beiden Knoten an dieser Kante
von gleichem Tiefenwert, dürfen auf beiden Seiten Vierecke generiert werden,
deren weitere Knoten nicht auf einem Konturknoten liegen. Die Generierung
eines Dreieckes auf einer Seite dieser Verbindung impliziert die Generierung
eines zweiten Dreiecks auf der anderen Seite. Bei unterschiedlichen Tiefenwerten müssen immer Dreiecke generiert werden.
Algorithmus 5.4 stellt ein allgemeines Verfahren zur Vernetzung von zwei
nahe beieinander liegenden Zacken vom Fall A vor, in dem die oben aufgelisteten Aussagen zu berücksichtigen sind.
Mit der Überprüfung eines Winkels (Zeilen 6,8,13,15,19, Algorithmus
5.4) ist die Berechnung der an ihm zu generierenden Elemente in Abhängigkeit der zugehörigen Zacke, der Größe des Winkels und der bereits an dem
entsprechenden Knoten generierten Elemente gemeint.
Die Aufteilung eines Winkels (Zeilen 7,9,14,16,20, Algorithmus 5.4) bedeutet in diesem Sinne, in den Winkel so Strahlen einzusetzen, daß die daran
zu generierenden Elemente bezüglich dieser Winkel optimiert werden, d.h.
der Winkel wird im entsprechenden Verhältnis der gewünschten Elemente
aufgeteilt.
Die Generierung der Elemente an dem großen Winkel einer Zacke oder an
einem Knoten (Zeile 17,18,21, Algorithmus 5.4) geschieht gemäß der Aufteilung der Winkel und ist durch die Strahlen festgelegt: Die dabei zu generierenden Knoten erhalten einen an die DKL und die Länge der Zackenkanten
angepaßten Abstand zum jeweiligen Konturknoten, falls sie nur mit einem
Konturknoten verbunden sind. Soll ein zu generierender Knoten Verbindungen zu mehreren Konturknoten besitzen, so wird der Schnittpunkt der
zugehörigen Strahlen bzw. der Durchschnitt dieser Schnittpunkte als Knoten
gewählt. Die Generierung aller weiteren Kanten für die Elemente ist durch
diese Knoten und für Vierecke durch entsprechend generierte Knoten von
144
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
benachbarten Winkeln impliziert. Die Generierung der Elemente an dem
kleinen Winkel einer Zacke (Zeile 17,21, Algorithmus 5.4) geschieht wie bei
einzelnen Zacken (vergl. oben).
Algorithmus 5.4 verwendet die Bezeichnungen aus Abb. 5.51 (iii).
Die Vernetzung von Fall B geschieht ähnlich wie die Vernetzung von Fall
A. Hier wird zunächst eine Kante zwischen den beiden Spitzenknoten generiert. Die Winkel werden dann hintereinander gemäß der Zuordnung der
Zacke vernetzt. (Die Wahl der zu generierenden Elemente erfolgt dabei
gemäß der u.a. am Beispiel dargestellten Strategie auf Seite 137.) Zunächst
werden wiederum zwei Beispiele vorgestellt.
Im ersten Beispiel (Abb. 5.53) werden zwei sich direkt gegenüberliegende
Zacken mit unterschiedlichen Fällen (t-Fall und t+x-Fall) vernetzt.
Zacke 1 ist vom t-Fall, Zacke 2 vom t+x-Fall. Das bedeutet, daß an
den Kanten von Zacke 1 Vierecke und an den Kanten von Zacke 2 Dreiecke
generiert werden sollen. Weil SP1 und SP2 unterschiedliche Tiefenwerte besitzen, soll von beiden Seiten an der Kante SP1 SP2 ein Dreieck generiert werden. Zuerst werden die beiden Spitzenknoten miteinander verbunden (vergl.
Abb. 5.53 (ii)). α1 und α2 werden dann jeweils im Verhältnis 90:60 aufgeteilt
(Abb. 5.53 (iii)), da an der Zackenkante jeweils ein Viereck und an der Kante
SP1 SP2 jeweils ein Dreieck generiert werden und aufgrund der Größe von α1
und α2 keine weiteren Elemente an diesen Winkeln generiert werden sollen.
β1 und β2 werden halbiert (vergl. Abb. 5.53 (iv)), da an den Zackenkanten
und an SP1 SP2 Dreiecke generiert werden sollen und aufgrund der Größe
von β1 und β2 jeweils nur diese zwei Dreiecke generiert werden sollen. Mit
Hilfe von Strahlen und gemäß der Vernetzung einzelner Zacken können jetzt
alle Elemente erzeugt werden (vergl. Abb. 5.53 (v)).
Im zweiten Beispiel (Abb. 5.54) liegen zwei Zacken vom t-Fall vor, wobei
die Winkelhalbierenden der Zacken fast senkrecht zueinander stehen. An alle
vier Zackenkanten sollen Vierecke generiert werden. An der Kante SP1 SP2
können sowohl von jeder Seite ein Dreieck als auch von jeder Seite ein Viereck
generiert werden, da T (SP1 ) = T (SP2 ) gilt. Aufgrund des kleinen Winkels
β1 wird entschieden, an der Kante SP1 SP2 zu jeder Seite hin ein Dreieck zu
generieren. Wiederum werden zuerst die beiden Spitzenknoten miteinander
verbunden. Anschließend findet eine entsprechende Aufteilung der Winkel
statt. α1 , α2 und β1 werden aufgrund ihrer Größe jeweils im Verhältnis 90:60
aufgeteilt (Abb. 5.54 (iii)). Da β2 wesentlich größer ist als β1 , findet hier
5.3. VERNETZUNG VON ZACKEN
Algorithmus 5.4 (NaheBeieinanderliegendeZackenA).
1. PROCEDURE
2. BEGIN
3.
ordne Zacken entsprechend ihrer
Tiefenwerte ein (t-Fall/t+x-Fall);
4.
erzeuge Verbindung SESP1 ;
5.
entscheide über Elemente an SESP1
aufgrund von Tiefenwerten und Winkeln;
6.
überprüfe α1 ;
7.
teile α1 auf;
8.
überprüfe α2 ;
9.
teile α2 auf;
10.
falls α1 nicht aufgeteilt werden mußte
11.
erzeuge Dreieck SE-SP2-SP1;
12.
β2 =β2 -Winkel SE-SP1-SP2;
13.
überprüfe β1 ;
14.
teile β1 auf;
15.
überprüfe β2 ;
16.
teile β2 auf;
17.
generiere alle Elemente an Zacke1;
18.
generiere alle Elemente an SE;
19.
überprüfe γ;
20.
teile γ auf;
21.
generiere restliche Elemente an Zacke2;
22. END
145
146
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Zacke 1
SE1
SE 3
t
t
t
t+x
t+x t+x+y
SP1 SP2
t+x
t+x
t
SE 2
Zacke 2
t-Fall
α1
t+x-Fall
β1
α 2 β2
SE 4
(i)
(ii)
(iv)
(v)
(iii)
Abbildung 5.53: Vernetzung nahe beieinander liegender Zacken (Beispiel)
eine Aufteilung im Verhältnis 90:60:60 statt (Abb. 5.54 (iv)). D.h. an diesem Winkel soll zu dem notwendigen Viereck und dem notwendigen Dreieck
ein zusätzliches Dreieck generiert werden. Mit Hilfe der erzeugten Strahlen
können wiederum alle Elemente generiert werden (Abb. 5.54 (v)). Abb. 5.54
(vi) zeigt die gesamte Vernetzung der Zacken. Durch die unterschiedlichen
Größen der Winkel insbesondere durch den kleinen Winkel β1 sind die Elemente unterschiedlich groß. Dies kann evtl. durch ein späteres Smoothing
des gesamten Netzes ausgeglichen werden.
Aus den beiden Beispielen läßt sich jetzt Algorithmus 5.5 für die Vernetzung von Zacken vom Typ B ableiten. Das überprüfen und Aufteilen von
Winkeln und die Generierung von Elementen geschieht dabei analog wie in
Algorithmus 5.4.
Damit sind Verfahren für die Fälle (iii) und (iv) aus Tabelle 4.3 gefunden. Es wird jetzt noch diskutiert, wie ein Bereich, in dem Knoten nahe bei
nebeneinanderliegenden Zacken liegen, vernetzt wird (vergl. Fälle (v) und
(vi) aus Tabelle 4.3).
Nebeneinanderliegende Zacken
Es braucht wiederum nicht zwischen gleichen und unterschiedlichen Polygonabschnitten unterschieden zu werden. Die Fälle, in denen mehrere be-
5.3. VERNETZUNG VON ZACKEN
Zacke 1
SE 1
t
Zacke 2
SE 3 t
t+x t
SE 4
t
t
t
t
SP1 SP2
t
t-Fall
147
t-Fall
α1 β
1
α2
β2
SE 2
(i)
(ii)
(iii)
(iv)
(v)
(vi)
Abbildung 5.54: Vernetzung nahe beieinander liegender Zacken (Beispiel)
nachbarte Knoten nahe bei nebeneinanderliegenden Zacken liegen, brauchen
in diesem Abschnitt nicht mehr untersucht zu werden, da sie zu den schmalen
Regionen gehören. Zunächst werden nur solche Fälle betrachtet, bei denen
genau ein Knoten SP nahe bei nebeneinanderliegenden Zacken liegt. Wie bei
der Vernetzung von einzelnen Zacken, die nahe einem Knoten liegen, kann
wieder Œ angenommen werden, daß der Knoten SP selber innerhalb einer
Zacke liegt und ein Spitzenknoten ist.
Außerdem wird davon ausgegangen, daß SP nur nahe zu einem Knoten
K der nebeneinanderliegenden Zacken liegt (vergl. Abb. 5.56). Ist dies nicht
der Fall, gehört der Bereich zu den schmalen Regionen oder die nebeneinanderliegenden Zacken müssen entweder neu geglättet werden oder der Bereich
wird als nicht vernetzbar“ deklariert. Von K kann deswegen angenommen
”
werden, daß er entweder Spitzenknoten ist, dessen kleiner Winkel nicht in
der Region zwischen K und SP liegt, oder daß er einen Abschluß zu den
nebeneinanderliegenden Zacken bildet. Denn sonst würde noch ein weiterer
(zu K benachbarter) Knoten B der nebeneinanderliegenden Zacken nahe bei
SP liegen (vergl. Abb. 5.55).
Für die Vernetzung ist eine Kombination der Verfahren für freiliegende
nebeneinanderliegende Zacken (vergl. Abschnitt 5.3.1) und Knoten, die bei
einzelnen Zacken liegen (Verfahren in diesem Abschnitt), sinnvoll. Zunächst
148
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Algorithmus 5.5 (NaheBeieinanderliegendeZackenB).
1. PROCEDURE
2. BEGIN
3.
ordne Zacken entsprechend ihrer
Tiefenwerte ein (t-Fall/t+x-Fall);
4.
erzeuge Verbindung SP1 SP2 ;
5.
entscheide über Elemente an SP1 SP2
aufgrund von Tiefenwerten und Winkeln;
6.
überprüfe α1 ;
7.
falls α1 nicht aufgeteilt werden muß
8.
erzeuge Dreieck SE1 -SP1 -SP2 ;
9.
sonst teile α1 auf;
10.
überprüfe α2 ;
11.
falls α2 nicht aufgeteilt werden kann
12.
13.
14.
15.
falls α1 nicht aufgeteilt werden kann
Fehlermeldung;
sonst
erzeuge Dreieck SP1 -SP2 -SE3 ;
16.
sonst teile α2 auf;
17.
überprüfe β1 ;
18.
falls β1 nicht aufgeteilt werden muß
19.
erzeuge Dreieck SE2 -SP1 -SP2 ;
20.
sonst teile β1 auf;
21.
überprüfe β2 ;
22.
falls β2 nicht aufgeteilt werden kann
23.
24.
25.
26.
falls β1 nicht aufgeteilt werden kann
Fehlermeldung;
sonst
erzeuge Dreieck SP1 -SP2 -SE4 ;
27.
sonst teile β2 auf;
28.
generiere alle Elemente an SP1-SP2;
29.
generiere alle Elemente an Zacke1;
30.
generiere alle Elemente an Zacke2;
31. END
5.3. VERNETZUNG VON ZACKEN
149
B
SP
K
Abbildung 5.55: Knoten nahe bei nebeneinanderliegenden Zacken
wird die Vernetzung am Beispiel vorgestellt. Anschließend wird ein Umriß
des Verfahrens dargestellt.
Das Beispiel in Abb. 5.56 zeigt eine Kombination der Beispiele aus Abb. 5.40
und Abb. 5.53.
Die Zacke SE1 SP SE2 ist vom t+x-Fall. Sie liegt nahe dem Knoten K4
(entspricht dem Knoten K der obigen Bezeichnung), der den Spitzenknoten
zur Zacke aus k3 und k4 bildet. Zunächst werden K4 und SP miteinander
verbunden (vergl. Abb. 5.56 (ii)). Da T (K4 ) 6= T (SP ) gilt, müssen (wie bei
der Vernetzung einzelner Zacken) an SP K4 zu beiden Seiten hin Dreiecke
generiert werden (vergl. Abb. 5.56 (iii)). Die Entscheidung für die Generierung von Elementen an dieser Kante entspricht der Anweisung aus Zeile
5 aus Algorithmus 5.5. Unter Berücksichtigung dieser Entscheidung erfolgt
die Vernetzung der einzelnen Zacke gemäß Algorithmus 5.5 (vergl. Abb. 5.56
(iv)).
Die Vernetzung der nebeneinanderliegenden Zacken muß leicht modifiziert werden. Die nebeneinanderliegenden Zacken werden am Knoten K4
aufgeteilt und auf die Kantenzüge k1 k2 k3 und k4 k5 k6 k7 k8 k9 wird jeweils Algorithmus 5.3 modifiziert angewendet: Statt der Winkelhalbierenden an K4
in der t+x-Region wird die jeweilige Kante des zu dieser Seite generierten
Dreiecks gewählt. D.h. für den Kantenzug k1 k2 k3 wird die Winkelhalbierende an K4 durch einen Strahl mit Beginn K4 und Verlauf durch die Kante
K4 P1 und für den Kantenzug k4 k5 k6 k7 k8 k9 wird die Winkelhalbierende an K4
durch einen Strahl mit Beginn K4 und Verlauf durch die Kante K4 P2 ersetzt
(vergl. 5.56 (v)). An K4 kann eine solche Ersetzung in der t-Region nicht
stattfinden. Die Zacke k3 k4 wird deswegen in der t-Region zuerst vernetzt
(vergl. Abb. 5.56 (vi)). Hier kann die Vernetzung gemäß Algorithmus 5.3
stattfinden, wobei jedoch die veränderten Platzverhältnisse beachtet werden
müssen: Da die Zacke vom t-Fall ist und in der t+x-Region an den Kanten k3
und k4 genug Platz für ein Viereck ist, kann zwischen K3 und K5 eine Verbin-
150
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
t+x+y
t
k1 K1
K2
K3 k2
k3 K
K5 k4 4
K8 k k5
K6
7
K9 k
k
8 K 6
7 t+x
k9
SE1
SP
SE2
t+x+y
t
t+x+y
t
Fall 2
t+x
t+x
K10
(i)
(ii)
(iii)
t+x+y
t+x+y
t
t
t+x
t+x
(iv)
(v)
t+x+y
t
t+x
(vii)
t+x+y
k1 K1
t
K2
K3 k
K2
k3
K5 k4 4
K8 k k5
K6
7
K9 k
k
8 K 6
7 t+x
K10 k9
SE1
SP
SE2
(vi)
t+x+y
k1 K1
t
K2
K3 k2
k3 K
K5 k4 4
K8 k k5
K6
7
K9 k
k
8 K 6
7 t+x
K10 k9
SE1
SP
SE2
(viii)
Abbildung 5.56: Vernetzung nebeneinanderliegender Zacken mit nahe liegendem Knoten (Beispiel)
dungskante generiert werden, an die von der anderen Seite auch ein Viereck
generiert werden muß. Wäre die Generierung eines Vierecks an k3 oder k4
aufgrund der veränderten Platzsituation nicht möglich, so müßte diese Zacke
wie eine Zacke vom t+x-Fall nach Algorithmus 5.3 vernetzt werden.
Jetzt kann die Vernetzung wie in Algorithmus 5.3 hintereinander auf die
Kantenzüge angewendet werden, wobei die Winkelhalbierende an K4 in der
t+x-Region durch die beiden Strahlen, wie oben beschrieben, ersetzt wird. In
Abb. 5.56 (vii) ist die Vernetzung für den Kantenzug k1 k2 k3 und in Abb. 5.56
(viii) ist die komplette Vernetzung dargestellt.
Liegen mehrere Knoten SPi nahe bei nebeneinanderliegenden Zacken
5.3. VERNETZUNG VON ZACKEN
151
(vergl. Abb. 5.57), werden analog zuerst die Bereiche um diese Knoten vernetzt und anschließend die verbleibenden Kantenzüge nach Algorithmus 5.3.
Aus diesen Überlegungen kann nun Algorithmus 5.6 formuliert werden.
Bezüglich der Bezeichnungen gilt (vergl. auch Abb. 5.57): Kl seien die Knoten, zu dem die einzelnen Knoten SPl nahe liegen und kl1 und kl2 die Kanten,
die zu Kl inzident sind . R2 sei die Region zwischen den einzelnen Knoten
und den nebeneinanderliegenden Zacken, R1 sei die auf der anderen Seite der
nebeneinanderliegenden Zacken liegende Region.
Algorithmus 5.6 (BenachbarteZackenNaheBeiZacke).
1. PROCEDURE
2. BEGIN
3.
für alle l
4.
erzeuge Verbindung Kl SPl ;
5.
bestimme Elemente an Kl SPl in Abhängigkeit
von T(Kl ) und T(SPl );
6.
vernetze Kanten an SPl nach Algorithmus 5.5
7.
8.
9.
10.
11.
für alle l
erzeuge Elemente an kl1 und kl2 in R1
in Abhängigkeit der veränderten
Platzsituation;
für alle l
vernetze noch nicht vernetzten Kantenzug
bis zum Knoten Kl nach Algorithmus 5.3;
vernetze noch nicht vernetzten Kantenzug
bis Ende nach Algorithmus 5.3;
12. END
Damit wird die Vernetzung von Zacken, die nicht innerhalb von schmalen
Regionen liegen, abgeschlossen.
152
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
R2
k11
R1
K1
k12
SP1
k22
K2
k21
SP2
Abbildung 5.57: Zwei Knoten nahe bei nebeneinanderliegenden Zacken
5.3.3
Beispiel Wurm
Für das Wurmbeispiel treten einige, einzelne freiliegende Zacken auf, deren
Vernetzung in Abb. 5.58 dargestellt ist.
Im unteren Teil liegen zwei Knoten nahe beieinander. Sie werden nach
dem Prinzip zweier nebeneinanderliegender Zacken vernetzt.
Eine Zacke im oberen Teil kann nicht wie eine solche vernetzt werden, da
sie eine gemeinsame Kante mit einer Ecke besitzt und an dieser Kante sonst
unterschiedliche Elemente generiert werden müßten.
Da insbesondere auch die Vernetzung der Zacken die Anzahl der Konfliktelemente und damit der Zerlegungspfade stark erhöht, kann auf Wunsch
eine variable Zuordnung der Zacken zu ihren Typen vorgenommen werden.
Das kann z.B. dazu führen, daß Zacken, in der Region, in der Konflikt- und
Zerlegungsdreiecke entstehen können, nicht als solche typisiert und vernetzt
werden. Für den Abschnitt der Wurm ist eine solche Vernetzung in Abb. 5.59
dargestellt.
Es ist allerdings bei dieser Vernetzung zu beachten, daß im weiteren
Verlauf dadurch schlechtere Elemente mit evtl. längeren Kanten entstehen
können.
Für die weitere Vernetzung der Randelemente durch Viereckreihen müssen
ggfs. noch Anpassungselemente (vergl. Seite 74) generiert werden, die zu diesen Viereckreihen hin das ±90◦ -Kriterium erfüllen.
5.4. ANPASSUNGSELEMENTE UND ANSCHLUSSKNOTEN
153
2
3
2
3
3
2
Abbildung 5.58: Vernetzung der Zacken für das Wurmbeispiel
5.4
Anpassungselemente und Anschlußknoten
Die Generierung von Anpassungselementen (Schema 4.31 (iii)) ist überall
dort nötig, wo bereits ein oder mehrere Randelemente generiert wurden,
die das ±90◦ -Kriterium zur noch nicht vernetzten Seite hin nicht erfüllen.
Neben den Anschlußknoten (Def. 22 und 58) an Zacken und Ecken sind
dabei z.B. auch Elemente an den Übergängen an schmalen Regionen (vergl.
Abb. 5.36), die das ±90◦ -Kriterium noch nicht erfüllen und an die Viereckreihen generiert werden sollen, zu berücksichtigen. Auch neben Dreiecken, die
zwangsweise neben einer schmalen Region generiert werden mußten (vergl.
Abb. 5.26 (viii)), müssen ggfs. Anpassungselemente generiert werden. Ein
Anschlußknoten bildet in diesen Fällen ein auf der Kontur liegender Knoten
des Elements, an das Anpassungselemente generiert werden sollen.
Ein zu vernetzender Anschlußknoten P2 (vergl. Abb. 5.60) ist zum Zeitpunkt seiner Vernetzung zu folgenden zwei Knoten benachbart: Zu einem
Knoten P3 , der innerhalb der Region liegt. Dieser Knoten hat den gleichen
Tiefenwert wie die Region. Und zu einem Knoten P1 , der auf der Kontur
liegt. Dieser Knoten hat den gleichen Tiefenwert wie der Anschlußknoten.
154
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
2
3
2
3
3
2
Abbildung 5.59: Korrigierte Vernetzung der Zacken für das Wurmbeispiel
Für die Tiefenwertsituation der drei Knoten gibt es demnach zwei Möglichkeiten: Alle Tiefenwerte sind gleich (vergl. Abb. 5.60 (i)) oder der Tiefenwert
der beiden Knoten auf der Kontur unterscheidet sich von dem der beiden
Knoten innerhalb der Region (vergl. Abb. 5.60 (ii)).
t P3
t
k2
P1
t
t
(i) Fall 1
P2 k1
t+x
P3
t+x
k2
P2 k1
P1
t
t
(ii) Fall 2
Abbildung 5.60: Fälle für zu vernetzende Anschlußknoten
Der zu vernetzende Winkel ist der Winkel am Anschlußknoten P2 . Hier
müssen wiederum alle Winkelmöglichkeiten diskutiert werden (±20◦ , ±90◦ ,
±180◦ , ±270◦ und ±340◦ -Winkel).
Winkel, die von ±90◦ -Winkeln abweichen, können z.B. auftreten, wenn
eine Zackenkante gleichzeitig Kante einer Ecke ist, also eine Zacke schon am
zur Ecke gehörenden Schnittknoten beginnt. In diesem Fall wird sie, wie
5.4. ANPASSUNGSELEMENTE UND ANSCHLUSSKNOTEN
155
bereits erwähnt, nicht wie eine Zacke vernetzt, sondern es wird zunächst die
Ecke und anschließend der Zackenknoten als Anschlußknoten vernetzt.
Bei ±90◦ -Winkeln ist die Wahrscheinlichkeit, daß das ±90◦ -Kriterium bereits erfüllt ist, recht hoch. In solchen Fällen braucht eine Anpassung nicht
stattzufinden, weil ein solcher Winkel immer akzeptiert werden kann.
Erstes Ziel ist es, bei genügend großem Platz zum nächsten Anschlußknoten (d.h. von P2 ist der nächste Anschlußknoten mindestens zwei Kanten
entfernt) für P1 das ±90◦ -Kriterium zu erfüllen (Schema 4.31 (iii) a)). Sind
zwei Anschlußknoten nur durch eine Kante verbunden (nebeneinanderliegende Anschlußknoten) oder ist ein Knoten zweifacher Anschlußknoten (er ist zu beiden Seiten hin Anschlußknoten (Das tritt z.B. auf, wenn
zwei Ecken einen gemeinsamen Knoten, nämlich den Anschlußknoten, besitzen.)) (Schema 4.31 (iii) b)), so wird eine spezielle Vernetzung durchgeführt,
die weiter unten beschrieben ist.
In Abb. 5.61 ist die Vernetzung bei genügend großem Platz dargestellt
(Schema 4.31 (iii) a)). Es werden dabei beide Tiefenwertfälle (vergl. Abb. 5.60)
und alle Winkelkategorien berücksichtigt, wobei hier vereinfachend (Skizze)
angenommen wird, daß das ±90◦ -Kriterium durch einen 90◦ -Winkel erfüllt
wird. Die Vernetzung muß im jeweiligen Fall entsprechend an das ±90◦ Kriterium angepaßt werden.
t/t+x
t/t+x
t/t+x t/t+x
t
t
(i)
t/t+x
t
(ii)
t
t/t+x
t
t
(iii)
Abbildung 5.61: Vernetzung an Anschlußknoten
Bei der Vernetzung des ±20◦ -Winkels (Abb. 5.61 (i)) kann bei großem
k2 gegenüber k1 der Winkel an P1 bereits größer werden als der dort ideale
Winkel zur Einhaltung des ±90◦ -Kriteriums. Da eine leichte Abweichung
zum ±90◦ -Kriterium erlaubt ist, ist ein dort generiertes Viereck immer noch
einem Dreieck vorzuziehen. Ggfs. kann k2 gekürzt werden. Dies ist erlaubt,
da sie nicht zur Kontur gehört.
156
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Wie oben bereits erwähnt, braucht beim ±90◦ -Winkel keine Anpassung
stattzufinden.
Beim ±180◦ -Winkel und ±270◦ -Winkel können Konfliktdreiecke (bzw.
Zerlegungsdreieckkandidaten) nicht ausgeschlossen werden (Abb. 5.61 (ii) +
(iii)). Die Dreiecke werden bei Fall 2 (vergl. Abb. 5.60) auf jeden Fall zu
Konfliktdreiecken. Bei Fall 1 werden sie zu Zerlegungsdreieckkandidaten, die
einen Zerlegungspfad ins Regioninnere weiter leiten, wenn von den Seiten ein
Zerlegungspfad auftrifft.
Ein ±340◦ -Winkel kann praktisch ausgeschlossen werden, da bereits eine
Kante nicht zur Kontur gehört. Treten trotzdem Fälle dieser Kategorie auf,
so werden sie wie ±270◦ -Winkel behandelt.
Es wird nun die Vernetzung von nebeneinanderliegenden Anschlußknoten, also von solchen, die nur durch eine Kante verbunden sind, diskutiert
(Schema 4.31 (iii) b)). Diese Vernetzung geschieht in Abhängigkeit der Abstandslänge l zwischen den beiden Knoten, die zu diesen Anschlußknoten innerhalb der Region generiert wurden und damit nicht auf der Kontur liegen
(vergl. Abb. 5.62). Da nach Möglichkeit in den zu vernetzenden Zwischenraum Elemente eingesetzt werden sollen, deren Kantenlängen der DKL (also
der gewünschten Durchschnittskantenlänge, s. Def. 3.4 Seite 27) oder einer
anderen in diesem Bereich gewünschten Kantenlänge entsprechen, werden
bl/DKLc Elemente eingesetzt (vergl. Abb. 5.62). Dazu wird die Verbindung
zwischen den beiden Knoten in bl/DKLc Teile unterteilt. Mit dem Teil,
der mit der Kante zwischen den beiden Anschlußknoten das beste Viereck
(bezüglich der Winkel) bildet, wird ein Viereck erzeugt. Aus den anderen
Teilen werden jeweils Dreiecke generiert, wozu der jeweils nächst gelegene
Anschlußknoten gewählt wird.
Beispiel: In Abb. 5.62 (ii) wird die Verbindung zwischen den beiden Knoten P1 und P2 , die im Inneren der Region liegen und durch eine Kante mit
den Anschlußknoten verbunden sind, in zwei Teile unterteilt. Da der linke
Teil mit der Kante zwischen den beiden Anschlußknoten das bessere Viereck
bildet, wird es generiert. Der rechte Teil liegt näher zum rechten Anschlußknoten, weswegen hiermit ein Dreieck generiert wird.
Die Elemente werden anschließend bezüglich der gewünschten Kantenlänge
korrigiert. Evtl. generierte Dreiecke stellen im Fall 2 (vergl. Abb. 5.60) Konfliktdreiecke und im Fall 1 Zerlegungsdreieckkandidaten dar. Zur Reduzierung solcher Dreiecke kann die Verbindung statt in bl/DKLc in bl/maxerlaubtc
Teile unterteilt werden, wobei maxerlaubt eine maximal erlaubte Länge der
Kanten angibt.
In Abb. 5.62 sind einige Beispielvernetzungen dargestellt.
5.4. ANPASSUNGSELEMENTE UND ANSCHLUSSKNOTEN
157
l
l
(i)
P1
P2
(ii)
l
(iii)
Abbildung 5.62: Vernetzung nebeneinanderliegender Anschlußknoten
Es wird zum Schluß noch die Vernetzung von zweifachen Anschlußknoten
diskutiert. Diese findet in Abhängigkeit der Größe des Winkels zwischen den
beiden bereits dort generierten Kanten und dem Abstand l ihrer Knoten,
die im Regioninneren liegen, statt. Bei kleinem Winkel (Abb. 5.63 (i)) oder
geringem Abstand (Abb. 5.63 (ii)) wird der Durchschnitt der beiden Knoten
gewählt und beide Kanten zu einer verschmolzen (Abb. 5.63 (i)+(ii)). Dies
geschieht auch bei Überschneidung der beiden Kanten, also bei negativen“
”
Winkeln. Entstehen dadurch entartete oder sehr schlechte Elemente, wird
der Bereich als nicht vernetzbar“ deklariert. Um die Nicht-Vernetzbarkeit“
”
”
aufzuheben, muß entweder eine schlechte Qualität der Elemente in Kauf genommen werden. Oder eine Vernetzung muß erneut stattfinden, wobei die
Freiheitsgrade bei der Anpassung der Polygone (vergl. Schema 3.20 II (ii),
Seite 36) erhöht werden, damit diese stärker geglättet sind. Dadurch resultieren z.B. weniger Zacken.
Bei einem größeren Winkel und einem längeren Abstand l werden auf
der Verbindung zwischen beiden Knoten analog zu nebeneinanderliegenden
Anschlußknoten bl/DKLc viele Kanten eingesetzt und dadurch Dreiecke gebildet (Abb. 5.63 (iii)), deren Kanten ggfs. anschließend an die gewünschte
Kantenlänge angepaßt werden.
(i)
(ii)
(iii)
Abbildung 5.63: Vernetzung zweifacher Anschlußknoten
Nach der Generierung der Anpassungselemente an den Anschlußknoten
158
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
erfolgt schließlich das Einsetzen von Viereckreihen (vergl. Abschnitt 4.2.3 S.
73 und Schema 4.31 (iv) a)). Damit ist die Vernetzung aller Randelemente
vollständig diskutiert (vergl. Schema 4.31 (i),(ii),(iii),(iv) a)).
Im Beispiel des Abschnitts der Wurm sind keine Anpassungselemente
zu generieren oder zweifache Anschlußknoten zu vernetzen. Zweifache Anschlußknoten wurden der Einfachheit halber bereits früher vernetzt. Es werden einige nebeneinanderliegende Anschlußknoten vernetzt und teilweise aneinander angepaßt.
Abb. 5.64 stellt die komplette Vernetzung der Randelemente dar.
Abbildung 5.64: Vernetzung mit Viereckreihen für das Wurmbeispiel
Polygonteile, mit gleichem Tiefenwert der Knoten wie der anliegenden zu
vernetzenden Region, auf denen garantiert kein Zerlegungspfad geführt wird,
brauchen nicht mit Viereckreihen vernetzt zu werden. An ihnen können keine
Konfliktelemente entstehen.
5.5
Zerlegungspfade innerhalb von Regionen
In den letzten Unterkapiteln wurde die Generierung aller Randelemente vorgestellt. Diese werden so generiert, daß Zerlegungspfade häufig entlang der
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
159
Randelemente verlaufen. Von Randelementen, die Konfliktdreiecke darstellen, können Zerlegungspfade ausgehen, die ins Innere einer Region zeigen.
Dreiecke, als Randelemente, die nicht Konfliktdreiecke darstellen, können
Zerlegungsdreieckkandidaten (s. Def. 4.1.6) sein. Diese können ebenfalls
Zerlegungspfade ins Innere einer Region weiterleiten. In diesem Unterkapitel
wird die Generierung solcher Zerlegungspfade, die von Konflikt- und Zerlegungsdreiecken ausgehen bzw. weitergeleitet werden und ins Innere einer
Region zeigen (vergl. Schema 4.31 (iv) b)), diskutiert.
5.5.1
Darstellung des Verfahrens
Bei der Vernetzung von Ecken, Zacken und schmalen Regionen werden teilweise Konflikt- und Zerlegungsdreiecke erzeugt, die die Generierung eines
Zerlegungspfades in die Region hinein notwendig machen (vergl. z.B. Abb. 5.17
S. 95 oder Abb. 5.51 S. 141). Dies gilt auch für Zerlegungsdreieckkandidaten,
da von diesen ebenfalls Zerlegungspfade ausgehen können.
Definition 68. Konflikt- und Zerlegungsdreiecke sowie Zerlegungsdreieckkandidaten, von denen ein Zerlegungspfad ausgehen kann, der ins Innere
einer Region führt, heißen I-Dreiecke (Ins-Innere-führende-Dreiecke).
In Abb. 5.65 (i) stellen die Dreiecke D1 ,..., D4 I-Dreiecke dar:
D4
(i)
D3
D1
D4
D2
D3
D1
D2
(ii)
Abbildung 5.65: I-Dreiecke innerhalb einer Region
Bemerkung 5.1. I-Dreiecke entsprechen bezüglich der Vernetzung von nebeneinanderliegenden Zacken den EinKnotenDreiecken (s. Def. 65, S. 125).
Damit die Zerlegungspfade, die von I-Dreiecken ausgehen, nicht unkontrolliert über die Kontur hinweglaufen, wurde ein Verfahren entwickelt, daß
I-Dreiecke innerhalb einer Region paarweise zuordnet und durch Zerlegungspfade miteinander verbindet.
160
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Die Zuordnung soll so stattfinden, daß sich die Zerlegungspfade nicht
überschneiden. Denn bei einer Überschneidung würden auf ein Viereck von
allen Seiten Zerlegungspfade treffen. Dies würde bei Zerlegungspfaden mit
gleichem Zerlegungslayer zur kompletten Zerlegung des zum Viereck zugehörigen Elementstapels führen (vergl. Forderung 4.1). Dadurch würden
viele zusätzliche Prismen und Tetraeder entstehen. Da zum Zeitpunkt der
Vernetzung der Zerlegungspfade nicht notwendigerweise vorausgesagt werden
kann, welche Zerlegungslayer ein Zerlegungspfad besitzt und Zerlegungspfade
oft mehrere Zerlegungslayer besitzen, ist die Überschneidung von Zerlegungspfaden grundsätzlich zu vermeiden. Aus dem gleichen Grund findet auch bei
der Zuordnung der I-Dreiecke keine Unterscheidung durch ihre Zerlegungslayer statt.
Im folgenden wird die Strategie der Zuordnung von Zerlegungspfaden
beschrieben.
Definition 69. Zwei I-Dreiecke heißen benachbart, wenn es zwischen
ihnen eine Verbindung aus Randelementen entlang der Kontur gibt, die kein
weiteres I-Dreieck enthält.
Ein I-Dreieckpaar (Di , Dj ) heißt benachbart, wenn Di und Dj benachbart
sind.
In Abb. 5.65 (i) sind die I-Dreieckpaare (D1 ,D2 ),(D2 ,D3 ),(D3 ,D4 ) und
(D4 ,D1 ) jeweils benachbart.
Im folgenden ist mit einem (Dreieck-)Paar immer ein benachbartes IDreieckpaar gemeint.
Die Vermeidung von Überschneidungen der Zerlegungspfade soll durch
eine sukzessive Zuordnung von jeweils benachbarten I-Dreiecken eingehalten
werden: Auf eine noch zu bestimmende Weise wird ein benachbartes Dreieckpaar ausgewählt und durch einen Zerlegungspfad verbunden (in Abb. 5.65
(ii) D1 und D4 ). Dadurch wird die Region in zwei disjunkte Bereiche unterteilt, wovon einer ggfs. noch I-Dreiecke enthält, und einer auf keinen Fall
I-Dreiecke enthalten kann.
Definition 70. Der aktuelle Bereich ist der Bereich, der alle noch zu
verbindenen I-Dreiecke enthält.
Die weitere Zuordnung und Vernetzung zwischen den I-Dreiecken findet
anschließend sukzessiv auf gleiche Weise innerhalb des aktuellen Bereiches
statt. Dies geschieht so lange bis der aktuelle Bereich keine I-Dreiecke mehr
enthält. Auf diese Weise werden Überschneidungen von Zerlegungspfaden
verhindert.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
161
Es soll jetzt ein erstes sinnvolles“ Dreieckpaar, dessen I-Dreiecke durch
”
einen Zerlegungspfad miteinander verbunden werden sollen, bestimmt werden. Eine Verbindung von benachbarten I-Dreiecken durch einen Zerlegungspfad ist jedoch nicht immer möglich. Wenn z.B. eine andere Region (störende Region) in die gerade betrachtete Region hineinreicht, können die Elemente eines möglichen Zerlegungspfades zwischen zwei Dreiecken beliebig
schlecht werden, so daß die Generierung eines Zerlegungspfades zwischen zwei
solchen Dreiecken (fast) unmöglich ist. (Ein solches Beispiel wird im folgenden noch diskutiert; vergl. Abb. 5.66.). Ein Dreieckpaar heißt dann nicht
verbindbar. Die Wahl der benachbarten I-Dreiecke, zwischen denen ein (erster) Zerlegungspfad generiert werden soll, hängt deswegen entscheidend von
der Qualität der Zerlegungspfade ab. Die Qualität eines Zerlegungspfades
wird bestimmt durch:
a) die Anzahl seiner Vierecke,
b) die Qualität seiner Vierecke,
c) seine Überschneidungen mit bereits generierten Bereichen.
Die Qualität eines Dreieckpaares sei gleich der Qualität eines Zerlegungspfades zwischen den beiden I-Dreiecken. Falls keine nicht-verbindbaren Dreieckpaare vorliegen, erscheint es sinnvoll, für den aktuellen Bereich jeweils
ein Dreieckpaar bester Qualität zu ermitteln. Da für die Ermittlung eines Dreieckpaares bester Qualität die Generierung eines Zerlegungspfades
zu aufwendig ist, wird zunächst eine Qualitätsabschätzung zur Bestimmung
eines solchen Paares vorgenommen. Eine solche Qualitätsabschätzung wird
im nächsten Abschnitt beschrieben. Die Qualität eines Dreieckpaares, zwischen dem evtl. ein Zerlegungspfad ZP generiert wird, entspricht also einer
Abschätzung der Qualität von ZP. Sind in Abhängigkeit der Qualität zwei
I-Dreiecke für die Zuordnung gewählt worden, wird zwischen diesen ein Zerlegungspfad generiert (Abb. 5.65 (ii)).
Damit ist die Zuordnung von Zerlegungspfaden innerhalb einer Region,
für den Fall, daß keine nicht verbindbaren Dreieckpaare auftreten, klar. Insbesondere wird durch das sukzessive Zuordnen benachbarter I-Dreiecke eine
Überschneidung von Zerlegungspfaden vermieden.
Es soll jetzt an einem Beispiel (Abb. 5.66) diskutiert werden, wie eine
Zuordnung stattfinden kann, wenn ein nicht-verbindbares Paar im aktuellen
Bereich liegt.
Der in Abb. 5.66 dargestellte Teil enthalte alle im aktuellen Bereich befindlichen I-Dreiecke. Die Qualität wird in diesem Beispiel anschaulich beurteilt.
Nach dem allgemeinen Verfahren würden zunächst zwei bezüglich der
Qualität beste benachbarte I-Dreiecke ausgewählt. Das Dreieckpaar (1,6)
162
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
5
6
4
3
2
1
Abbildung 5.66: Beispiel für die Zuordnung von Elementen zur Generierung
von Zerlegungspfaden
stellt jedoch ein Problem dar:
Eine direkte geradlinige Verbindung zwischen I-Dreieck 1 und 6 würde
über die in der Mitte liegende Region verlaufen. Ein Zerlegungspfad soll
aber nicht beliebig in eine andere Region führen. Insbesondere könnten dadurch sonst Überschneidungen zwischen Zerlegungspfaden auftreten, wenn
z.B. entlang der Randelemente, die an der Kontur der zu schneidenen Region
liegen, Zerlegungspfade geführt werden. Dies ist (, wie oben schon in einem anderen Kontext beschrieben wurde,) aber auf jeden Fall zu vermeiden.
Deswegen erweist sich folgendes Verbot als sinnvoll:
Zwei I-Dreiecke dürfen nicht durch einen Zerlegungspfad, der eine andere Region schneidet, verbunden werden (vergl. Abb. 5.67)!
Abbildung 5.67: Nicht verbindbare Elemente
Dadurch wird jedoch eine mögliche Verbindung durch einen Zerlegungspfad zwischen 1 und 6 so erschwert, daß das Paar als nicht verbindbar “
”
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
163
eingestuft wird. Wesentlich dafür ist der mangelnde Platz zur Generierung
eines Zerlegungspfades.
Alle anderen Zerlegungspfade in Abb. 5.66 zwischen zwei benachbarten
I-Dreiecken erscheinen bezüglich des Platzes bzw. möglicher Überschneidungen möglich. (Auf den Platzbedarf einer Verbindung wird bei der Qualitätsberechnung noch genauer eingegangen.) Trotzdem muß auch hier die Zuordnung vorsichtig geschehen: Eine Verbindung zwischen I-Dreieck 4 und
I-Dreieck 5 (kurz: Paar (4,5)) könnte z.B. zu einem Engpass führen, da IDreieck 6 dann nur noch mit I-Dreieck 3 und I-Dreieck 1 mit I-Dreieck 2 verbunden werden könnte. Dieses Problem resultiert ebenfalls aus der störenden
Region, die zwischen I-Dreieck 1 und I-Dreiecke 6 liegt. Ein solcher Engpaß
kann immer bei Platzmangel entstehen.
Wegen der Nicht-Verbindbarkeit des Paares (1,6) soll wenigstens eines
der I-Dreiecke 1 und 6 zuerst vernetzt werden. Dadurch wird auf jeden Fall
verhindert, daß die I-Dreiecke zu irgendeinem Zeiptpunkt miteinander verbunden werden müssen. Dies könnte nämlich nach der oben beschriebenen
Strategie, bei der nacheinander die Paare jeweils bester Qualität verbunden
werden, geschehen. Außerdem sollen dadurch Engpässe zu weiteren benachbarten I-Dreiecken, wie sie im letzten Absatz beschrieben wurden, vermieden
werden.
Für die Suche eines geeigneten Partners für 1 oder 6 wird deswegen ein
sogenannter Doppelpaarvergleich durchgeführt, indem einige Paarbildungen qualitativ abgeschätzt werden. Dabei wird wie folgt vorgegangen:
Es werden die Qualitäten vierer Doppelpaare verglichen. Die ersten Doppelpaare bilden jeweils die I-Dreiecke 1 bzw. 6 mit ihren gültigen Nachbarn
und die der beiden Nachbarn davon, also hier die Doppelpaare (1,2), (3,4) und
(5,6), (3,4). Die zweiten Doppelpaare sind das Doppelpaar (2,3) und (1,4)
unter der Voraussetzung, daß die Verbindung von (2,3) zuerst konstruiert
wird, und das Doppelpaar (4,5) und (3,6) unter der Voraussetzung, daß die
Verbindung zu (4,5) zuerst erzeugt wird, berechnet. (Für die Verbindung, die
zuerst erzeugt wird, wird bei der Qualitätsabschätzung ein Zerlegungspfad
approximiert. Dieser wird dann bei der Qualitätsabschätzung für das zweite
Paar bezüglich der Überschneidung berücksichtigt.) D.h. es wird jeweils ein
Paar aus den gültigen Nachbarn mit dessen Nachbarn und ein Paar aus dem
zu betrachtenden Element und seinem überübernächsten Nachbarn gebildet.
Für alle Doppelpaare wird die Qualität aus beiden Paaren berechnet. Aus
den vier berechneteten Qualitäten wird die beste gewählt. Ist die Qualität
von (1,2),(3,4) die beste, so wird eine Verbindung von 1 nach 2 konstruiert.
Bei (5,6), (3,4) wird eine Verbindung von 5 nach 6 generiert, bei (2,3), (1,4)
eine Verbindung von 2 nach 3 und bei (4,5), (3,6) eine Verbindung von 4
nach 5.
164
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Die Qualitätsüberprüfung in dieser Weise hat folgenden Hintergrund:
Wird eines der I-Dreiecke 1 und 6 mit seinem Nachbarn vernetzt ((1,2) oder
(5,6)), so kommt das direkt dem Ziel entgegen, diese I-Dreiecke möglichst
früh zu vernetzen. Zwei Nachbarn eines solchen I-Dreiecks ((2,3) oder (4,5))
werden nur dann vernetzt, wenn die Vernetzung des zugehörigen I-Dreiecks
(I-Dreieck 1 oder 6) mit dem neuen Nachbarn (I-Dreieck 4 oder 3) möglich ist
und sogar zu einer besseren Gesamtqualität führt. Durch eine weitere Qualitätsberechnung in dem neuen Bereich kann evtl. (hier nicht möglich) sogar
noch eine bessere Zuordnung gefunden werden. Also ist auch durch diese
Vernetzung die letztendliche Zielsetzung, die Erhöhung der Gesamtqualität
der Vernetzung, gewährleistet.
Existieren in dem neuen Bereich weitere nicht-verbindbare Paare (wurde
z.B. I-Dreieck 1 vernetzt, könnte I-Dreieck 6 mit einem im aktuellen Bereich
benachbarten I-Dreieck nicht verbindbar sein), wird das Verfahren erneut auf
gleiche Weise im dann aktuellen Bereich angewendet.
Falls in einem aktuellen Bereich mehrere nicht verbindbare benachbarte
Paare existieren, werden auf analoge Weise Doppelpaare gebildet und verglichen, falls dies möglich ist. Es wird dann zum entsprechenden Paar zum
Doppelpaar bester Qualität ein Zerlegungspfad generiert.
In der schematischen Darstellung in Abb. 5.68 (i) seien die Paare (1,10),
(4,5) und (9,16) benachbarte nicht verbindbare Paare. Zu den I-Dreiecken
1 und 4 können keine Doppelpaare konstruiert werden, da 1 und 4 ebenfalls
nicht verbindbar sind (dies muß aber für die Doppelpaare gelten.) Deswegen
werden für diese I-Dreiecke nur Paare zum Vergleich gebildet. Lägen zwischen 1 und 4 keine I-Dreiecke, so könnten diese Dreiecke für die Zuordnung
zunächst nicht berücksichtigt werden. Sie hätten jeweils zwei Nachbarn, mit
denen sie ein nicht verbindbares Paar bilden. Evtl. wäre eine Zuordnung zu
einem späteren Zeitpunkt möglich. Wenn nicht, gilt die Region als nicht
”
vernetzbar“.
Existieren in einem aktuellen Bereich ausschließlich I-Dreiecke, die mit
keinem ihrer Nachbarn verbunden werden können, so wird die Region als
nicht vernetzbar“ deklariert. In Abb. 5.68 (ii) ist ein solcher Fall schematisch
”
dargestellt. Die Nicht-Verbindbarkeit“ kann nicht aufgehoben werden, da
”
die Hinwegnahme einer störenden Region nicht möglich ist.
Es ist möglich, daß eine Region eine ungerade Anzahl I-Dreiecke besitzt.
In diesem Fall muß die Anzahl dieser Elemente wegen der paarweisen Zuordnung begradigt werden. Zur Begradigung wird entweder ein I-Dreieck
weggenommen oder eines hinzugefügt.
Durch die Wegnahme eines I-Dreiecks müssen die jeweils benachbarten
Elemente angepaßt werden. Sie verschlechtern sich i.a. bezüglich ihrer Win-
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
4
1
2 3
10
11
165
5
6 7 8 9
12 13 14 15 16
(i)
1
2
3
4
5
6
(ii)
Abbildung 5.68: Schematische Darstellung nicht verbindbarer Paare
kel. Für jedes I-Dreieck wird deswegen die Qualität der Elemente, die sich
durch die Wegnahme verändern, berechnet. Die jeweilige Summe aller Abweichungen von den optimalen Winkeln entscheidet darüber, welches I-Dreieck
entfernt wird.
Ist die Qualität der Elemente durch die Hinwegnahme eines I-Dreiecks für
jedes I-Dreieck zu schlecht, wird stattdessen ein I-Dreieck hinzugefügt. Zum
Einsetzen eines neuen I-Dreiecks wird ein Knoten auf der Kontur der Region
gewählt, an dem die in der Region anliegenden Elemente die größte positive
Gesamtabweichung von ihren optimalen Winkeln besitzen. Zwischen diesen
Elementen wird ein I-Dreieck eingesetzt.
Damit ist das prinzipielle Vorgehen für die Zuordnung von I-Dreiecken
klar. Es ist in Algorithmus 5.7 noch einmal skizziert. Nach jeder Zuordnung
zweier I-Dreiecke wird die entsprechende Verbindung generiert, damit evtl.
Überschneidungen für die nächste Verbindung einkalkuliert werden können.
In den folgenden Abschnitten wird die Berechnung der Qualitätsabschätzung eines Dreieckpaares diskutiert. Ebenfalls wird die Generierung der Zerlegungspfade beschrieben.
5.5.2
Qualitätsberechnung
Im letzten Abschnitt wurde diskutiert, wie die Zuordnung von I-Dreiecken in
Abhängigkeit einer Qualitätsabschätzung der dazwischen zu generierenden
Zerlegungspfade abläuft. In diesem Abschnitt wird eine sinnvolle Berechnung einer Qualitätsabschätzung für I-Dreieck-Paare vorgestellt.
166
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Algorithmus 5.7 (I-Dreieckpaare).
1. PROCEDURE
2. BEGIN
3.
aktueller Bereich:=Region;
4.
while (aktueller Bereich enthält I-Dreiecke)
5.
6.
7.
falls (aktueller Bereich enthält ungerade
Anzahl von I-Dreiecken)
begradige Anzahl;
falls (aktueller Bereich enthält
Dreieckpaare)
8.
ermittle Qualität aller Dreieckpaare;
9.
falls (existiert nicht verbindbares Paar)
10.
wähle ein I-Dreieck I aus einem
nicht-verbindbaren Paar mit
Doppelpaar bester Qualität;
11.
wähle daraus entstandenes Paar aus;
12.
sonst
13.
wähle Paar bester Qualität;
14.
falls (Qualität des ausgewählten
Paares < ∞)
15.
generiere Verbindung zwischen
gefundenem Paar;
16.
17.
18.
19. END
aktualisiere Bereich;
sonst
exit:
Region nicht vernetzbar;
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
167
Statt der Betrachtung der I-Dreiecke eines Dreieckpaares können ebenso
nur die Kanten dieser I-Dreiecke, von denen ein Zerlegungspfad ins Innere
der Region ausgehen soll, betrachtet werden:
Definition 71. k1 und k2 sind die zwei ins Innere einer Region zeigenden
Kanten eines I-Dreieck-Paares, die durch einen Zerlegungspfad verbunden
werden sollen.
Die Qualitätsabschätzung Q soll mittels einer Formel, in der die wesentlichen Merkmale widergegeben werden, vorgenommen werden. Die Formel
soll aus zwei Faktoren bestehen:
In einem ersten Faktor R der Formel sollen sich die gegenseitige Lage von k1
und k2 und der Platz, den eine Verbindung dazwischen benötigt, widerspiegeln. Eine Nicht-Verbindbarkeit von Paaren sowie die Berücksichtigung von
möglichen Überschneidungen mit bereits generierten Teilen soll sich in einem
zweiten Faktor S der Formel widerspiegeln. Für die Qualitätsabschätzung Q
ergibt sich somit
Q = R ∗ S;
(5.1)
Die beiden Faktoren werden nacheinander ermittelt. Wie noch ersichtlich
wird, gliedert sich der Faktor R in mehrere Unterfaktoren.
Ermittlung von R
Zur Ermittlung von R wird definiert:
Definition 72. DKL(k1 , k2 ) ist die Durchschnittskantenlänge von k1 und
k2 .
Ein Senkrechtvektor auf k1 oder k2 ist der Vektor mit Länge DKL(k1 , k2 ),
der im Mittelpunkt von k1 bzw. k2 beginnt und in die Region zeigt (vergl.
Abb. 5.69).
Es wird zunächst ein Beispiel betrachtet: In Abb. 5.70 sind einige Kantenpaare mit ihren Senkrechtvektoren dargestellt.
Eine anschauliche Bewertung von Abb. 5.70 würde die Reihenfolge (i),
..., (x) bezüglich der Qualität ergeben: Zeigen die Senkrechtvektoren zueinander (Abb. 5.70 (i)+(ii)), so ist die Lage besonders gut. Je geringer der
Abstand zwischen den Kanten dann ist, desto weniger Elemente müssen generiert werden, desto besser ist die Qualität. Zerlegungspfade können durch
direkte Verbindungen der Kanten generiert werden. Bei Abweichungen von
dieser Lage wird die Qualität schlechter. Ein Zerlegungspfad kann nicht
168
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
k2
k1
Abbildung 5.69: Senkrechtvektoren
mehr durch direkte Verbindung, sondern muß in einem Bogen generiert werden, wodurch mehr Platz gebraucht wird und längere Zerlegungspfade entstehen. Zeigen die Senkrechtvektoren auseinander (Abb. 5.70 (vii)) oder liegen
sie z.B. untereinander (Abb. 5.70 (viii)), so braucht ein Zerlegungspfad noch
mehr Platz, weil er in einem großen oder in mehreren Bögen generiert werden
muß. Eine Lage wie in (Abb. 5.70 (x)) ist besonders schlecht, da ein Zerlegungspfad in einem riesigen Bogen generiert werden muß und deswegen viele
Elemente enthält.
Diese Eigenschaften und damit auch eine Reihenfolge können bereits
durch die Lage der Kanten und der Senkrechtvektoren sowie durch die Winkel
zwischen ihnen abgeschätzt werden.
Zur Ermittlung von R ist es sinnvoll, im Wesentlichen die folgenden drei
Kriterien der Kantenpaare, die später noch deutlicher werden, zu berücksichtigen:
1. Die Richtung der Senkrechtvektoren zueinander in Abhängigkeit ihres
Abstands voneinander
2. Eine starke Abweichung eines Senkrechtvektors von einer Ideallage
3. Die Lage der Senkrechtvektoren zueinander
Der Faktor R soll sich aus drei Faktoren R1 , R2 , und R3 zusammensetzen,
wobei R1 hauptsächlich das erste Kriterium, R2 das zweite und R3 das dritte
Kriterium widerspiegelt. Es gilt also
R = R1 ∗ R2 ∗ R3 .
(5.2)
Im folgenden wird die Ermittlung dieser Faktoren erklärt, wobei die Faktoren so gewählt werden, daß sie bei idealer Lage der Kanten gleich 1 sind
und sich mit zunehmender Qualitätsverschlechterung des Paares erhöhen.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
(i)
169
(ii)
(iii)
(vi)
(iv)
(v)
(vii)
(viii)
(ix)
(x)
Abbildung 5.70: Verschiedene Kantenpaare zur Bestimmung der Qualität
ihrer Lage zueinander
170
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Durch die Faktoren kann nur eine ungefähre Qualitätsbewertung vorgenommen werden. Entscheidend ist schließlich die Reihenfolge für verschiedene Kantenpaare, die daraus resultiert.
Ermittlung von R1
Zeigen die Senkrechtvektoren von k1 und k2 direkt aufeinander (Abb. 5.71),
so liegen die beiden Kanten k1 und k2 bezüglich ihrer Richtung ideal zueinander. Ein Zerlegungspfad, der beide verbindet, muß nicht gekrümmt werden.
Es muß ein Maß gefunden werden, daß eine dazu abweichende Lage sinnvoll
bewertet.
Abbildung 5.71: Ideallage zweier Kanten zueinander
Mit Hilfe der Senkrechtvektoren wird eine erste Bewertung bezüglich der
Abweichung zur Ideallage ermittelt. V1 sei die Verbindung zwischen den
beiden Ursprüngen der Senkrechtvektoren und V2 die Verbindung zwischen
den beiden Zielen der Senkrechtvektoren (vergl. Abb. 5.72). Dann sagt
D = |V1 | − |V2 |;
(5.3)
als Differenz der beiden Längen etwas über die Abweichung zur Ideallage
aus:
D liegt zwischen 2∗DKL(k1 ,k2 ) und -2∗DKL(k1 ,k2 ). Ist D=2∗DKL(k1 ,k2 ),
so zeigen beide Vektoren direkt aufeinander (Abb. 5.71), ist D=-2∗DKL(k1 ,k2 ),
so zeigen sie direkt voneinander weg (Abb. 5.72 (ii)). Für D=0 können die
Vektoren z.B. parallel zueinander liegen (Abb. 5.72 (iii)+(iv)). Tendenziell
bedeutet somit ein größeres D eine bessere Lage der Kanten zueinander. Ein
erstes Maß ist mit D gefunden.
In die Bewertung soll zusätzlich noch die Entfernung der Kanten voneinander einfließen. Je größer die Entfernung ist, desto mehr Zerlegungsvierecke
müssen generiert werden. Damit hat sie direkte Auswirkung auf die Kosten
eines Zerlegungspfades. Die Optimalität des Abstandes ist abhängig von der
Richtung der Kanten zueinander und damit von D. Bei kleinem D ist ein
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
171
V2
V1
V2
V1
(ii)
(i)
V2
V2
V1
V1
(iii)
(iv)
Abbildung 5.72: Veranschaulichung von D für verschiedene Kantenlagen
Mindestabstand zum Einfügen von Elementen zu bevorzugen, da die Richtungen der Senkrechtvektoren auseinander zeigen. Als optimal wurde dabei
ein Abstand von 5∗DKL(k1 ,k2 ) gewählt. Bei einem großem D kann bei entsprechend naher Lage mit einem einzigen Element die Verbindung geschaffen
werden, die beiden Senkrechtvektoren zeigen aufeinander zu. Das generierte
Element ist dann immer noch relativ gut. Deswegen wird hier der Abstand
von 1∗DKL(k1 ,k2 ) als optimal angesehen.
Aus diesem Grund erfolgt die Integration von D in die Qualitätsberechnung im Zusammenhang mit dem Abstand der beiden Kanten voneinander.
Die Qualitätsberechnung ist so zu wählen, daß ein großes D selbst dann zu bevorzugen ist, wenn der Abstand wesentlich größer ist als bei einem kleinen D.
Erst wenn bei einem großen D der Abstand ein Vielfaches von dem Abstand
bei einem kleinen D beträgt, soll das Kantenpaar mit dem kleinen D bevorzugt werden. Dies entspricht der Bevorzugung von gut zueinanderliegenden
Kanten mit größerem Abstand gegenüber schlecht zueinanderliegenden Kanten mit geringem Abstand.
Der Abstand zwischen zwei Kanten wird vereinfachend durch |V1 | abgeschätzt. R1 ist der Faktor für die Qualitätsberechnung, in dem der Abstand
|V1 | und die Differenz D in Abhängigkeit voneinander integriert sind.
R1 =
||V1 | + D − 3| + 5 √
∗ 3 − D;
D+3
(5.4)
Der erste Faktor von R1 minimiert sich bei optimalem Abstand für ein festes D. Z.B. wird für D=2 ein Minimum für |V1 |=1 (R1 =1, optimal!)) √
und für
D=-2 ein Minimum für |V1 |=5 (R1 =5) erzielt. Der zweite Faktor 3 − D
172
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
verstärkt, daß ein großes D unabhängig vom Abstand der beiden Kanten
stärker bevorzugt wird. Das Minimum, das für D=-2 bei |V1 |=5 mit R1 =5
angenommen wird, ist in Bezug auf die beiden weiteren Faktoren R2 und R3 ,
wie später noch deutlich wird, sehr groß. Da bei D=-2 die Senkrechtvektoren
jedoch entgegengesetzt und damit sehr schlecht zueinander liegen, ist diese
Bewertung sinnvoll.
Ermittlung von R2 :
Für die Ermittlung des Faktors R2 sollen noch einmal die Fälle Abb. 5.72
(iii)+(iv) betrachtet werden. Hier wird deutlich, daß R1 nicht für die Aussagekaft der Kantenlage genügt. Obwohl D und |V1 | und damit auch R1 in
beiden Fällen gleich sind, ist die Lage der Kanten in Abb. 5.72 (iv) schlechter als die der Kanten in Abb. 5.72 (iii). Denn eine Verbindung zwischen
den Kanten in Abb. 5.72 (iv) ist aufwendiger als zwischen den Kanten in
Abb. 5.72 (iii).
Abhilfe kann durch die Integration einer Bewertung der beiden Winkel α
und β, die jeweils die kleinsten Winkel zwischen einem Senkrechtvektor und
der Verbindung V1 darstellen, erreicht werden (vergl. Abb. 5.73).
α
β
V1
Abbildung 5.73: Abweichende Winkel α und β
Für α = β = 0◦ entsteht eine optimale Lage wie in den Abb. 5.71 und
5.70 (i) +(ii).
Abb. 5.72 (iii) und (iv) legen nahe, daß der größere Winkel die Qualität
stärker verschlechtert, als dies durch den kleineren Winkel aufgehoben werden kann. Deswegen wird zunächst ein Faktor W berechnet, der sich mit
zunehmenden größerem Winkel erhöht.
W =
α + β + c ∗ max(α, β)
c ∈ Q;
c+2
(5.5)
Der Wert c gibt dabei an, um wieviel der größere Winkel stärker bewertet
wird. Für c=1 ergibt sich die doppelte Bewertung, die vernünftig erscheint
und im folgenden gewählt wird.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
173
In Abb. 5.72 (iii) (Ann.: α=β=90◦ ) + (iv) (Ann.: α=45◦ , β=135◦ ) beträgt der Durchschnitt von α und β jeweils 90◦ . Für Abb. 5.72 (iii) ist
W=1∗90◦ , für Abb. 5.72 (iv) gilt W=7/6∗90◦ .
Um einen sinnvollen Bewertungsfaktor für die Qualitätsberechnung zu
erhalten, wird W durch den Durchschnitt dividiert. Es ergibt sich der Bewertungsfaktor R2 mit
R2 =
W
α+β
2
falls α, β > 0◦ ;
(5.6)
◦
R2 = 1 falls α, β = 0 ;
R2 liegt (für c=1) zwischen 1 und 4/3: Bei R2 =1 sind die Winkel gleich
groß und damit die Lage der Kanten besser (z.B. in Abb. 5.74 (i)). Für
R2 =4/3 liegt der andere Extremfall vor: Ein Winkel ist möglichst klein und
der andere möglichst groß. D.h. ein Winkel ist 0◦ , der andere 180◦ (vergl.
Abb. 5.74 (ii)) und damit R2 =4/3. Die Lage der Kanten ist schlechter.
α
β
(i)
α
(ii)
Abbildung 5.74: Unterschiedliche Kantenlagen bei gleichem durchschnittlichen Abweichungswinkel
Der Faktor R2 berücksichtigt nicht, ob die Senkrechtvektoren auseinander zeigen oder nicht. In Abb. 5.75 sind α und β und damit auch R2 gleich
groß wie in Abb. 5.74 (i), obwohl die Lage der Kanten zueinander schlechter
ist. Da D jedoch in Abb. 5.75 relativ klein ist, überwiegt bei der Bewertung
dadurch der schlechte Faktor R1 und spiegelt die Qualität ausreichend wider.
Ermittlung von R3 :
Sind V1 und V2 gleich groß (D=0) und die Winkel α und β jeweils gleich
groß, so muß eine Lage, bei der die Senkrechtvektoren voneinander weg zeigen
(vergl. Abb. 5.76 (i)) durch einen weiteren Faktor anders bewertet werden,
als eine Lage, bei der sie in die gleiche Richtung (vergl. Abb. 5.76 (ii)) oder
aufeinander zu zeigen. Dies wurde bisher weder bei R1 noch bei R2 berücksichtigt und soll im Faktor R3 widergespiegelt werden.
174
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
k1
α
β
k2
Abbildung 5.75: Unterschiedliche Kantenlage bei gleichen Abweichungswinkeln zu Abb.5.74 (i)
V2
k2
γ
V2
k1
(i)
V1
V1
k1
k2
(ii)
Abbildung 5.76: Unterschiedliche Kantenlagen bei gleich großem V1 und V2
Bei gleichem Abstand |V1 | der Kanten zueinander besäßen beide Kantenpaare sowohl für R1 als auch für R2 gleich große Werte, obwohl das Paar mit
den entgegengesetzten Senkrechtvektoren schlechter zu bewerten ist.
Ein Merkmal für voneinander wegzeigende Senkrechtvektoren bei D=0 ist
ein größerer Winkel γ als kleinster Winkel zwischen den Geraden, auf denen
V1 und V2 liegen, und ein Schnitt von V1 und V2 (vergl. Abb. 5.76).
Für die Berechnung von R3 wird vorausgesetzt, daß |V1 | genügend groß
ist, da sonst das Ergebnis verfälscht wird: Ist |V1 | <MinAbstand (z.B. MinAbstand=1/2*DKL), so wird vereinfachend für R3 der Wert 1 angenommen,
da dann die Generierung eines Zerlegungspfades durch Einsetzen eines einzigen Vierecks möglich sein kann.
Liegt D nahe bei 2, so ist γ klein, da die Vektoren aufeinander zu zeigen
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
175
γ
V2
V1
Abbildung 5.77: γ als kleinster Winkel zwischen den Geraden, auf denen V1
und V2 liegen
(vergl. Abb. 5.70 (i)+(ii)). Liegt D nahe bei -2, so ist γ ebenfalls klein, da die
Vektoren voneinander wegzeigen (vergl. Abb. 5.70 (x)). Die jeweils gleiche
Größe von γ steht im Konflikt dazu, daß die Lage der Kanten im ersten
Fall besonders gut und im zweiten Fall besonders schlecht ist. Eine solche
schlechte Lage wie im zweiten Fall wird aber bereits durch R1 widergespiegelt,
weswegen dieser Faktor entsprechend mehr ins Gewicht fallen soll als ein
weiterer Faktor R3 , der γ integriert.
Der Faktor
½
γ
1 + 100
γ > MinAbstand
R3 =
(5.7)
1
γ ≤ MinAbstand
liegt zwischen 1 und 1.9. Denn γ kann maximal 90◦ groß werden. Da für
große D γ automatisch relativ klein ist und für kleine D R1 groß genug ist,
genügt R3 den Anforderungen.
Mit den Faktoren R1 , R2 und R3 erscheinen die wichtigsten Qualitätsmerkmale erfaßt. Zur Berechnung der Gesamtqualität ohne Berücksichtigung
des Platzverbrauchs werden sie multipliziert.
R = R1 ∗ R2 ∗ R3 =
√
2 ∗ (|V1 + D − 3| + 5) ∗ 3 − D ∗ (α + β + c ∗ max(α, β))
γ
∗ (1 +
);
(D + 3) ∗ (α + β) ∗ (c + 2)
100
(5.8)
Zur Verifikation von R wird im folgenden die Reihenfolge der Kantenpaare aus Abb. 5.70 mit Hilfe von R bestimmt. Der einfachheithalber sei
DKL(k1 ,k2 )=1. Alle anderen notwendigen Werte wurden in Bezug dazu abgeschätzt. In der folgenden Tabelle sind alle relevanten Größen und Faktoren
zur Berechnung von R aufgelistet.
176
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Tabelle 5.4.
Abb. 5.70
(i)
(ii)
(iii)
(iv)
(v)
(vi)
(vii)
(viii)
(ix)
(x)
α(◦ )
0
0
60
90
73
70
72
180
107
180
β(◦ ) γ(◦ ) V1 V2 D
R1
0
0
3
1
2
1.4
0
0
5
3
2
1.8
60
10
3
2
1 2.121
45
20 1.5 0.5 1 1.945
45
15
4
3
1 2.475
110
0
3
3
0 2.887
72
18
3
3
0 2.887
0
0
3
3
0 2.887
134
6
3
4 −1
6
180
0 1.5 3.5 −2 19.007
R2
R3
R
1
1
1.4
1
1
1.8
1
1.1 2.227
1.111 1.2 2.593
1.079 1.15 3.072
1.074 1
3.101
1
1.18 3.407
1.333 1
3.849
1.037 1.06 6.597
1
1 19.007
Das Ergebnis stimmt mit der anfangs bestimmten anschaulichen Bewertung der Kantenpaare überein.
Ermittlung von S
Zur Berechnung von Q (vergl. Gleichung 5.1) fehlt noch die Ermittlung des Faktors S, der eine Bewertung des Schnitts des zu generierenden
Zerlegungspfades mit bereits vernetzten Teilen widerspiegeln soll. Für die
Generierung einer Verbindung mittels Zerlegungspfad ist es entscheidend, ob
hierfür genügend Platz vorliegt oder ob Überschneidungen mit bereits generierten Teilen entstehen. Kleinere Überschneidungen können ggfs. zunächst
akzeptiert werden, da sie in einem späteren Schritt - analog zum Nähen beim
Paving - behoben werden können (und müssen). Größere Überschneidungen
sollen durch eine entsprechende Gewichtung des Faktors S möglichst vermieden werden. Eine Berechnung von Überschneidungen muß für alle Paare, für
die eine Qualitätsabschätzung ermittelt wird, durchgeführt werden.
Für eine Abschätzung der Überschneidung, die ein zu generierender Zerlegungspfad mit bereits vernetzten Bereichen besitzen würde, ist die Generierung eines Zerlegungspfades zu aufwendig, weswegen eine Abschätzung des
Verlaufs des Zerlegungspfades bevorzugt wird. Die direkte Verbindung der
jeweiligen Knoten der Kanten miteinander ist jedoch i.a. zu schlecht für eine
Abschätzung. (In Abb. 5.79 ergibt z.B. die direkte Verbindung der jeweiligen
Kantenknoten (K1a mit Kza und K1i mit Kzi ) eine vollkommen unrealistische
Abschätzung für den Verlauf eines möglichen Zerlegungspfades.) Deswegen
werden Zwischenkanten erzeugt (vergl. Abb. 5.79), über die eine Verbindung
verlaufen könnte. Eine Approximation findet dann durch direkte Verbindung
der Zwischenkanten statt.
Die Notwendigkeit einer Zwischenkante soll durch R und die Winkel α1 ,
β1 , α2 und β2 zwischen den Senkrechtvektoren auf den Kanten und der Ver-
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
177
bindung der entsprechenden Knoten der Kanten (vergl. Abb. 5.78) entschieden werden. Je kleiner α1 , β1 , α2 und β2 sind, desto besser ist die Lage der
beiden Kanten zueinander.
α2
α1
k1
β1
β2
k2
Abbildung 5.78: α1 , β1 , α2 und β2
übersteigt der Wert R eines Kantenpaares einen vorgegebenen Wert (bei
Betrachtung der Beispiele aus Abb. 5.70 erscheint R=2 ein sinnvolles Maß
zu sein) oder ist einer der Winkel α1 , β1 , α2 und β2 >50◦ , sollen eine oder
mehrere Zwischenkanten generiert werden. Diese können ggfs. später für die
Vernetzung benutzt werden.
Durch den Einsatz einer Zwischenkante kz zwischen zwei Kanten k1 und
k2 werden aus dem Paar (k1 ,k2 ) zwei Paare, zwischen denen ein Zerlegungspfad zu generieren ist, nämlich (k1 ,kz ) und (kz ,k2 ). Die Plazierung der Zwischenkante soll möglichst optimal sein. Deswegen werden an sie folgende
Forderungen gestellt:
Die Plazierung von kz soll so erfolgen, daß zwischen je zwei Senkrechtvektoren
der dadurch enstandenen beiden neuen Kantenpaare jeweils gleiche Winkel
entstehen. Außerdem soll der Mittelpunkt der Zwischenkante in möglichst
gleichem Abstand zu den jeweiligen Mittelpunkten der beiden anderen Kanten liegen. Die Qualität (bezüglich R) der Zwischenkante zu den beiden anderen Kanten soll stark gegenüber der Qualität der beiden anderen Kanten
zueinander verbessert sein.
Zur Ermittlung einer solchen möglichst optimalen Zwischenkante kz (vergl.
Abb. 5.79) mit Länge DKL(k1 ,k2 ) wird vom Mittelpunkt M der Strecke V1
ein Vektor durch Addition der beiden Senkrechtvektoren der Kanten erzeugt.
Auf diesen Vektor wird eine Gerade g gelegt. Ist der Vektor ein Nullvektor,
so wird die Gerade senkrecht zu V1 erzeugt. kz soll auf der Geraden g liegen,
da alle Kanten auf dieser Gerade zwei der oben gewünschten Bedingungen
erfüllen: Es entstehen zwischen den jeweiligen Senkrechtvektoren der beiden
Kantenpaare (k1 ,kz ) und (kz ,k2 ) jeweils gleiche Winkel und der Mittelpunkt
von kz hat jeweils gleichen Abstand zu den Mittelpunkten der beiden Kanten
178
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Kza
kz
Kzi
K2i
k1
K1a
K1i
M
k2
K2a
Abbildung 5.79: Erzeugung einer Zwischenkante kz zwischen den Kanten k1
und k2
k1 und k2 . Sei R1 der nach Gleichung 5.8 berechnete Qualitätsfaktor für das
Kantenpaar k1 und kz und R2 der nach Gleichung 5.8 berechnete Qualitätsfaktor für das Kantenpaar kz und k2 (vergl. Abb. 5.79). R1 und R2 sind
jeweils abhängig von den Koordinaten, von kz , die bis jetzt noch unbekannt
sind. Zur optimalen Plazierung von kz auf g und damit zur Optimierung der
Qualität der beiden Kantenpaare (dritte Bedingung) genügt es, das Minimum der Funktion R1 ∗ R2 zu ermitteln. Da durch die Lage auf der Geraden
der y-Wert vom x-Wert abhängig ist und die gewünschte Länge der Kanten
feststeht, also die Senkrechtvektoren in Abhängigkeit vom x-Wert formuliert
werden können, ist R1 ∗ R2 eine einstellige Funktion, deren Minimum bestimmt werden kann. Mit dem Minimum ist eine optimale Zwischenkante
gefunden.
Sind für die gefundene Zwischenkante einer oder beide der Qualitätsfaktoren R1 und R2 zu groß oder ist einer der Winkel α1 , β1 , α2 und β2 an den
Verbindungen der Kanten größer als 50◦ , so wird zwischen den entsprechenden Kanten rekursiv eine neue Zwischenkante eingesetzt. Dies geschieht so
lange, bis die Qualitätsfaktoren zwischen allen Kanten ausreichend gut sind
und alle Winkel α1 , β1 , α2 und β2 kleiner als 50◦ sind.
Durch die direkten Verbindungen zu und zwischen den Zwischenkanten
entsteht dann ein approximierter Zerlegungspfad (vergl. Abb. 5.80).
Dieser wird für die Abschätzung des Platzbedarfs bzw. der Überschneidung
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
179
mit dem bereits vernetzten Gebiet benutzt.
Abbildung 5.80: Verbindungen zu und zwischen den (Zwischen-)Kanten
Definition 73. Die approximierte Überschneidung U(k1 ,k2 ) (kurz U) zu
einem approximierten Zerlegungspfad, der von k1 zu k2 verläuft, ist die Größe
der Schnittfläche des Schnitts zwischen dem bereits vernetzten Gebiet und
dem approximierten Zerlegungspfad.
Die approximierte Überschneidung U eines approximierten Zerlegungspfades ZP kann mit Hilfe des Gitterverfahrens (s. Seite 68) ermittelt werden.
U nimmt großen Anteil an der Qualität des Kantenpaares, da eine Überschneidung nicht erlaubt ist und eine Verhinderung der Überschneidung starke Qualitätseinbußen erfordert. Die approximierte Überschneidung U wird
in den Faktor S integriert, mit dem R multipliziert wird.
Für die Berechnung von S sind folgende Kriterien zu berücksichtigen: Neben dem absoluten Wert U ist die Überschneidungsfläche relativ zum Platzverbrauch des gesamten approximierten Pfades zu integrieren. Liegt keine
Überschneidung vor, so soll S=1 gelten. Wird mit dem approximierten Pfad
eine fremde Region vollkommen durchquert, soll S=∞ gelten, da das zugehörige Kantenpaar nicht verbindbar ist.
Es sei G die Gesamtfläche eines approximierten Zerlegungspfades. Dann
realisiert folgende Berechnung von S die oben erwähnten Forderungen:
½
S=
1 + U/G + U falls keine andere Region durchquert wird
∞
sonst
(5.9)
wobei U in DKL*DKL berechnet wird. Wird also z.B. eine Fläche von
1 DKL*DKL überschnitten und G ist 10 DKL*DKL, so gilt S=2.1. Dies
entspricht einer gewünschten starken Integration der Überschneidungen.
Die Gesamtqualität Q eines Kantenpaares unter Berücksichtigung von
Überschneidungen ergibt sich aus den Gleichungen 5.8 und 5.9 wie folgt.
180
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG




Q=R∗S =



√
2∗(|V1 +D−3|+5)∗ 3−D∗(α+β+c∗max(α,β))
∗
(D+3)∗(α+β)∗(c+2)
γ
U
(1 + 100 ) ∗ (1 + G + U )
∞
falls keine andere
Region durchquert wird
sonst
(5.10)
Q wird zur Bestimmung des aktuell zu wählenden Kantenpaares benutzt
(s. Algorithmus 5.7).
5.5.3
Generierung eines Zerlegungspfades
Ist die Bestimmung des zu verbindenden Kantenpaares mittels Q abgeschlossen, kann die Generierung des Zerlegungspfades zwischen den beiden Kanten
stattfinden.
Ausgehend von den für die Approximation berechneten Zwischenkanten
und den daraus entstandenen Kantenpaaren soll zwischen den Kanten eines
Kantenpaares jeweils ein Teil des Zerlegungspfades ermittelt werden. Zusammengesetzt ergeben diese Teile den gesamten Zerlegungspfad.
Für die Ermittlung eines Teils des Zerlegungspfades zwischen den Kanten eines Kantenpaares gibt es mehrere Möglichkeiten. Eine besteht darin,
den Teil des Zerlegungspfades durch eine direkte Verbindung zwischen zwei
solcher Kanten zu generieren (vergl. Abb. 5.80) und dazwischen Kanten einzusetzen. Diese Lösung ist jedoch i.a. zu schlecht. Es gibt mehrere Möglichkeiten hier Abhilfe zu schaffen. Eine Möglichkeit besteht darin, solange nach
dem oben beschriebenen Verfahren weitere Zwischenkanten einzusetzen, bis
die direkten Verbindungen jeweils akzeptabel sind. Diese Lösung ist schnell
und sorgt i.a. für akzeptable Zerlegungspfade.
Es soll aber ein komplizierteres Verfahren vorgestellt werden, weil die Optimierung der Kantenlängen durch das sukzessive Einsetzen von Zwischenkanten leider vernachlässigt wird. Zur Vermeidung stark abweichender Kantenlängen der Elemente eines Zerlegungspfades wurde im Rahmen der Arbeit ein Verfahren entwickelt, das die Teile eines Zerlegungspfades zwischen
den Kanten der Kantenpaare mittels Kreisbögen generiert (vergl. Abb. 5.81).
Der Zerlegungspfad wird dann mittels Einsetzen von Knoten in äquidistanten
Abständen auf den Kreisbögen entlang dieser Kreisbögen geführt. Dadurch
werden sowohl die Winkel der Zerlegungsvierecke als auch ihre Kantenlängen
optimiert.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
181
Die Erzeugung von Kreisbögen ist nur notwendig, wenn die Senkrechtvektoren zweier Kanten ks und kt , zwischen denen ein Teil eines Zerlegungspfades
generiert werden soll, nicht (fast) direkt aufeinanderzeigen. Zeigen die Senkrechtvektoren von ks und kt (fast) direkt aufeinander, wird der Zerlegungspfad mittels der direkten Verbindungen der jeweiligen Knoten generiert, da
diese dann ausreichend gut sind! Für die Entscheidung kann z.B. der Wert D
(vergl. Gleichg. 5.3) benutzt werden. Ist der Abstand zwischen den beiden
Kanten ks und kt relativ klein, so ist die Generierung eines Zerlegungpfades
mittels Kreisbögen zu aufwendig. Falls |V1 | < 2 ∗ max(|ks |, |kt |), soll der Zerlegungspfad ebenfalls durch direkte Verbindung ermittelt werden. In allen
anderen Fällen findet eine Ermittlung durch Kreisbögen statt.
Es wird zunächst die Ermittlung der Kreisbögen beschrieben. Anschließend wird auf die Generierung eines Zerlegungspfades mittels Kreisbögen
eingegangen.
Aufgaben zur Ermittlung der Kreisbögen
Es seien ks (=Ksa Ksi ) und kt (=Kta Kti ) die Kanten eines Kantenpaares,
zwischen denen Kreisbögen ermittelt werden sollen (vergl. Abb. 5.81). Da
sich die Kreisbögen nicht schneiden dürfen, sind die jeweiligen Endknoten
der Kanten, die zum jeweils gleichen Kreisbogen gehören, eindeutig festgelegt. Aufgrund der Lage der Kanten bzw. der dazugehörenden Knoten
wird ein Kreisbogen ba (a=außen) zwischen den voneinander weiterentfernten Knoten Ksa und Kta und ein Kreisbogen bi (i=innen) zwischen den näher
beieinanderliegenden Knoten Ksi und Kti erzeugt. Der Kreis Ki , der durch
den Kreisbogen bi bestimmt ist, liegt aufgrund der Lage der Kanten ks und kt
und der noch zu diskutierenden Anforderungen an bi und ba mit hoher Wahrscheinlichkeit innerhalb des Kreises Ka , der durch ba bestimmt ist (vergl.
Abb. 5.82). Ka bildet in diesem Fall einen Außenkreis zu Ki .
Der Vollständigkeit halber werden aber alle Möglichkeiten der Lage der
beiden Kreise Ka und Ki , auf denen ba und bi liegen, aufgeführt. Diese beiden
Kreise besitzen entweder einen Berührungspunkt (wobei Ki in Ka liegt) oder
zwei Schnittpunkte oder sie liegen - wie bereits erwähnt - ineinander. Eine
andere Lage kann aufgrund der im folgenden beschriebenen Anforderungen
ausgeschlossen werden. Für den Fall, daß der kleinste Abstand zwischen
den beiden Kreisen zwischen bi und ba liegen soll, können Ki und Ka nur
ineinanderliegen.
Für zwei ineinanderliegende Kreise wird definiert (vergl. Abb. 5.82):
Definition 74. A sei der kleinste Abstand zwischen zwei ineinanderliegenden Kreisen. R sei der Radius des größeren Kreises mit Mittelpunkt Ma und
182
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Kta
κta
k
ba
t
κti
Kti
bi
κsa
K
sa
κ si
Ksi
ks
Abbildung 5.81: Kreisbögen zwischen zwei Kanten
r der Radius des kleineren Kreises mit Mittelpunkt Mi .
A kann dann wie folgt berechnet werden:
A
R
Mi
Ma Ki
r
Ka
Abbildung 5.82: Zwei ineinanderliegende Kreise
A = R − |Mi Ma | − r;
(5.11)
Bemerkung 5.2. Gleichung 5.11 kann auch auf die anderen oben erwähnten Kreiskombinationen angewendet werden, ist A dann negativ, besitzen die
Kreise zwei Schnittpunkte, ist A=0 besitzen sie einen Berührungspunkt.
Es werden nun folgende Anforderungen an bi und ba gestellt:
Die Bogenlängen von bi und ba sollen nach Möglichkeit nicht zu weit auseinanderliegen, da sonst die Kanten, die auf den beiden Kreisbögen generiert
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
183
werden sollen, in ihren Längen stark voneinander abweichen (Längenanpassungsanforderung). Da bi i.a. durch die Vorgabe der Knoten Ksi und
Kti kleiner als ba ist, soll bi deswegen so groß wie möglich und ba so klein wie
möglich konstruiert werden.
Dabei darf jedoch nicht der Abstand zwischen den beiden Kreisbögen
zu gering werden, da dadurch die später zu generierenden Kanten zwischen
den Kreisbögen, die zu den Vierecken des zu generierenden Zerlegungspfades
gehören, zu sehr variieren. Deswegen wird festgelegt, daß eine kürzeste Verbindung zwischen bi und ba , die sowohl auf ba als auch auf bi senkrecht steht,
nicht kleiner als 2/3*DKL sein darf (Abstandsanforderung).
Außerdem soll zur Einhaltung der Qualität der Vierecke darauf geachtet
werden, daß die Winkel (κsa , κsi , κta , κti ) zwischen den Kreisbögen und den
Kanten ks und kt nicht zu nah an 0◦ oder 180◦ liegen (z.B. zwischen 15◦ und
165◦ liegen) (Winkelanforderung) (vergl. Abb. 5.81).
Damit entsteht ein Optimierungsproblem, da die gewünschten Qualititätsmerkmale teilweise gegensätzlich wirken.
Zur Veranschaulichung des Optimierungsproblems wird folgende Situation beschrieben:
Das Problem erinnert daran, eine Gummischleuder mit zwei Gummis zu
spannen. Die Gummiverbindungen sind in einem gewissen Abstand voneinander an einer Halterung befestigt und verbinden jeweils zwei Punkte
miteinander, deren Abstände zueinander nicht notwendigerweise gleich groß
sind. Da die beiden Gummiverbindungen gleich lang gegeben sein sollen, sollen sie zur Erzeugung einer möglichst gleichen Spannung auch im gespannten
Zustand möglichst gleich lang sein (Längenanpassungsforderung). Der Pfeil,
der durch den Doppelbogen abzuschießen ist, besitze am Pfeilanfang eine
Vorrichtung für den Gummibogen, der zwischen den Punkten mit größerem
Abstand liegt. Der zweite Bogen kann durch den Pfeil erst nach einem gewissen Abstand zum ersten Bogen gehalten werden (Abstandsanforderung).
Aus Stabilitätsgründen kann angenommen werden, daß der Winkel zwischen
der Halterung für die Gummis, und den Gummibögen nicht zu groß werden
darf (Winkelanforderung).
Aus dieser Veranschaulichung heraus soll das Optimierungsproblem im folgenden Doppelbogenproblem genannt werden.
Die beiden Kreisbögen werden unter Berücksichtigung des Doppelbogenproblems hintereinander konstruiert. Dabei wird zuerst der äußere Kreisbogen ba generiert. In Abhängigkeit davon wird der innere Kreisbogen bi
generiert.
184
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Ermittlung von ba
ba soll wie folgt konstruiert werden (vergl. Abb. 5.83).
εt
Kta
γ αkt
δ Kti
εs
ks
Ksa
α
Ma
Ksi
Abbildung 5.83: Ermittlung des Kreismittelpunkts Ma
Zunächst soll der Kreismittelpunkt Ma von ba bestimmt werden: Damit
Ma gleiche Entfernung zu den beiden Knoten Ksa und Kta besitzt, wird die
Mittelsenkrechte zur Strecke Ksa Kta erzeugt, worauf Ma liegen soll. Zur
Ermittlung von Ma wird von Ksa und Kta aus jeweils ein Strahl erzeugt
(vergl. Abb. 5.83), der die Mittelsenkrechte schneidet. Zwischen dem jeweiligen Strahl und der jeweiligen Kante soll in entgegengesetzter Richtung
zum Senkrechtvektor ein noch näher zu bestimmender Winkel α liegen, der
letztlich garantiert, daß die Winkel an Ksa und Kta zwischen Kreisbogen ba
und jeweiliger Kante nur um einen bestimmten Betrag vom Idealwinkel 90◦
abweichen (zur Einhaltung der Winkelanforderung). Der Schnittpunkt eines
Strahls mit der Senkrechten, der am nächsten zur Verbindung Ksa Kta liegt,
wird zum Mittelpunkt Ma gewählt, damit die Abweichung zum 90◦ -Winkel
an beiden Knoten Ksa und Kta nicht zu stark wird. Damit sind Ma und
demnach ba direkt abhängig von der Wahl von α. Bei der Bestimmung von
α muß deswegen bereits die Minimierung von ba unter Berücksichtigung der
Minimierung der Abweichung von 90◦ zwischen ba und den Kanten, also die
Längen- und die Winkelanforderung, beachtet werden!
Die Bestimmung von α geschieht wie folgt:
Es sei ² der größte der beiden Abweichungswinkel ²s und ²t , die zwischen
den Senkrechten auf ks in Ksa bzw. auf kt in Kta und Ksa Kta liegen (vergl.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
185
Abb. 5.83), d.h. ² = max(²s , ²t ). Dann sei α=²/2.
Lemma 5.8. Die Wahl von α führt immer zu einem Ergebnis, d.h. es gibt
immer einen Schnittpunkt, von einem der Strahlen mit der Mittelsenkrechten.
Beweis. (vergl. Abb. 5.83) Nach Voraussetzung ist die Strecke Ksi Kti immer
kleiner oder gleich groß wie die Strecke Ksa Kta . Deswegen liegen entweder
beide Kanten ks und kt parallel zur Mittelsenkrechten von Ksa Kta oder von
wenigstens einer Kante liegt der zweite Knoten, also Ksi oder Kti , näher zur
Mittelsenkrechten als der jeweils andere Knoten der entsprechenden Kante
(also Ksa oder Kta ). Liegen beide Kanten parallel zur Mittelsenkrechten, so
liegen die Kanten ideal zueinander, die Senkrechtvektoren zeigen direkt aufeinander, so daß, wie anfangs erwähnt, keine Kreisbögen generiert werden.
Dieser Fall kann deswegen ausgeschlossen werden.
Es sei œ kt die Kante, deren zweiter Knoten (Kti ) am nächsten zur Mittelsenkrechten liegt (vergl. dazu Abb. 5.83). Wegen der Lage von kt gilt ²t ≥ ²s
und damit ² = ²t . Es sei γ der Winkel zwischen Ksa Kta und kt . Es gilt
²t + γ = 90◦ . Wegen α = ²t /2 gilt für den Winkel δ zwischen Ksa Kta und
dem Strahl: δ = γ + ²t /2 < 90◦ . Der Strahl hat somit einen Schnittpunkt
mit der Mittelsenkrechten und die Wahl von α führt zu einem Ergebnis.
α
α εt
κ γ
ta
K sa
α
Kti
εs
Kta
α
δ
κsa
K si
Ma
Abbildung 5.84: Abweichung zwischen Kanten und Kreisbögen
186
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Je kleiner ² = ²t ist, je besser ist die Lage von kt zu bewerten und je
größer ist δ und je weiter ist Ma von Ksa Kta entfernt und je kleiner ist ba .
Diese Tendenz ist sinnvoll und kommt der gewünschten Lösung entgegen.
Es soll noch kurz gezeigt werden, daß ein so konstruiertes ba die Winkelanforderung erfüllt. (Die Längen- und Abstandsanforderungen können nur im
Zusammenhang mit bi erfüllt werden.)
Mit Hilfe von Ma kann ba eindeutig konstruiert werden! Der Winkel
κta zwischen Kreisbogen ba und der Kante kt , die für die Konstruktion von
Ma gewählt wurde, beträgt κta = 90◦ − α = 90◦ − ²/2 mit ²t = ² (vergl.
Abb. 5.84). Der Winkel κsa zwischen ks und dem Kreisbogen ba liegt zwischen κsa = 90◦ − α und κsa = 90◦ + 3 ∗ α, weil ²s ≤ ²t = 2 ∗ α gilt. Durch
das sukzessive Einfügen von Zwischenkanten bei schlechter Lage der Kanten
(vergl. Abschnitt 5.5.2) kann davon ausgegangen werden, daß ²t = ² ≤ 50◦
gilt. Es gilt also: 65◦ ≤ κta ≤ 90◦ und 65◦ ≤ κsa ≤ 165◦ . Die Winkelanforderung gilt damit als erfüllt.
Ermittlung von bi :
Unter der Berücksichtigung der Lage und der Länge von ba wird jetzt bi
ermittelt. Nach dem Doppelbogenproblem soll der Bogen bi so konstruiert
werden, daß er einerseits möglichst so lang wie ba ist (Längenanforderung)
und daß andererseits die minimale Entfernung zum Bogen ba nicht kleiner als
2/3∗DKL ist (Abstandsanforderung). Außerdem muß die Winkelanforderung
eingehalten werden, damit ein Winkel zwischen Kreisbogen und einer Kante
nicht zu klein wird.
Zur Vereinfachung der Ermittlung von ba und aufgrund der Abstandsanforderung wird außerdem gefordert:
Forderung 5.2. Der Kreisbogen bi darf nicht größer als ein Halbkreis sein.
Die Einhaltung der Längenanforderung bedeutet eine Optimierung bezüglich der Länge, die Einhaltung der Abstands- und Winkelanforderungen lediglich eine Verhinderung einer schlechten Generierung. Deswegen soll zur
Ermittlung von bi bei bereits bestehendem ba die in folgendem Algorithmus
5.8 dargestellte Strategie angewendet werden.
Dabei soll der zur Berechnung des Bogens bi erforderliche Kreismittelpunkt Mi auf der Mittelsenkrechten zur Verbindung Ksi Kti liegen.
Bevor die einzelnen Schritte und Vorgehensweisen für Algorithmus 5.8
genauer erklärt werden, soll zunächst gezeigt werden, daß eine solche Vorgehensweise sinnvoll ist.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
187
Algorithmus 5.8 (Innenkreisbogen).
1. PROCEDURE
2. BEGIN
3.
ermittle bi mit |bi | = |ba |;
4.
falls |bi | > |Halbkreis|
5.
6.
7.
8.
9.
ermittle bi als Halbkreis;
falls bi erfüllt nicht Winkelanforderung
ermittle bi , das Winkelanforderung erfüllt;
falls bi erfüllt nicht Abstandsanforderung
ermittle bi , das Abstandsanforderung erfüllt;
10. END
Dazu wird folgendes Lemma gezeigt:
Lemma 5.9. Es gilt (vergl. Abb. 5.85):
(a) bi verkleinert sich ⇔
(b) κsi bzw. κti vergrößern sich ⇔
(c) der Abstand zwischen bi und ba vergrößert sich (außer zwischen Ksi und
Ksa bzw. zwischen Kti und Kta )
Beweis. Es wird gezeigt: (a) ⇒ (c) ⇒ (b) ⇒ (a)
(a) ⇒ (c)
Verkleinert sich bi , vergrößert sich der Abstand jedes Punktes auf bi zu jedem
Punkt auf ba (ausgenommen von Ksi zu Ksa und von Kti zu Kta ). Damit
wird auch der Abstand zwischen bi und ba größer.
(c) ⇒ (b)
Vergrößert sich der Abstand zwischen bi und ba , so vergrößert sich auch der
Abstand zwischen ks und bi und kt und bi . Damit vergrößern sich auch κsi
und κti .
(b) ⇒ (a)
Vergrößern sich κsi und κti , werden die Winkel in Ksi und Kti zwischen
Ksi Kti und bi kleiner. Da bi ein Kreisbogen ist, muß er sich verkleinern.
Werden mit der Ermittlung eines bi mit |bi | = |ba | (Zeile 3) auch die anderen drei Anforderungen erfüllt, so ist die Generierung von bi sinnvoll, da
188
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
ba
Ksa
Kta
kt
ks
Ksi
Kti
Abbildung 5.85: Skizze zum Beweis
die Längenanforderung sogar optimal erfüllt wird.
Muß bi auf einen Halbkreis verkleinert werden (Zeile 5), so kommt dies der
Winkelanforderung und der Abstandsanforderung entgegen, was Lemma 5.9
verdeutlicht.
Muß zur Erfüllung der Winkelanforderung (Zeile 7) oder der Abstandanforderung (Zeile 9) ein neues bi ermittelt werden, so ist dieses (wegen Lemma
5.9) ebenfalls kleiner als das alte und kommt somit der jeweils anderen Forderung entgegen.
(Wenn κsi und/oder κti die Winkelanforderungen nicht erfüllen, kann davon ausgegangen werden, daß κsi oder κti < 15◦ ist. Es kann ausgeschlossen
werden, daß κsi oder κti > 165◦ ist, da dann ks oder kt so liegen würden, daß
zwischen ihnen eine weitere Kante generiert worden wäre.)
Wegen Lemma 5.9 ist mit Algorithmus 5.8 eine sinnvolle Strategie zur
Ermittlung von bi gefunden.
Es sollen nun die in Algorithmus 5.8 angesprochenen einzelnen Verfahren
zur Ermittlung von bi sowie die Überprüfung der in diesem Algorithmus angesprochenen Bedingungen diskutiert werden.
Ermittlung von bi mit |bi | = |ba | (vergleiche Abb. 5.86, Zeile 3)
Zur Ermittlung von bi genügt es, Mi bzw. Bi Mi zu ermitteln. Ist r bekannt, so kann Bi Mi direkt berechnet werden, da Bi Kti ebenfalls bekannt
ist.
Es gilt:
2 ∗ φ ∗ r = |ba | = |bi |;
weil 2φ der Bogenwinkel zu bi ist.
Außerdem gilt:
(5.12)
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
189
bi
Bi
Ksi
Kti
φ
r
Mi
Abbildung 5.86: Ermittlung von bi mit |bi | = |ba |
sin(φ) =
.
Ksi Kti
2
r
;
(5.13)
Da |Ksi Kti | und |bi | bekannt sind, können aus den beiden Gleichungen φ
und r und daraus wiederum Mi eindeutig ermittelt werden.
Überprüfung Halbkreis (Zeile 4)
Die Überprüfung, ob bi größer als ein Halbkreis ist, kann leicht mittels
Radius und Bogenmaß ermittelt werden bzw. an φ abgelesen werden.
Ermittlung eines Halbkreis (Zeile 5)
Ist klar, da Ksi Kti bekannt ist.
Überprüfung der Winkelanforderung (Zeile 6)
Die Überprüfung der Winkelanforderung stellt kein Problem dar, da die
Kanten und bi bekannt sind.
Ermittlung von bi , das Winkelanforderung erfüllt (vergl. Abb. 5.87),
Zeile 7)
Wie oben bereits erwähnt, kann davon ausgegangen werden, daß für das
bisher ermittelte bi κsi oder κti < 15◦ gilt.
Deswegen werden jetzt von ks und kt jeweils Winkel von 15◦ +90◦ =105◦
an Ksi bzw. Kti abgetragen, deren zugehörige Strahlen dann einen Schnittpunkt mit der Mittelsenkrechten zu Ksi Kti bilden. Wird der von Ksa Kta
190
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Ksa
ks 15°
Kta
k
15° t
Ksi
Mi
Kti
Abbildung 5.87: Ermittlung von bi , das Winkelanforderung erfüllt
weiter entfernte Schnittpunkt als Mi gewählt, so ist die Winkelanforderung
(für beide Winkel) erfüllt.
Überprüfung der Abstandsanforderung(Zeile 8)
bi kann nur dann die Abstandanforderung nicht erfüllen, wenn der kleinste
Abstand zwischen Ki und Ka zwischen den beiden Kreisbögen liegt. Andernfalls gibt es keine Strecke, die sowohl senkrecht auf bi als auch auf ba steht
und der Abstand zwischen den Kreisbögen nimmt dann in eine Richtung zu.
Da die Kanten ks und kt jeweils ≥ 2/3*DKL sind, wird eine solche Situation
dann als akzeptabel gewertet.
Ob der kleinste Abstand zwischen den beiden Bögen liegt, kann sehr leicht
daran festgestellt werden, ob die Schnittpunkte der Geraden, die durch Mi Ma
verläuft, mit Ki und Ka jeweils innerhalb der Bögen liegen oder nicht. Liegt
einer der Schnittpunkte außerhalb des jeweiligen Bogens, so liegt der kleinste Abstand nicht innerhalb der Kreisbögen. Falls er innerhalb liegt, muß er
mittels Gleichung 5.11 ermittelt werden und überprüft werden, ob er größer
2/3*DKL ist.
Ermittlung von bi , das Abstandsanforderung erfüllt(Zeile 9)
Es soll nun ein Kreisbogen bi ermittelt werden, dessen kürzester Abstand
zu ba mindestens 2/3*DKL beträgt. Dabei wird zunächst davon ausgegangen,
daß der kürzeste Abstand zwischen den beiden Kreisen Ki und Ka zwischen
bi und ba liegt.
Gleichung 5.11 soll zur Ermittlung des Mittelpunkts Mi genutzt werden.
Dafür wird A=2/3*DKL vorgegeben. In Gleichung 5.11 sind |Mi Ma | und r
unbekannt.
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
191
Es wird deswegen eine weitere Gleichung mit den unbekannten r und
|Mi Ma | ermittelt (vergl. Abb. 5.88).
Bi
K si
l2
K ti
m2
r
Mi
m
m1
Ma
l1
U
Abbildung 5.88: Berechnung von |Mi Ma |
Bi sei der Mittelpunkt der Verbindung Ksi Kti und U sei der Knoten
auf der Mittelsenkrechten zu Ksi Kti , auf den Ma bei senkrechter Projektion
auf diese Mittelsenkrechte projiziert würde. Die Knoten Ksi , Kti , U, Bi und
Ma liegen fest. l1 sei der Abstand zwischen U und Ma , l2 sei der Abstand
zwischen Kti und Bi . Damit sind l1 und l2 ebenfalls bekannt. Es sei m1 der
Abstand zwischen (dem gesuchten Knoten) Mi und U und m2 der Abstand
zwischen Mi und Bi . Nach Konstruktion von ba und Forderung 5.2 liegen
Mi und Ma auf der gleichen Seite der Geraden durch Ksi Kti . Es gelten die
folgenden Beziehungen:
2
|Mi Ma | = l12 + m21 ;
(5.14)
r2 = l22 + m22 ;
(5.15)
m = m1 + m2 ;
(5.16)
und
Außerdem gilt
192
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Damit kann |Mi Ma | durch r und die bekannten Größen l1 , l2 und m
ausgedrückt werden.
r
l12 − l22 + m2 + r2 − 2m
|Mi Ma | =
q
r2 − l22 ;
(5.17)
Durch Einsetzen von Gleichung 5.17 in Gleichung 5.11 ergibt sich
r
A=R−
l12
−
l22
+
m2
+
r2
q
− 2m r2 − l22 − r;
(5.18)
Die einzige unbekannte Größe r kann numerisch ermittelt werden. Gleichung 5.18 führt auf eine Gleichung vierten Grades mit der Unbekannten r.
Gibt es mehrere Lösungen unter Einhaltung von Forderung 5.2, die so liegen,
daß A innerhalb der Kreisbögen liegt, so wird die Lösung mit dem kleinsten
r gewählt. Wegen Einhaltung von Forderung 5.2 gilt: Je kleiner r ist, desto
größer ist der Kreisbogen bi (vergl. Abb. 5.89). Damit verstärkt die Wahl des
kleinsten r die Maximierung des Kreisbogens bi ohne den Abstand zwischen
den beiden Kreisbögen zu klein zu halten.
Kti
r´
r´´
r´´´
Ksi
Abbildung 5.89: Verhalten von Kreisen mit gleicher Sehne
Das oben beschriebene Verfahren führt nur unter folgender Voraussetzung
zu einem Ergebnis: Es muß mindestens einen Kreis Ki mit Mittelpunkt Mi
geben, der im Kreis Ka mit Mittelpunkt Ma liegt und für die beiden Kreise
gilt: Unter Einhaltung von Forderung 5.2 müssen die beiden Kreise einen
kleinsten Abstand A=2/3∗DKL zueinander besitzen, der im Bereich der beiden zu konstruierenden Kreisbögen liegen muß.
Kann kein Kreis Ki ermittelt werden, dessen kleinster Abstand 2/3∗DKL
innerhalb der zu ermittelnden Kreisbögen liegt, so wird bi auf ganz andere
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
193
Weise ermittelt: Dieser Fall kann eintreten, obwohl der kleinste Abstand
des von Ki zu Ka bezüglich des bis dahin nach Algorithmus 5.8 ermittelten
Kreisbogens bi innerhalb von bi und ba liegt. (Denn nur in diesem Fall wird
bi überhaupt ggfs. neu ermittelt.) Ein solcher Fall kann z.B. auftreten, wenn
ks und kt bereits die Länge 2/3∗DKL besitzen.
Die zwischen ks und kt liegenden Kanten der Vierecke des Zerlegungspfades würden bezüglich ihrer Lage und Länge idealerweise so liegen, daß sie
einen kontinuierlichen Übergang von einer Kante zur anderen Kante schaffen.
Das bedeutet, daß die Kanten in ihrer Länge von der größeren zur kleineren kleiner werden und daß der Winkel zwischen näher beieinanderliegenden
Kanten kleiner ist als der zwischen weiter auseinanderliegenden Kanten. bi
wird mit Hilfe dieser Überlegung konstruiert, indem als Annäherung an diese
Ideallage ein Knoten Kmi zwischen Ksi und Kti auf bi so ermittelt wird, daß
die Kante Kma Kmi , wobei Kma der Mittelknoten zwischen Ksa und Kta auf
ba ist, in diesem Sinne optimal zwischen ks und kt liegt.
Die Konstruktion von bi erfolgt also auf folgende Weise: Auf ba wird
der Knoten Kma als Mittelknoten zwischen Ksa und Kta ermittelt (vergl.
−−−−→
−−−−→
Abb. 5.90). ks und kt werden als Vektoren (Ksa Ksi und Kta Kti ) addiert und
der entstandene Vektor auf die Länge 2/3∗DKL reduziert. Er wird zu Kma
−−−−−→ −
−−−−
→
sa Ksi +Kta Kti
addiert (vergl. wiederum Abb. 5.90). Also gilt: Kmi = Kma + K
−−−−−→ −
−−−−
→ ∗
|Ksa Ksi +Kta Kti |
2/3DKL. Auf diese Weise wird Kmi als dritter Knoten auf bi gefunden. Ksi ,
Kmi und Kti bestimmen bi vollständig.
Kma
ba
Ksa
Kta
K mi
ks
bi
kt
g
Ksi
Kti
Abbildung 5.90: Konstruktion von bi
Es ist möglich, daß der Abstand zwischen Kma und der Geraden g durch
Ksi Kti bereits ≤ 2/3∗DKL ist. In diesem Fall wird Ksi Kti als bi gewählt.
Damit sind die einzelnen Schritte zu Algorithmus 5.8 dargestellt. Die
Konstruktionsbeschreibung der Kreisbögen ist abgeschlossen. Es wird nun
noch kurz die Ermittlung eines Zerlegungspfades mittels bi und ba beschrieben.
194
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Generierung eines Zerlegungspfades mit Hilfe von bi und ba
Zur Generierung eines Zerlegungspfades werden auf beiden Kreisbögen
gleichviele Knoten in äquidistanten Abständen eingesetzt. Anschließend sollen die Knoten so einander zugeordnet werden, daß Vierecke entstehen.
Die Ermittlung der Anzahl der einzusetzenden Knoten geschieht in Abhängigkeit der Längen Li und La der Kanten, die durch direkte Verbindung von
äquidistanten Knoten auf den Kreisbögen entstehen (vergl. Abb. 5.91). Es
sei x der Bogenwinkel des Kreisbogens ba :
R
L2
x
Abbildung 5.91: Konstruktion eines Polygonzugs auf einem Kreisbogen
Dann gilt für die Kantenlänge La auf ba :
La = 2 ∗ R ∗ sin(
x
);
2n
(5.19)
wobei n-1 die Anzahl der einzusetzenden Knoten ist und x/2n < 90◦
angenommen werden kann.
Analog gilt für die Kantenlänge Li auf bi mit Bogenwinkel y bei einer
Unterteilung in n Teile:
Li = 2 ∗ r ∗ sin(
y
);
2n
(5.20)
Für die Generierung der Vierecke wird gewünscht, daß Li und La möglichst
wenig von DKL abweichen. Damit ausschließlich Vierecke entstehen, müssen
in die Kreisbögen jeweils gleich viele Knoten eingesetzt werden. Damit kann
nur die Forderung realisiert werden, daß Li und La im Durchschnitt der DKL
entsprechen sollen. Für die Durchschnittslänge DuL von Li und La gilt:
DuL = R ∗ sin(
y
x
) + r ∗ sin( );
2n
2n
(5.21)
5.5. ZERLEGUNGSPFADE INNERHALB VON REGIONEN
195
Wird DuL=DKL gewählt, ist Gleichung 5.21 für n ∈ IR eindeutig lösbar.
Aufgrund der Voraussetzungen zur Konstruktion der Kreisbögen bi und ba
gilt: x,y≤180◦ und die Kreisbögen werden in mindestens zwei Teile unterteilt, also insbesondere kann n durch Gleichung 5.21 ermittelt werden. Das
Ergebnis für n wird zu N ∈ IN gerundet. N ist die Anzahl der Vierecke,
die durch Erzeugen von N-1 Knoten in äquidistanten Abständen auf den
Kreisbögen entstehen, wobei die Länge der entstandenen Kanten möglichst
nahe bei DKL liegt.
Ein Beispiel zeigt Abb. 5.92.
K sa
K ta
K si
K ti
Abbildung 5.92: Konstruktion eines Zerlegungspfades mit Hilfe der beiden
Kreisbögen
Das Verfahren wird so für alle Abschnitte zwischen den (Zwischen-)Kanten
durchgeführt. Auf diese Weise entsteht der komplette Zerlegungspfad eines
Kantenpaares.
Treten trotz vorheriger Abschätzung Überschneidungen von Zerlegungspfaden mit bereits vernetzten Bereichen auf, können sie analog zur Operation des Nähens beim Paving korrigiert werden. Dabei dürfen jedoch keine Elemente hinzugenommen, weggenommen oder bezüglich ihrer Topologie
verändert werden. Ist das Nähen auf diese Weise nicht möglich, wird die
Region als nicht vernetzbar“ eingestuft.
”
Da im Beispiel der Wurm die Zacken zur Einsparung von Konfliktdreiecken nicht wie Zacken vernetzt wurden und keine ±270◦ - und ±340◦ -Ecken
auftreten, sind keine I-Dreiecke entstanden (vergl. Abb. 5.59). Somit brauchen hier keine Zerlegungspfade innerhalb von Regionen generiert zu werden.
In diesem Kapitel wurde gezeigt, wo und wie Zerlegungspfade innerhalb
der Regionen generiert werden. Für die P-Vernetzung bleibt noch die Vernetzung der Gebiete innerhalb der Regionen (vergl. Schema 4.31 (v)), die
196
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
außerhalb der Zerlegungspfade liegen sowie ein Smoothing (vergl. Schema
4.31 (vi)). Dies wird in folgenden Unterkapitel kurz besprochen.
5.6
Fertigstellung des P-Netzes
Alle Zerlegungsdreiecke und -pfade werden Zerlegungsgraphen zugeordnet.
Die Vernetzung der übrig gebliebenen Bereiche ist unproblematisch. Es kann
hier eine bereits existierende Netzgenerierung, bei der möglichst viele gute
Vierecke generiert werden, eingesetzt werden:
Eine solche Netzgenerierung stellt z.B. das Paving dar [Blac91a] [Blac91b]
[Lee99] [Zhon00]. Eine Erweiterung des Pavings, bei dem ggfs. Dreiecke eingesetzt werden und so auch Gebiete mit ungerader Anzahl Kanten vernetzt
werden können, wird in [Stol97] vorgestellt. Da im vorliegenden Fall ebenfalls Gebiete ungerader Kantenanzahl bestehen können, soll dieses Verfahren
hier eingesetzt werden. Weil in den zu vernetzenden Gebieten nicht mehr
auf Zerlegungen geachtet werden muß, dürfen auch Vierecke (oder Dreiecke)
generiert werden, von denen zwei oder mehr Kanten auf der Kontur des aktuellen Bereichs liegen.
Zur Optimierung der Qualität der Elemente kann nach der Generierung
ein Smoothing-Verfahren auf das P-Netz angewendet werden. Dabei werden
die Knoten so verschoben, daß die an ihnen anliegenden Elemente möglichst
gut sind. Für ein Vierecknetz, das durch Paving entstanden ist, finden sich
hierzu Verfahren in [Blac91a]. Im vorliegenden Netz müssen Dreiecke ins
Smoothing integriert werden. In [Stol97] wird dazu ein Verfahren vorgestellt, bei dem Dreiecke auf rechtwinklige Dreiecke optimiert werden. Das
Verfahren kann vermutlich leicht auf gleichseitige Dreiecke übertragen werden. Smoothing-Verfahren für 2D-Netze mit Vier- und Dreiecken finden sich
z.B. auch in [Cana98], [Bale99] und [Zhou00].
Es ist zu beachten, daß die Knoten auf den Polygonabschnitten nicht
bewegt werden dürfen, da sie i.a. übergänge zwischen unterschiedlichen Tiefenwerten bilden und somit bestimmte Höhenübergänge widerspiegeln. Deswegen wird das Smoothing für alle Regionen einzeln und nur die Phase zur
Glättung der inneren Knoten durchgeführt.
Durch das (erweiterte) Paving werden i.a. gute Ergebnisse erzielt [Blac91a]
[Blac91b] [Lee99] [Zhon00] [Stol97]. Bei wenigen Zerlegungspfaden und dreiecken können die noch zu vernetzenden Gebiete relativ groß sein. Insgesamt wird damit eine gute Netzgenerierung garantiert.
In Abb. 5.93 (entspricht Abb. 3.6 Seite 17) ist die komplette Vernetzung
der Regionen für das Beispiel der Wurm dargestellt. Die Vernetzung au-
5.6. FERTIGSTELLUNG DES P-NETZES
197
ßerhalb der Zerlegungspfade wurde teilweise mit (erweiterten) Modulen aus
[Stol97] erzeugt. Die Abb. zeigt eine bereits geglättete Vernetzung.
Abbildung 5.93: Komplette Vernetzung der Regionen für das Wurmbeispiel
Damit ist die P-Vernetzung abgeschlossen. Es bleibt die notwendigen
Zerlegungen auf den einzelnen Ebenen im 3D-Netz zu spezifizieren. Dies
wird im folgenden Kapitel diskutiert.
198
KAPITEL 5. LÖSUNGEN ZUR P-VERNETZUNG
Kapitel 6
Zerlegungsgraphen
Zusammenfassung
Nach der P-Vernetzung liegt ein P-Netz vor, das aus P-Dreiecken und (hauptsächlich) aus P-Vierecken besteht. Das P-Netz setzt sich aus den p-vernetzten
Regionen zusammen. Die P-Elemente einer Region besitzen (fast) alle den
gleichen Tiefenwert. Aus diesen P-Elementen werden mit Hilfe der Algorithmen 4.1 und 4.2 Seite 50 und 57 dreidimensionale (nicht zerlegte) Elementstapel generiert. Der Tiefenwert eines P-Elements gibt dabei die Anzahl der
3D-Elemente im Elementstapel an. Alle Elementstapel bilden nach Folgerung 4.4 Seite 62 zusammen ein konformes Erstnetz (s. Definition 35, Seite
33) (vergl. Schema 3.20 IV a), Seite 36).
Das P-Netz besitzt (P-)Zerlegungspfade mit Zerlegungslayern. Durch die
Zerlegungspfade und deren Zerlegungslayer sind die 3D-Zerlegungspfade im
3D-Netz eindeutig bestimmt. Die 3D-Zerlegungspfade geben alle zu zerlegenden 3D-Elemente des Erstnetzes an. Diese Elemente müssen so in zulässige
Elemente, also Prismen und Tetraeder, zerlegt werden, daß das resultierende
Netz konform ist. Dies ist i.a. auf verschiedene (aber nicht auf alle) Arten möglich, wobei die Qualität des Gesamtnetzes dabei unterschiedlich sein
kann.
Dieses Kapitel beschäftigt sich mit Zerlegungspfaden und 3D-Zerlegungspfaden und ihrer optimalen Zerlegung (vergl. Schema 3.20 IV b), Seite 36).
Zunächst wird in Unterkapitel 6.1 ein Verfahren zur Detektion aller Zerlegungspfade und damit zur Ermittlung von Zerlegungsgraphen (Def. 55 Seite
65) vorgestellt. In Unterkapitel 6.2 wird ersichtlich, daß das Problem der
Ermittlung einer insgesamt optimalen Zerlegung aller 3D-Zerlegungspfade
mittels des Zerlegungsgraphen (Definition 55, Seite 65) gelöst werden kann.
Dieses Problem ist nicht trivial. Die Übertragung des Problems auf Zer199
200
KAPITEL 6. ZERLEGUNGSGRAPHEN
legungsgraphen führt zu einem graphentheoretischen Optimierungsproblem.
Zur Lösung dieses Problems wird in Unterkapitel 6.3 ein im Rahmen dieser
Dissertation entwickelter effizienter Algorithmus vorgestellt.
Mit der Lösung des Optimierungsproblems können die 3D-Zerlegungspfade
eines 3D-Netzes zerlegt werden. Das 3D-Netz ist damit komplett generiert.
6.1
Detektion aller Zerlegungsgraphen
Für die Optimierung der Zerlegung der zu zerlegenden Elemente innerhalb
eines 3D-Netzes mittels Zerlegungsgraphen müssen diese zunächst ermittelt
werden. Dies wird in diesem Unterkapitel vorgestellt. Dazu werden zunächst
einige Eigenschaften von Zerlegungsgraphen diskutiert.
Bei der Einführung von Zerlegungsgraphen in Abschnitt 4.1.6 wurde bereits erklärt, warum die Z-Knoten eines Zerlegungsgraphen vom Grad eins
oder drei sind.
Eine Z-Kante ist nach Definition 54 das Abbild einer Zuordnung eines bestimmten Zerlegungspfades und eines bestimmten Zerlegungslayers. Ein ZKnoten ist nach Definition 53 das Abbild einer Zuordnung eines bestimmten
Zerlegungsdreiecks und eines bestimmten Zerlegungslayers. Da ein Elementstapel eines P-Dreiecks nicht zerlegt werden kann und garantiert ist, daß ein
Elementstapel eines Ein- oder Auslaufvierecks nicht zerlegt wird, entstehen
keine Zerlegungspfade in senkrechter Richtung. Damit ist die Definition einer Z-Kante sinnvoll und Z-Knoten sind nur inzident zu Z-Kanten, die durch
die Zuordnung eines gleichen Zerlegungslayers entstanden sind. Ebenfalls
können deswegen nur zwei Z-Kanten zueinander inzident sein, die durch die
Zuordnung eines gleichen Zerlegungslayers enstanden sind. Damit gilt für
die (Zusammenhangs-)komponenten (Definition siehe Graphentheorie)
eines Zerlegungsgraphen zu einem P-Netz:
Folgerung 6.1. Jede Zusammenhangskomponente eines Zerlegungsgraphen
besteht ausschließlich aus Z-Kanten und Z-Knoten, die durch die Zuordnung
eines gleichen Zerlegungslayers enstanden sind.
Damit kann jeder Zusammenhangskomponente eindeutig ein Zerlegungslayer zugeordnet werden.
Nach Bemerkung 3.3 Seite 32 kann es z.B. Zerlegungsdreiecke geben, die
durch einen Zerlegungspfad der Länge 0 miteinander verbunden sind. Dies
kann z.B. bei der Vernetzung von Zacken oder Ecken entstehen. Es liegen
6.1. DETEKTION ALLER ZERLEGUNGSGRAPHEN
201
dann zwei P-Dreiecke direkt nebeneinander.
Für die Detektion eines Zerlegungsgraphen ist es sinnvoll, nacheinander
alle Zusammenhangskomponenten zu ermitteln. Die Detektion einer Zusammenhangskomponente soll jeweils von einem Konfliktdreieck an beginnen.
Da Konfliktdreiecke die einzigen Auslöser für Zerlegungspfade sind, müssen
auf diese Weise alle Zusammenhangskomponenten eines Zerlegungsgraphen
gefunden werden. Am einfachsten erscheint eine rekursive Ermittlung (s.
auch Beispiel unten):
Von einem Konfliktdreieck mit einem bestimmten Konfliktlayer (vergl.
Def. 27 Seite 30) wird genau ein Zerlegungspfad mit diesem Zerlegungslayer
ausgelöst. Dies liegt daran, daß im 3D-Netz an entsprechender Stelle ein
2-3-Element generiert wird. Zur Ermittlung einer Zusammenhangskomponente eines Zerlegungsgraphen wird nun von einem Konfliktdreieck mit Konfliktlayer t ausgehend der dadurch ausgelöste Zerlegungspfad verfolgt, bis er
auf ein Zerlegungsdreieck oder ein Ein- oder Auslaufviereck trifft. Falls im
ersten Fall (Zerlegungspfad trifft auf ein Zerlegungsdreieck) t für das Zerlegungsdreieck kein Konfliktlayer ist, wird der von ihm ausgehende noch nicht
durchlaufene Zerlegungspfad mit gleichem Zerlegungslayer, der (aus der Sicht
des ankommenden Zerlegungspfades) nach rechts verzweigt, verfolgt und das
Verfahren rekursiv angewendet. Anschließend wird der noch nicht verfolgte
Zerlegungspfad mit gleichem Zerlegungslayer, der nach links verzweigt, verfolgt und das Verfahren rekursiv angewendet. (Falls ein solcher Zerlegungspfad schon verfolgt wurde, wird er nicht ein zweites Mal verfolgt.) Falls im
ersten Fall t Konfliktlayer ist oder der Zerlegungspfad auf ein Ein- oder Auslaufviereck trifft, ist die Suche an dieser Stelle beendet.
Auf diese Weise kann eine Zusammenhangskomponente ermittelt werden.
Nach dem Auffinden einer Komponente wird die nächste detektiert, wobei
von einem noch nicht betrachteten Paar (Konfliktdreieck, Konfliktlayer) ausgegangen wird.
Im folgenden wird die Detektion an einem Beispiel durchgeführt (vergl.
Abb. 6.1 und 6.2).
Abb. 6.1 zeigt einen Teil der Vernetzung für das Wurmbeispiel. Die PDreiecke D1 , D2 , D3 , D5 und D6 stellen Konfliktdreiecke mit Konfliktlayer
1 dar, die Zerlegungspfade mit Zerlegungslayer 1 auslösen. Die Konfliktdreiecke D4 , D6 bis D8 und D10 lösen Zerlegungspfade mit Zerlegungslayer 2 aus.
Dies geht jeweils aus den Tiefenwerten der P-Knoten der P-Dreiecke gemäß
Tabelle 4.2 (Seite 60) und Lemma 4.9 (Seite 61) hervor. Die P-Dreiecke D9
und D11 sind Zerlegungsdreieckkandidaten (, für die zum jetzigen Zeitpunkt
noch nicht klar ist, ob auf sie ein Zerlegungspfad auftrifft, so daß sie zu Zer-
202
KAPITEL 6. ZERLEGUNGSGRAPHEN
3
2
D8
2
2
2
3DD10
11
2
V1
D7
D6
2
2
1
1 1
1
1
0
3 2 2
2
D
D53
D4
1
1
0
1
0
D9D1
D2
0
0
2
Abbildung 6.1: Detektion Zerlegungsgraph für einen Teil der Vernetzung für
das Wurmbeispiel
legungsdreiecken werden). Sie lösen selber keine Zerlegungspfade aus. Von
den benannten Konfliktdreiecken ausgehend sollen jetzt die in diesem Bereich
liegenden Komponenten des Zerlegungsgraphen ermittelt werden.
Zur Detektion der Komponenten müssen alle Konfliktlayer aller Konfliktdreiecke betrachtet werden. Komponenten, die aus Zerlegungspfaden mit
höheren Zerlegungslayern entstehen, sind i.a. kleiner als Komponenten, die
aus Zerlegungspfaden mit kleineren Zerlegungslayern entstehen, weil Zerlegungspfade mit kleineren Zerlegungslayern eher in eine benachbarte Region gelangen und dadurch eine weitere Ausbreitung möglich ist. Es werden
zuerst die Komponenten detektiert, die aus Zerlegungspfaden mit höheren
Zerlegungslayern entstehen. Deswegen werden zuerst die Konfliktdreiecke
betrachtet, die Zerlegungspfade mit Zerlegungslayer 2 auslösen.
Vom Konfliktdreieck D7 beginnt ein Zerlegungspfad mit Zerlegungslayer
2 der an D6 endet. Da D7 und D6 Konfliktdreiecke mit Konfliktlayer 2
sind, kann sowohl von D7 als auch von D6 kein Zerlegungspfad mit gleichem
Zerlegungslayer in eine andere (zweite) Richtung verlaufen, weswegen die
erste Komponente K21 bereits gefunden ist (vergl. jetzt und im folgenden
Abb. 6.2). Sie besteht aus den Z-Knoten, die D7 und D6 und dem Zerle-
6.1. DETEKTION ALLER ZERLEGUNGSGRAPHEN
(D7,2)
(D7,1) (D9,1)
(D8,2)
(D11,2)
K 22
K21
(D11,1)
(D10,2) K
23
(D4,2)
203
(V1,1)
(D8,1) (D
1,1)
(D10,1)
(D2,1)
(D5,1)
(D3,1)
K11
(D4,1)
(D6,2)
(D6,1)
K 12
(i)
(ii)
Abbildung 6.2: Zerlegungsgraph für Abb. 6.1
gungslayer 2 zugeordnet werden, und der Z-Kante, die dem Zerlegungspfad
zwischen diesen beiden Konfliktdreiecken und dem Zerlegungslayer 2 zugeordnet wird.
Von D8 verläuft ein Zerlegungspfad mit Zerlegungslayer 2 zu D4 . Da D8 und
D4 wiederum Konfliktdreiecke mit Konfliktlayer 2 sind, kann die nächste
Komponente K22 auf vollkommen analoge Weise zu K21 ermittelt werden.
Von D10 verläuft ein Zerlegungspfad der Länge null mit Zerlegungslayer 2
zum Zerlegungsdreieckkandidaten D11 . Dadurch wird D11 Zerlegungsdreieck
und es wird ein weiterer Zerlegungspfad mit Zerlegungslayer 2 ausgelöst, der
von D11 zurück zu D11 verläuft. Da D10 Konfliktdreieck mit Konfliktlayer 2
ist, ist Komponente K23 gefunden: Sie besteht aus den beiden Z-Knoten, die
D10 und D11 und dem Zerlegungslayer 2 zugeordnet sind, einer Z-Kante, die
dem Zerlegungspfad der Länge null zwischen den beiden Dreiecken D10 und
D11 und dem Zerlegungslayer 2 zugeordnet ist und einer Z-Kante, die eine
Schlinge ist und dem Zerlegungspfad und dem Zerlegungslayer 2 zugeordnet
ist, der von D11 zurück zu D11 läuft.
Jetzt sind alle Komponenten mit Zerlegungslayer 2 ermittelt, da alle Konfliktdreiecke mit Konfliktlayer 2 betrachtet wurden.
Es werden nun die Komponenten mit Zerlegungslayer 1 ermittelt. Von
D2 verläuft ein Zerlegungspfad mit Zerlegungslayer 1 zu D3 . D2 und D3 sind
Konfliktdreiecke mit Konfliktlayer 1, so daß die erste Komponente mit Zerlegungslayer 1 K11 gefunden ist: Sie besteht aus den Z-Knoten, die D2 und
D3 und dem Zerlegungslayer 1 zugeordnet sind und der Z-Kante, die dem
Zerlegungspfad zwischen D2 und D3 und dem Zerlegungslayer 1 zugeordnet
ist.
Bei der Ermittlung der nächsten Komponente wird das oben beschriebene
204
KAPITEL 6. ZERLEGUNGSGRAPHEN
rekursive Verfahren deutlich. Von D5 aus verläuft ein Zerlegungspfad mit
Zerlegungslayer 1 und Länge null zu D4 . Dieses Dreieck verhält sich für
den Zerlegungslayer 1 wie ein Zerlegungsdreieck, so daß Zerlegungspfade zu
D8 und zu D10 weitergeleitet werden. Es wird jetzt zuerst der Zerlegungspfad, der von D4 nach rechts verzweigt (bezüglich des Zerlegungspfades, der
von D5 kommt), verfolgt. Mit einem Zerlegungspfad der Länge null wird
D10 erreicht. D10 verhält sich für den Zerlegungslayer 1 wiederum wie ein
Zerlegungsdreieck. Es wird wieder von D10 der nach rechts verlaufende Zerlegungspfad der Länge null, der zu D8 führt, verfolgt. Die Detektion für
die aktuell zu ermittelnde Komponente erfolgt analog weiter über D7 und
D9 zu D1 . D1 ist Konfliktdreieck mit Konfliktlayer t. Deswegen findet hier
keine weitere Verzweigung statt. Es wird nun das letzte Dreieck betrachtet, von dem nach rechts verzweigt wurde: D9 . Von hier aus wird jetzt der
Zerlegungspfad mit Zerlegungslayer 1, der nach links verzweigt, verfolgt. Er
endet bei V1 , von wo aus keine weiteren Zerlegungspfade ausgehen. Von
D9 aus sind nun alle Zerlegungspfade mit Zerlegungslayer 1 ermittelt. Da
die Ermittlung der Komponente rekursiv erfolgt, wird jetzt das zuletzt betrachtete Dreieck gewählt, bei dem noch nicht der nach links verlaufende
Zerlegungspfad verfolgt wurde. Dies ist D7 . Der zu verfolgende Zerlegungspfad trifft auf D6 . Da D6 Konfliktdreieck mit Konfliktlayer 1 ist, verläuft
von dort kein weiterer Zerlegungspfad mit Zerlegungslayer 1. Deswegen wird
jetzt nach dem rekursivem Verfahren der von D8 nach D4 verlaufende Zerlegungspfad detektiert. Da von D4 die anderen beiden Zerlegungspfade mit
Zerlegungslayer 1 bereits durchlaufen wurden, erfolgt die weitere Detektion
von D10 von der Seite, von der ein Zerlegungspfad mit Zerlegungslayer 1
noch nicht detektiert wurde. Ein solcher mit Länge null führt zu D11 . Von
dort wird der nach rechts verlaufende Zerlegungspfad mit Zerlegungslayer 1
ermittelt, der wiederum an D11 endet. Ein weiterer Zerlegungspfad kann von
den für die aktuell zu ermittelnde Komponente betrachteten Dreiecken nicht
ermittelt werden, da bereits alle Zerlegungspfade, die von diesen Dreiecken
ausgehen, verfolgt wurden. Damit ist die Komponente K12 gefunden. Sie besteht aus den Z-Knoten, die den Dreiecken D1 , D4 bis D11 und dem Viereck
V1 und dem Zerlegungslayer 1 zugeordnet sind und aus den Z-Kanten, die
den durchlaufenen Zerlegungspfaden und dem Zerlegungslayer 1 zugeordnet
sind.
Damit sind alle Konfliktlayer aller Konfliktdreiecke untersucht und alle
Komponenten des Zerlegungsgraphen detektiert.
Algorithmus 6.1 formuliert das dem Beispiel zugrundeliegende rekursive
Verfahren.
6.1. DETEKTION ALLER ZERLEGUNGSGRAPHEN
Algorithmus 6.1 (Zerlegungsgraphdetektion).
1. PROCEDURE
2. BEGIN
?
3.
Kontrollmenge KM:= ;
4.
for (alle Konfliktlayer (KL))
5.
i:=0;
6.
for (alle Konfliktdreiecke (KD) mit Konfliktlayer KL)
7.
falls ((KD,KL)∈KM)
/
8.
ermittle Zerlegungspfadrichtung
R gemäß Lemma 4.10 Seite 61 von (KD,KL);
9.
einfüge (KD,KL) in KM;
10.
detect(KD,KL,R,Komponente KKL,i );
11.
i++;
12. END
13. PROCEDURE detect(KD,KL,R,KKL,i );
14. BEGIN
15.
16.
falls (KD,KL) zugeordneter Z-Knoten ∈
/ KKL,i
einfüge (KD,KL) zugeordneter Z-Knoten in KKL,i ;
17.
ZP:=Zerlegungspfad in Richtung R;
18.
verfolge ZP;
19.
einfüge (ZP,KL) zugeordnete Z-Kante in KKL,i ;
20.
falls (ZP trifft auf neues Dreieck (ND))
21.
falls (ND ist Konfliktdreieck mit
Konfliktlayer KL)
22.
einfüge (ND,KL) zugeordneter Z-Knoten in KKL,i ;
23.
einfüge (ND,KL) in KM;
24.
25.
26.
27.
28.
29.
30.
31. END
else
falls (Zerlegungspfad nach rechts von
/ KKL,i )
(ND,KL) ausgehend ∈
detect(ND,KL,rechts);
falls (Zerlegungspfad nach links von
(ND,KL) ausgehend ∈
/ KKL,i )
detect(ND,KL,links);
else (ZP trifft auf ein Ein- oder Auslaufviereck V)
einfüge (V,KL) zugeordneter Z-Knoten in KKL,i ;
205
206
6.2
KAPITEL 6. ZERLEGUNGSGRAPHEN
Zerlegungen und Zerlegungsgraphen
Zerlegungsgraphen bestehen aus Z-Kanten und Z-Knoten. Diese sind Abbilder von eineindeutigen Zuordnungen von Zerlegungsdreiecken und Zerlegungspfaden mit bestimmten Zerlegungslayern. Jedem Zerlegungspfad mit
einem bestimmten Zerlegungslayer ist eineindeutig ein 3D-Zerlegungspfad,
und jedem Zerlegungsdreieck mit einem bestimmten Zerlegungslayer ist eineindeutig ein bestimmtes 3D-Element zugeordnet. Damit sind einem Zerlegungsgraphen eineindeutig bestimmte Elemente, nämlich die zu zerlegenden
Elemente im 3D-Netz, zugeordnet. Die einem Zerlegungsgraphen zugeordneten Elemente müssen nun so zerlegt werden, daß ausschließlich erlaubte
Elemente entstehen, also Hexaeder, Prismen und Tetraeder. Eine Zerlegungsanforderung an ein Hexaeder auf einem 3D-Zerlegungspfad wird wegen der
Überschneidungsfreiheit von Zerlegungspfaden (vergl. Forderung 4.1 S. 63)
immer nur von zwei gegenüberliegenden Seiten gestellt. Deswegen genügt es,
alle einem Zerlegungsgraphen zugeordneten Hexaeder (innerhalb eines 3DZerlegungspfades) lediglich in zwei Prismen zu zerlegen. Zur Einhaltung der
Konformitätsbedingung muß dabei jedoch die Zerlegungsrichtung auf einem
3D-Zerlegungspfad beibehalten werden (vergl. Abb. 6.3 (i) a) + (ii) a)).
Abbildung 6.3:
a) Einhaltung einer Zerlegungsrichtung eines 3DZerlegungspfades b) Orientierung der zugeordneten Z-Kante
Die Einhaltung einer Zerlegungsrichtung eines 3D-Zerlegungspfades soll
bei der zugeordneten Z-Kante im Zerlegungsgraphen einer Orientierung entsprechen (vergl. Abb. 6.3 (i) b) + (ii) b)). Das erscheint sinnvoll, da es für
die Orientierung einer Kante und für die Wahl der Zerlegungsrichtung eines
6.2. ZERLEGUNGEN UND ZERLEGUNGSGRAPHEN
207
3D-Zerlegungspfades jeweils genau zwei Möglichkeiten gibt.
Bei 3D-Zerlegungspfaden der Länge 0 grenzen 2-3-Elemente und/oder SPrismen jeweils mit einem Viereck aneinander. Da die Zerlegungen auch
hier konform durchgeführt werden müssen, entstehen gleiche Zerlegungsrichtungsmöglichkeiten wie bei Zerlegungspfaden einer Länge größer 0: Die Elemente grenzen an genau einem Viereck aneinander. Dieses kann auf zwei
Weisen in zwei Dreiecke zerlegt werden. Die Orientierung der Z-Kante, die
einem 3D-Zerlegungspfad der Länge null zugeordnet ist, erfolgt demnach analog.
Die Zerlegung der 2-3-Elemente kann auf zwei verschiedene Weisen stattfinden (vergl. Abb. 6.4) (vergl. auch Abschnitt 4.1.4 S. 55).
Abbildung 6.4: Möglichkeiten der Zerlegung von 2-3-Elementen
Die Zerlegung von S-Prismen wird durch die Zerlegung der zugehörigen Vierecksoberflächen bestimmt. Dabei ist eine Zerlegung eines S-Prismas
nicht auf alle Weisen bezüglich der Zerlegung ihrer Viereckoberflächen möglich
(vergl. Satz 6.1), sondern nur auf die in Abb. 6.5 dargestellten zwei verschiedenen Arten.
Die anderen beiden Möglichkeiten (vergl. Abb. 6.6 (i) a) + (ii) a)) entsprechen fast einem Schönhardt-Polyeder (bzw. seiner gegenorientierten Version) (vergl. Abb. 6.6 (i) b) + (ii) b)), von dem Schönhardt 1928 in [Schö28]
gezeigt hat, das es nicht in Tetraeder zerlegbar ist (vergl. Abb. 6.6).
Daß die durch die Oberflächenzerlegungen der in Abb. 6.6 (i) a) + (ii) a)
dargestellten S-Prismen entstandenen Polyeder ebenfalls nicht tetraedisierbar
sind, zeigt der folgende Satz:
Satz 6.1. Die durch die Oberflächenzerlegungen der in Abb. 6.6 (i) a) + (ii)
a) dargestellten S-Prismen entstandenen Polyeder sind nicht tetraedisierbar.
208
KAPITEL 6. ZERLEGUNGSGRAPHEN
Abbildung 6.5: Möglichkeiten der Zerlegung von S-Prismen
Beweis. Die Beweis erfolgt œ für das S-Prisma aus Abb. 6.6 (i) a).
Das durch die Oberflächenzerlegung enstandene Polyeder P kann durch Drehen der oberen Dreiecksoberfläche im Uhrzeigersinn um seine Achse in ein
Schönhardt-Polyeder überführt werden (vergl. Abb. 6.6 (i)). Wie Schönhardt
zeigt, muß für eine Tetraedisierung seines Polyeders wenigstens eine neue
Kante eingesetzt werden: Dies gilt, weil bei der Drehung von P um 60◦ im
Gegenuhrzeigersinn ein Oktaeder ensteht. Da lediglich der Zusammenhang
der Kanten des Polyeders entscheidend ist, muß auch in P wenigstens eine
neue Kante eingesetzt werden. Wenn kein neuer Knoten eingesetzt werden
soll (sonst Verletzung der Vertikalbedingung), bleiben dafür aber lediglich
die Diagonalen der Vierecke, zwischen denen noch keine Kanten existieren
(vergl. auch [Schö28]). Da die Vierecke jeweils in einer Ebene liegen, müßte
ein Vierecke zweifach zerlegt werden, was nicht erlaubt ist.
Satz 6.1 muß für die gesamte Zerlegung beachtet werden und kann ein
Hindernis darstellen!
Definition 75. Eine Zerlegung der einem Zerlegungsgraphen zugeordneten Elemente heißt zulässig, wenn alle Elemente eines 3D-Zerlegungspfades
in zwei Prismen zerlegt werden, die S-Prismen wie in Abb. 6.5 und die 23-Elemente wie in Abb. 6.4 und die zerlegten Elemente zusätzlich konform
zueinander sind.
Ein Z-Knoten vom Grad drei in einem Zerlegungsgraphen kann eineindeutig einem S-Prisma im zugehörigen 3D-Netz zugeordnet werden. Die
zulässigen Zerlegungen der S-Prismen können durch die Orientierungen der
Z-Kanten, die inzident zu dem Z-Knoten sind, der dem S-Prisma zugeordnet
ist, dargestellt werden. Unter Beachtung der Umsetzung in Abb. 6.3 kann
Abb. 6.7 (i) der Zerlegung aus Abb. 6.5 (i) und Abb. 6.7 (ii) kann der Zerlegung aus Abb. 6.5 (ii) zugeordnet werden.
6.2. ZERLEGUNGEN UND ZERLEGUNGSGRAPHEN
a)
b)
a)
b)
209
(i)
(ii)
Abbildung 6.6: (i) a) + (ii) a) nicht tetraedisierbare S-Prismen (i) b) nicht
tetraedisierbares Schönhardt-Polyeder (ii) b) gegenorientierte Version des
Schönhardt-Polyeder
In Abb. 6.7 (i) zeigt ein Pfeil auf den Z-Knoten und zwei zeigen davon
weg. Diese Situation wird deswegen Aufspaltung genannt. In Abb. 6.7 (ii)
zeigen zwei Pfeile auf den Z-Knoten und einer davon weg. Diese Situation
wird deswegen Vereinigung genannt.
Definition 76. Eine Orientierung eines Zerlegungsgraphen heißt zulässig,
wenn alle Z-Kanten so orientiert sind, daß sie ausschließlich wie in Abb. 6.7
auf die Z-Knoten vom Grad drei auftreffen.
Definition 77. Ein Z-Knoten eines orientierten Zerlegungsgraphen heißt
zulässig orientiert, wenn er vom Grad eins ist oder seine inzidenten ZKanten so orientiert sind, daß sie ausschließlich wie in Abb. 6.7 auf den
Z-Knoten auftreffen.
Bemerkung 6.1. Wegen der vorangegangenen Überlegungen und den Definitionen 75 und 76 ist die Zerlegung der eines Zerlegungsgraphen zugeordneten
Elemente genau dann zulässig, wenn die Orientierung des Zerlegungsgraphen
zulässig ist.
Aufgabe ist es, eine zulässige Zerlegung der zu zerlegenden Elemente in
einem 3D-Netz zu ermitteln, wobei die Qualität der gesamten Zerlegung zu
optimieren ist. Wegen Bemerkung 6.1 genügt es, eine zulässige und optimale
Orientierung im zugehörigen Zerlegungsgraphen zu ermitteln, wobei das Maß
der Qualität der zerlegten 3D-Elemente entsprechend auf die orientierten
210
KAPITEL 6. ZERLEGUNGSGRAPHEN
(i)
a)
b)
(ii)
a)
b)
Abbildung 6.7: Zuordnungen für die Zerlegungen von S-Prismen im Zerlegungsgraphen
Zerlegungspfade übertragen werden muß. Die Bewertung der Orientierung
einer Z-Kante eines Zerlegungsgraphen soll also aus der Qualität der zerlegten
Elemente des zugeordneten 3D-Zerlegungspfades resultieren:
Je nach Richtung der Zerlegung wird dem Zerlegungspfad eine Bewertung gegeben, die in Abhängigkeit der Abweichungen zu den Optimalwinkeln
(im Sinne von Def. 23+24 Seite 29, hier auf Oberflächenelemente angewendet) bestimmt wird. Dazu werden sowohl die zerlegten Hexaeder des 3DZerlegungspfades als auch die zerlegten S-Prismen und 2-3-Elemente berücksichtigt. Da die Zerlegungen dieser Elemente durch die Zerlegungen ihrer
Oberflächen eindeutig bestimmt sind, genügt es, die Abweichungen zu den
Optimalwinkeln bezüglich der Oberflächen in die Bewertungen zu integrieren. Es ist zu beachten, daß bei der Zerlegung eines 3D-Zerlegungspfades
von den an ihn angrenzenden S-Prismen zunächst nur eine Oberflächenseite
zerlegt wird. Dies reicht jedoch für die Bewertung aus, da die Zerlegung
der anderen Oberflächenvierecke in Abhängigkeit der Zerlegung der anderen
benachbarten 3D-Zerlegungspfade geschieht und dort in deren Bewertung
integriert wird.
Die Bewertungen sind œ ≥ 0, wobei sie einen Wert der Abweichung zu
den Optimalwinkeln angeben, auf dessen Berechnung hier nicht näher eingegangen werden soll. Bestehen keine Abweichungen zu den Optimalwinkeln,
ist die Bewertung null. Je größer die Abweichungen sind, desto größer ist die
Bewertung.
Die Bewertung für die Orientierung der 3D-Zerlegungspfade wird
jetzt auf die Zerlegungsgraphen übertragen. Das bedeutet für den zugeord-
6.2. ZERLEGUNGEN UND ZERLEGUNGSGRAPHEN
211
neten Zerlegungsgraphen, daß einer Z-Kante in Abhängigkeit ihrer Orientierung die Bewertungen der entsprechenden Zerlegungen des zugeordneten
3D-Zerlegungspfades zugeordnet wird.
Definition 78. Die (Gesamt-)bewertung eines orientierten Zerlegungsgraphen ist die Summe aller Bewertungen aller Z-Kanten für die gewählte
Orientierung.
Die Aufgabe liegt somit in dem Optimierungsproblem, eine zulässige,
(bezüglich der Gesamtbewertung) minimale Orientierung eines Zerlegungsgraphen zu ermitteln! Es wird deswegen im folgenden Minzuproblem genannt.
Ohne Einhaltung der geforderten Zulässigkeit der Orientierung könnte
das Optimierungsproblem trivial durch lokale Optimierung der Z-Kanten
gelöst werden.
Die Behandlung oder Lösung eines solchen Problems ist aus der Literatur
nicht bekannt! Einige Flußprobleme der Graphentheorie wie z.B. das MaxFlow-Problem oder das Minimum-Cost-Flow-Problem [Chri75] erinnern an
die Problemstellung des Minzuproblems. Die Nebenbedingung und Aufgabenstellung des Minzuproblems, insbesondere die Erzeugung einer zulässigen Orientierung im Sinne von Def. 76 werden jedoch dabei nicht berücksichtigt.
In Abb. 6.14 (i) (s. S.226 ) ist die Zusammenhangskomponente Z12 (vergl.
Abb. 6.2) mit anderer Benennung der Z-Knoten dargestellt, die aus dem in
Abb. 6.1 dargestellten P-Netz ermittelt wurde (vergl. letztes Unterkapitel).
Dabei sind den Z-Kanten für jeweils unterschiedliche Orientierungen unterschiedliche (fiktive) Bewertungen zugeordnet.
Für die Bewertung sind hier œ (fiktive) Integer-Werte angenommen worden. Der Wert auf einer Seite der Z-Kante gibt die Bewertung an, die die
Z-Kante bei einer Orientierung, bei der die Beschriftung rechts von dem entstandenen Pfeil liegt, erhält. In Abb. 6.14 (ii) ist eine Bewertung des Graphen
dargestellt, die durch jeweilige Subtraktion der Bewertungen für die beiden
Orientierungen (Bewertung der Orientierung - Bewertung der Gegenorientierung) entsteht.
Definition 79. Der Differenz(zerlegungs)graph eines Zerlegungsgraphen
ist ein Graph, dessen Knoten- und Kantenmenge der Knoten- und Kantenmenge des Zerlegungsgraphen entspricht. Bei einer Orientierung erhalten
seine Kanten in Abhängigkeit ihrer Orientierung jeweils eine Bewertung, die
aus den Bewertungen des zugehörigen Zerlegungsgraphen durch Subtraktion
im oben beschriebenen Sinne entsteht.
212
KAPITEL 6. ZERLEGUNGSGRAPHEN
Definition 80. Eine Orientierung in einem Differenzgraphen heißt genau dann zulässig, wenn diese Orientierung im zugehörigen Zerlegungsgraphen zulässig ist.
Definition 81. Ein Z-Knoten in einem orientierten Differenzgraphen
heißt zulässig orientiert genau dann, wenn er im zugehörigen Zerlegungsgraphen ebenfalls zulässig orientiert ist.
Lemma 6.1. Ein Zerlegungsgraph ist genau dann optimal (minimal) orientiert, wenn auch sein Differenzgraph optimal orientiert ist.
Beweis. Die Differenz zwischen zwei gegensätzlichen Orientierungen an einer
Z-Kante ist beim Differenzgraphen genau doppelt so groß wie beim Zerlegungsgraphen.
Wegen Lemma 6.1 kann das Minzuproblem für einen Zerlegungsgraphen
auch auf dem zugehörigen Differenzgraphen gelöst werden.
Der Differenzgraph hat den Vorteil, daß bereits anhand des Vorzeichens der Bewertung einer Orientierung eine für diese Z-Kante optimale
Orientierung erkennbar ist. Eine Orientierung ist immer dann lokal optimal,
wenn ihre Bewertung negativ oder null ist.
Das Hauptproblem des Minzuproblems liegt in der Einhaltung der geforderten Orientierung an den Z-Knoten. Das nächste Unterkapitel stellt ein
effiziente Lösung des Minzuproblems vor.
6.3
Lösung des Minzuproblems
Aus Übersichtsgründen werden im folgenden Z-Knoten und Z-Kanten von
Zerlegungs- und Differenzgraphen als Knoten und Kanten bezeichnet.
Die Lösung des Minzuproblems geschieht aufgrund der oben erwähnten
Vorteile mittels Differenzgraphen. Um eine Idee zur Lösung des Minzuproblems zu finden, wird ein zulässig orientierter Differenzgraph genauer analysiert. Dazu werden einige Begriffe eingeführt.
Definition 82. Ein Weg W in einem orientierten Differenzgraphen ist ein
kantenüberschneidungsfreier Kantenzug mit gleich orientierten Kanten, der
an einem Knoten vom Grad eins oder an einem Knoten, der inzident zu einem einlaufenden und einem auslaufenden Pfeil ist, beginnt und an einem
solchen Knoten endet (In Abb. 6.8 bildet k1 k2 k3 einen Weg).
Die Knoten, an denen W beginnt und endet, heißen Startknoten (zu W)
(In Abb. 6.8 sind A und B Startknoten zu k1 k2 k3 ).
Die zu W gehörenden Kanten, die inzident zu seinen Startknoten sind, heißen
6.3. LÖSUNG DES MINZUPROBLEMS
213
Startkanten (zu W).(In Abb. 6.8 sind k1 und k3 Startkanten zu k1 k2 k3 ).
Nach ihrer Definition sind Startknoten zulässig orientiert.
Definition 83. Ein nicht-erweiterbarer Weg in einem orientierten Differenzgraphen ist ein Weg, der durch keine weitere Kante zu einem größeren Weg erweitert werden kann (In Abb. 6.8 bildet k4 k1 k2 k3 einen nichterweiterbaren Weg).
k4
A
k1
k2
k3
B
Weg
Abbildung 6.8: Weg
Der Begriff des Weges verhilft zu einer neuen Betrachtungsweise eines orientierten Differenzgraphen. Es kann gezeigt werden, daß ein Differenzgraph
genau dann zulässig orientiert ist, wenn er in disjunkte Wege zerlegt werden
kann. Dieser Nachweis geschieht im folgenden Abschnitt 6.3.1. Das Konzept
der Wege kann schließlich sogar zur Lösung des Minzuproblems verwendet
werden, wofür in Abschnitt 6.3.3 ein effizienter Algorithmus vorgestellt wird.
Im darauffolgenden Abschnitt 6.3.4 wird die Laufzeit dieses Algorithmus diskutiert. Vorher (in Abschnitt 6.3.2) wird noch eine Äquivalenzeigenschaft
der Orientierung von Wegen eines Differenzgraphen und einer zulässig, optimalen Orientierung des Differenzgraphen gezeigt. Sie ist Grundlage für den
Algorithmus aus Abschnitt 6.3.3.
6.3.1
Eine Äquivalenzeigenschaft eines zulässig orientierten Differenzgraphen
über nicht-erweiterbare Wege in zulässig orientierten Graphen kann folgendes
ausgesagt werden:
Lemma 6.2. Ein nicht-erweiterbarer Weg W in einem zulässig orientierten
Graphen G beginnt und endet an einem Knoten vom Grad eins.
Beweis. Ann.: W beginnt an einem Knoten K vom Grad drei und mit einer
Startkante k1 und die beiden weiteren zu K inzidenten Kanten k2 und k3
214
KAPITEL 6. ZERLEGUNGSGRAPHEN
gehören nicht zu W. Œ sei k1 von K ausgehender Pfeil. Wenn W nichterweiterbar ist, darf K keinen einlaufenden Pfeil besitzen, also k2 und k3
müssen ebenfalls ausgehende Pfeile sein. Widerspruch zur Voraussetzung,
daß G zulässig orientierter Differenzgraph ist.
Um die Äquivalenz zwischen einem zulässig orientierten Differenzgraphen
G und der Möglichkeit, den Differenzgraphen G in disjunkte Wege zu zerlegen, zu zeigen (vergl. Satz 6.2 Seite 216), wird zuerst ein Verfahren vorgestellt, daß einen zulässig orientierten Differenzgraphen G in disjunkte Wege
zerlegt (vergl. dazu auch Abb. 6.9).
Die Idee des Verfahrens liegt darin, sukzessiv nicht-erweiterbare Wege zu
finden: Nach dem Auffinden eines nicht-erweiterbaren Weges wird jeweils
in dem Teilgraph, der durch Wegnahme dieses Weges entsteht, ein nichterweiterbarer Weg gesucht. Auf diese Weise kann G schließlich komplett
in disjunkte Wege zerlegt werden. In Abb. 6.9 wird dies für eine zulässige
Orientierung der Komponente K12 aus Abb. 6.14 verdeutlicht.
P3
P1
P2
P6
P8 P7
P5
P
P9 10
P3
P6
P8 P7
P3
P2
P5
P
P9 10
P6
P8 P7
P9
P10
P4
(i)
(ii)
(iii)
P3
P8
P6
P7
(iv)
P8
P7
(v)
Abbildung 6.9: Zerlegung der Komponente K12 in disjunkte Wege
Algorithmus 6.2 skizziert das Verfahren.
Zur Korrektheit des Vorgehens wird gezeigt.
6.3. LÖSUNG DES MINZUPROBLEMS
215
Algorithmus 6.2 (Graphzerlegung).
1. PROCEDURE
2. BEGIN
3.
aktueller Graph G:= zulässig
orientierter Differenzgraph;
4.
Menge der Wege M:={};
5.
while (G 6= leer)
6.
ermittle nicht-erweiterbaren Weg W in G;
7.
einfüge W in M;
8.
G:=G-W;
9. END
Lemma 6.3. Wird aus einem zulässig orientierten Differenzgraphen G ein
nicht-erweiterbarer Weg W entfernt, so verbleibt ein zulässig orientierter
nicht notwendigerweise zusammenhängender Teilgraph T, dessen Knoten ausschließlich vom Grad eins oder drei sind.
Beweis. Zur zweiten Behauptung: Die Knoten sind vom Grad eins oder drei:
Es werden die Knoten betrachtet, deren Grad sich durch die Wegnahme von
W ändern. Bei Knoten vom Grad eins in G kann durch die Wegnahme von
W nur eine Kante wegfallen, womit auch der Knoten wegfällt. Bei Knoten
vom Grad drei kann durch die Wegnahme von W nicht genau eine Kante
wegfallen, da dann W an diesem Knoten enden würde, was ein Widerspruch
zu Lemma 6.2 wäre. Es fallen entweder genau zwei Kanten weg: In diesem
Fall bleibt ein Knoten vom Grad eins übrig. Oder es fallen alle drei Kanten
weg: In diesem Fall fällt auch der Knoten weg.
Zur ersten Behauptung: T ist zulässig orientiert: Knoten vom Grad drei in
T waren bereits Knoten vom Grad drei in G. Da keine Umorientierung von
Kanten stattfindet, ist die Orientierung in T nach Voraussetzung zulässig.
Lemma 6.3 sagt aus, daß der Teilgraph die gleichen Eigenschaften hat
wie ein Differenzgraph und deswegen wie ein solcher behandelt werden kann.
Damit kann das Verfahren zur Ermittlung eines nicht-erweiterbaren Weges
sukzessiv angewendet werden kann.
216
KAPITEL 6. ZERLEGUNGSGRAPHEN
Der folgende Satz zeigt, daß durch das Verfahren G in disjunkte Wege
zerlegt wird, also daß M in Algorithmus 6.2 ausschließlich (kanten-)disjunkte
Wege enthält, die zusammengesetzt G bilden.
Satz 6.2. Die Wege in M sind (kanten-)disjunkte Wege des ursprünglichen
Differenzgraphen G und bilden zusammengesetzt G.
Beweis. Zur ersten Behauptung: Die Wege in M sind (kanten-)disjunkte
Wege von G: Aufgrund des Verfahrens der Wegnahme der jeweils gefundenen
Wege ist es klar, daß die Wege aus M kantendisjunkt sind. Es wird noch
gezeigt, daß jeder Weg V aus M auch Weg in G ist. Dazu genügt es zu
zeigen, daß ein Weg V eines Teilgraphen T, der aus einem Graphen H durch
Wegnahme eines Weges W entstanden ist, auch Weg in H ist: Die Kanten von
W sind in T und H gleich orientiert; ist W in T kantenüberschneidungsfrei,
so ist er es auch in H; ist ein Startknoten von W in T vom Grad drei, so ist er
es auch in H mit gleicher Orientierung aller Knoten in H; ist ein Startknoten
von W in T vom Grad eins, so ist er in H entweder vom Grad eins oder von
Grad drei. Im letzten Fall müssen zwei zu den Startknoten inzidente Kanten
von H nach T entfernt worden sein, die zu einem Weg gehörten. Damit muß
eine Kante davon eingehend und eine ausgehend sein. Damit ist W ebenfalls
Weg in H.
Zur zweiten Behauptung: Die Wege aus M bilden zusammen G. Dies folgt
direkt daraus, daß solange Wege gesucht werden, bis der aktuell betrachtete
Graph leer ist.
Mit Hilfe des Lemmas 6.3 und des Satzes 6.2 und des Algorithmus 6.2
kann nun leicht die gewünschte Äquivalenz gezeigt werden.
Satz 6.3 (Satz über zulässige Orientierungen). Eine Orientierung eines
Differenzgraphen ist genau dann zulässig, wenn der Differenzgraph mit dieser
Orientierung aus disjunkten Wegen besteht.
Beweis. ⇒“: Folgt aus Lemma 6.3 und Satz 6.2 und aus Algorithmus 6.2.
”
⇐“: Jede Kante eines orientierten Graphen, der aus disjunkten Wegen be”
steht, gehört zu (wenigstens) einem Weg. Deswegen wird gezeigt: Wenn jede
Kante eines (orientierten) Differenzgraphen zu einem Weg gehört, ist der Differenzgraph zulässig orientiert.
Um die Zulässigkeit einer Orientierung eines Differenzgraphen zu zeigen,
genügt es zu zeigen, daß (*) Knoten vom Grad drei zu wenigstens einem
eingehenden und einem ausgehenden Pfeil inzident sind. Für einen Knoten,
der inzident zu einer (œ ausgehenden) Kante ist, die zu einem Weg gehört,
gilt entweder:
(i) Der Weg läuft über diesen Knoten. Dann ist der Knoten inzident zu einer
6.3. LÖSUNG DES MINZUPROBLEMS
217
weiteren eingehenden Kante des Weges.
oder:
(ii) Der Weg beginnt oder endet an diesem Knoten. D.h. dieser Knoten ist
Startknoten und ist deswegen (falls vom Grad drei) inzident zu einer eingehenden und einer ausgehenden Kante.
Da wie bereits erwähnt alle Kanten zu einem Weg gehören, ist (*) damit
gezeigt.
6.3.2
Eine Äquivalenzeigenschaft eines zulässig optimal orientierten Differenzgraphen
Die Äquivalenz in Satz 6.3 soll nun dazu verhelfen, eine zulässig minimale
Orientierung in einem Differenzgraphen mittels Eigenschaften der disjunkten
Wege zu ermitteln. Deswegen werden im folgenden Wege genauer betrachtet.
Es werden folgende Definitionen eingeführt:
Definition 84. Eine positive (Z-)Kante eines orientierten Differenzgraphen ist eine Kante, die so orientiert wurde, daß ihre Bewertung positiv ist.
Eine negative (Z-)Kante eines orientierten Differenzgraphen ist eine Kante, die so orientiert wurde, daß ihre Bewertung negativ ist.
Definition 85. Eine Schleife in einem orientierten Differenzgraphen ist
ein in einer Richtung orientierter, geschlossener, kantenüberschneidungsfreier Kantenzug, dessen Knoten zulässig orientiert sind. (vergl. Abb. 6.10).
Bemerkung 6.2. Eine Schleife kann nach Definition des Weges kein Weg
sein. Ein Weg kann eine Schleife enthalten.
(i)
(ii)
Abbildung 6.10: Schleifen
Definition 86. Die Bewertung eines Weges oder einer Schleife in
einem (orientierten) Differenzgraphen ist die Summe aller Bewertungen der
gewählten Orientierungen der Kanten des Weges bzw. der Schleife.
218
KAPITEL 6. ZERLEGUNGSGRAPHEN
Definition 87. Die Bewertung eines (orientierten) Differenzgraphen
ist die Summe aller Bewertungen der gewählten Orientierungen der Kanten
des Differenzgraphen.
Definition 88. Ein positiver Weg oder eine positive Schleife eines orientierten Differenzgraphen ist ein Weg bzw. eine Schleife, deren Bewertung
positiv ist.
Ein negativer Weg oder eine negative Schleife eines orientierten Differenzgraphen ist ein Weg bzw. eine Schleife, deren Bewertung negativ ist.
Definition 89. Das Umdrehen eines Weges in einem zulässig orientierten
Differenzgraphen bedeutet die Umorientierung aller Kanten des Weges.
Das Umdrehen einer Schleife in einem zulässig orientierten Differenzgraphen bedeutet die Umorientierung aller Kanten der Schleife.
Insbesondere die Definition der positiven Wege und Schleifen sowie das
Umdrehen von Wegen und Schleifen führt, wie im folgenden deutlich wird,
zu einer neuen Sicht der gesuchten, optimalen Orientierungen.
Für das Umdrehen von Wegen und Schleifen gilt:
Lemma 6.4. Das Umdrehen eines Weges in einem Differenzgraphen bei
zulässiger Orientierung führt zu einer neuen zulässigen Orientierung des Differenzgraphen.
Beweis. Dazu muß gezeigt werden, daß an allen Knoten, an denen Orientierungen geändert werden, weiterhin zulässige Orientierungen anliegen. An
den Knoten, die nicht Startknoten des umgedrehten Weges sind, liegt sowohl
vor dem Umdrehen als auch nach dem Umdrehen ein einlaufender Pfeil und
ein auslaufender Pfeil des Weges an. Damit sind diese Knoten zulässig. Ein
Startknoten des Weges ist entweder vom Grad eins oder er besitzt außerhalb
der Startkante zum Weg einen einlaufenden und einen auslaufenden Pfeil.
Entweder gehören sie beide zum Weg, dann werden sie beide mitumgedreht
oder sie gehören beide nicht zum Weg und werden nicht umgedreht. In beiden Fällen liegt nach dem Umdrehen ein einlaufender und ein auslaufender
Pfeil vor.
Lemma 6.5. Das Umdrehen einer Schleife in einem Differenzgraphen mit
zulässiger Orientierung führt zu einer zulässigen Orientierung.
Beweis. Verläuft analog zum Beweis von Lemma 6.4.
Wegen Lemmata 6.4 und 6.5 führt das Umdrehen eines positiven Weges
oder einer positiven Schleife in einem Differenzgraphen mit zulässiger Orientierung zu einer zulässigen Orientierung mit geringerer Bewertung als die
6.3. LÖSUNG DES MINZUPROBLEMS
219
ursprüngliche. Werden also in einem Differenzgraphen sukzessiv positive
Wege/Schleifen umgedreht, so nimmt die Bewertung des Differenzgraphen
immer stärker ab.
Diese Überlegungen führen schließlich zu dem wichtigen Satz 6.4 auf Seite
225, der für zulässig orientierte Differenzgraphen die Äquivalenz von minimalen Orientierungen und der Nichtexistenz positiver Wege und Schleifen
widergibt. Wegen dieser Äquivalenz genügt es zur Lösung des Minzuproblems, eine zulässige Orientierung eines Differenzgraphen zu finden, so daß
keine positiven Wege und Schleifen existieren!
Im folgenden wird diese Äquivalenz diskutiert und letzlich bewiesen. Im
nächsten Abschnitt wird mit Hilfe dieser Äquivalenz ein effizientes Verfahren zur Ermittlung eines minimal und zulässig orientierten Differenzgraphen
(also zur Lösung des Minzuproblems) vorgestellt.
Eine Richtung der Äquivalenz ist leicht nachweisbar:
Lemma 6.6. Ein zulässig orientierter Differenzgraph mit minimaler Orientierung besitzt keinen positiven Weg und keine positive Schleife.
Beweis. Würde eine Differenzgraph mit einer zulässigen, minimalen Orientierung einen positiven Weg oder eine positive Schleife besitzen, so wäre die
Orientierung mit dem umgedrehten positiven Weg bzw. der positiven Schleife wegen Lemma 6.4 bzw. Lemma 6.5 zulässig und besäße durch das Umdrehen eine geringere Gesamtbewertung. Widerspruch zur Minimalität der
ursprünglichen Orientierung.
Es ist nun zu zeigen, daß auch die Umkehrung von Lemma 6.6 gilt, also daß jede zulässige Orientierung, die keine positiven Wege und Schleifen
besitzt, wirklich eine minimale Orientierung ist, also, daß es keine zulässige
Orientierung gibt, die eine kleinere Bewertung besitzt. Dies hat den Vorteil,
daß es zur Lösung des Minzuproblems genügt, eine zulässige Orientierung zu
finden, die keine positiven Wege und Schleifen enthält!
Wäre dies nicht der Fall und eine zulässige minimale Orientierung sollte
ausschließlich durch Umdrehen von Wegen aus einer zulässigen Orientierung
gefunden werden, so wäre es von dieser Orientierung aus ggfs. notwendig,
einen negativen Weg oder eine negative Schleife umzudrehen, um zu einer
minimalen Orientierung zu gelangen. Mit anderen Worten: Wird eine Orientierung als Zustand betrachtet, so wäre es möglich, durch das Umdrehen
nicht-negativer Wege/Schleifen in einen zwar lokal minimalen aber nicht global minimalen Zustand zu gelangen, der durch Umdrehen nicht-negativer
Wege/Schleifen nicht verlassen werden kann!
220
KAPITEL 6. ZERLEGUNGSGRAPHEN
Im folgenden wird gezeigt, daß ein global minimaler Zustand, also eine zulässig minimale Orientierung, aus einer beliebigen zulässigen (nicht
minimalen) Orientierung durch das alleinige Umdrehen nicht-negativer Wege/Schleifen erreicht werden kann! Nach den oben stehenden Überlegungen
genügt dies als Beweis der Rückrichtung der Äquivalenz aus Satz 6.4.
Dazu wird eine Methode vorgestellt, die aus einer beliebigen zulässigen
Orientierung eines Differenzgraphen durch ausschließliches Umdrehen von
nicht-negativen Wegen und Schleifen eine zulässige minimale Orientierung
erzeugt. Die Methode wird mit Hilfe eines Beispiels diskutiert.
P3
P2
P6
P8 P7
P5
P
P9 10
P4
(i)
P1
P3
P1
P2
P6
P8 P7
P5
P
P9 10
P4
(ii)
Abbildung 6.11: (i) Zulässige nicht minimale Orientierung für Komponente
K12 (ii) Zulässige minimale Orientierung für Komponente K12
Es sei die in 6.11 (i) dargestellte Orientierung A der Komponente K12 aus
Abb. 6.14 (kann hier œ als kompletter Differenzgraph betrachtet werden!)
eine beliebige zulässige, aber nicht minimale Orientierung und die in 6.11 (ii)
dargestellte eine zulässige und minimale Orientierung B. Der Differenzgraph
kann nach Algorithmus 6.2 in disjunkte Wege zerlegt werden (vergl. 6.12
(i)):
Jeder der Wege wird im Hinblick auf die Orientierung B so in Teilwege
zerlegt (vergl. 6.12 (ii)), daß die in Bezug auf B umzudrehenden Teilwege und
die nicht umzudrehenden Teilwege innerhalb eines Weges abwechseln. Ein
Teilweg kann auch eine Schleife sein oder eine Schleife enthalten. Ein Teilweg
ist nicht notwendigerweise ein Weg. Um von Orientierung A zu Orientierung
B zu gelangen, genügt es, die umzudrehenden Teilwege umzudrehen.
Im folgenden wird gezeigt, daß die umzudrehenden Teilwege so zusammengefaßt werden können, daß sie ausschließlich nicht-negative Wege und
Schleifen bilden. Das bedeutet schließlich, daß Orientierung B aus Orientierung A auschließlich durch Umdrehen nicht-negativer Wege und Schleifen
entstehen kann! Damit ist dann die Rückrichtung der Äquivalenz aus Satz
6.3. LÖSUNG DES MINZUPROBLEMS
(i)
221
(ii)
Abbildung 6.12: (i) Zerlegung in disjunkte Wege für Komponente K12 (vergl.
Abb. 6.9) (ii) Umzudrehende Teilwege sind fettmarkiert
6.4 gezeigt!
Für einen Knoten, der am Beginn bzw. am Ende eines umzudrehenden
Teilweges (d) liegt, bestehen folgende Möglichkeiten bzgl. seiner Nachbarschaften von umzudrehenden Teilwegen (d) und nicht umzudrehenden Teilwegen (n) (vergl. 6.13):
d
d
d
d
n
n
Fall 1
Fall 2
n
d
Fall 3
Fall 4
Abbildung 6.13: Möglichkeiten der Nachbarschaften eines Teilweges
Fall 1: Der Knoten ist vom Grad eins (vergl. 6.13 (i)).
Fall 2: Der Knoten ist inzident zu zwei dort beginnenden Teilwegen, die nicht
umgedreht werden (vergl. 6.13 (ii)).
Fall 3: Der Knoten ist inzident zu zwei dort beginnenden Teilwegen, von
denen einer umgedreht wird (vergl. 6.13 (iii)).
Fall 4: Der Knoten ist inzident zu einem Teilweg, der durch diesen Knoten
verläuft (vergl. 6.13 (iv)).
222
KAPITEL 6. ZERLEGUNGSGRAPHEN
Wegen der Konstruktion der Teilwege ist eine andere Nachbarschaft zwischen den Teilwegen nicht möglich. Insbesondere können keine drei umzudrehenden Teilwege aneinandergrenzen, da davon genau zwei in Orientierung A
zu einem Weg gehören würden und die Aufteilung in zwei benachbarte umzudrehende Teilwege innerhalb eines Weges im Widerspruch zur Konstruktion
der Teilwege stehen würde.
Die folgenden Lemmata zeigen, daß die umzudrehenden Teilwege (in Orientierung A) entweder Wege und Schleifen darstellen oder zu Wegen und
Schleifen zusammengefaßt werden können.
Lemma 6.7. Ein umzudrehender Teilweg im oben beschriebenen Sinne, der
an Knoten vom Fall 1, 2 oder 4 beginnt und endet, stellt einen Weg dar.
Beweis. Es genügt zu zeigen, daß die beiden Knoten, auf denen ein zu drehender Teilweg beginnt und endet, Startknoten sind. Im Fall 1 und 4 sind
die Knoten, an denen der Teilweg beginnt, offensichtlich Startknoten. Im
Fall 2 zeigt einer der beiden nicht umzudrehenden Teilwege auf den Knoten
und der andere vom Knoten weg, da sonst entweder bei Orientierung A oder
bei Orientierung B eine nicht zulässige Orientierung am betrachteten Knoten vorliegen würde. Damit liegt auch in diesem Fall ein Startknoten vor.
Der Teilweg beginnt und endet an einem Startknoten und ist deswegen ein
Weg.
Lemma 6.8. Ein umzudrehender Teilweg, der an einem Koten vom Fall 3
beginnt oder endet, besitzt die gleiche Orientierung wie ein umzudrehender
Teilweg, zu dem er an diesem Knoten inzident ist.
Beweis. Da genau zwei Teilwege umgedreht werden, müssen sie die gleiche
Orientierung besitzen, da sonst entweder in Orientierung A oder in Orientierung B eine nicht zulässige Orientierung am betrachteten Knoten vorliegen
würde.
Definition 90. Eine Folge von umzudrehenden Teilwegen ist eine
Menge von umzudrehenden Teilwegen, die zusammen einen kantenüberschneidungsfreien Kantenzug bilden.
Da für den Beginn und das Ende von umzudrehenden Teilwegen ausschließlich die Fälle 1-4 auftreten können, können zwei umzudrehende
Teilwege nur an einem Knoten vom Fall 3 mit ihren Startknoten inzident
sein. Insbesondere bedeutet dies, daß an einem Knoten immer nur zwei
(und nicht mehr) umzudrehende Teilwege mit ihren Startknoten inzident
sein können!
6.3. LÖSUNG DES MINZUPROBLEMS
223
Es werden jetzt Folgen von umzudrehenden Teilwegen nach den Knoten
des jeweils ersten und letzten Teilwegs nach ihrem Fall unterschieden. Dies
führt zu den Begriffen der Wegfolge und der Schleifenfolge:
Definition 91. Eine Wegfolge von umzudrehenden Teilwegen ist eine
Folge von umzudrehenden Teilwegen, deren erster Teilweg an einem Knoten
vom Fall 1, 2 oder 4 beginnt und deren letzter Teilweg an einem Knoten
vom Fall 1, 2 oder 4 endet. Jeder umzudrehende Teilweg, der zu einem
umzudrehenden Teilweg der Wegfolge an einem Knoten vom Fall 3 inzident
ist, gehört ebenfalls zur Wegfolge.
Bemerkung 6.3. Eine Wegfolge kann auch aus genau einem Teilweg bestehen.
Lemma 6.9. Eine Wegfolge von umzudrehenden Teilwegen in einem zulässig
orientierten Differenzgraphen ist ein Weg.
Beweis. Nach Voraussetzung sind alle Knoten der Wegfolge zulässig orientiert. Wegen Lemma 6.8 besitzen alle umzudrehenden Teilwege der Wegfolge
die gleiche Orientierung. Da der Knoten am Beginn des ersten Teilweges vom
Fall 1, 2 oder 4 ist (sonst wäre es nicht der erste Teilweg), ist er Startknoten.
Das gleiche gilt für den Knoten am Ende des letzten Teilweges. Die Teilwege der Wegfolge sind nach Konstruktion kantendisjunkt und bilden nach
Definition der Folge einen Kantenzug. Damit ist die Wegfolge ein Weg.
Definition 92. Eine Schleifenfolge von umzudrehenden Teilwegen ist
eine Folge von umzudrehenden Teilwegen, deren Knoten am Beginn und am
Ende jedes Teilweges vom Fall 3 sind und jeder zu einem umzudrehenden
Teilweg inzidente umzudrehende Teilweg ebenfalls in der Schleifenfolge enthalten ist.
Bemerkung 6.4. Eine Schleifenfolge kann auch aus genau einer Schleife
bestehen.
Lemma 6.10. Eine Schleifenfolge von umzudrehenden Teilwegen ist eine
Schleife.
Beweis. Nach Voraussetzung sind alle Knoten der Schleifenfolge zulässig orientiert. Wegen Lemma 6.8 besitzen alle umzudrehenden Teilwege der Schleifenfolge die gleiche Orientierung. Laut Definition beginnt und endet jeder
Teilweg an einem Knoten vom Fall 3 und jeder zu einem Teilweg inzidente
Teilweg ist ebenfalls in der Schleifenfolge enthalten, d.h. die Schleifenfolge
ist geschlossen. Die Teilwege der Schleifenfolge sind nach Konstruktion kantendisjunkt und bilden nach Definition der Folge einen Kantenzug. Damit
bildet die Schleifenfolge eine Schleife.
224
KAPITEL 6. ZERLEGUNGSGRAPHEN
Mit Hilfe der Begriffe Wegfolge und Schleifenfolge können alle umzudrehenden Teilwege eingeordnet werden:
Lemma 6.11. Ein umzudrehender Teilweg einer zulässigen Orientierung
gehört zu genau einer Wegfolge oder einer Schleifenfolge.
Beweis. Gilt nach Definitionen 91 und 92 der Weg- und Schleifenfolge.
Aus Lemma 6.11 kann wegen der Konstruktion der Teilwege gefolgert
werden:
Folgerung 6.2. Alle Weg- und Schleifenfolgen einer zulässigen Orientierung
sind paarweise kantendisjunkt.
Damit ist gezeigt, daß Orientierung A sich von Orientierung B ausschließlich durch umzudrehende kantendisjunkte Wege und Schleifen unterscheidet.
Es gilt:
Lemma 6.12. Die auf die oben beschriebene Methode erzielten umzudrehenden Wege (Wegfolgen) und Schleifen (Schleifenfolgen) in einem Graphen mit
Orientierung A sind nicht negativ, wenigstens eine(r) davon ist positiv.
Beweis. Da die umzudrehenden Wege und Schleifen paarweise kantendisjunkt sind, stellen sie in Orientierung B ebenfalls Wege und Schleifen dar,
denn ihre Startknoten sind auch in Orientierung B Startknoten. Da Orientierung B minimal ist, darf der Graph bei dieser Orientierung wegen Lemma
6.6 keine positiven Wege und Schleifen enthalten. Damit dürfen die Wege
und Schleifen in Orientierung A nicht negativ sein. Da Orientierung A nicht
minimal ist, muß wenigstens ein Weg oder eine Schleife positiv sein.
Mit Hilfe von Lemma 6.12 läßt sich nun die Umkehrung zu Lemma 6.6
zeigen.
Lemma 6.13. Eine zulässige Orientierung C (eines Differenzgraphen) mit
ausschließlich nicht-positiven Wegen und Schleifen, ist (global) minimal.
Beweis. Annahme: Es existiert ein Differenzgraph G mit einer zulässigen,
nicht-minimaler Orientierung C und ausschließlich nicht-positiven Wegen und
Schleifen. Dann kann eine zulässige, minimale Orientierung B von G durch
Umdrehen von Schleifen und Wegen erreicht werden. Die Wege und Schleifen
können wie oben beschrieben als Wegfolgen und Schleifenfolgen ermittelt
werden. Wegen Lemma 6.12 ist dann wenigstens eine Schleife oder ein Weg
positiv. Widerspruch.
6.3. LÖSUNG DES MINZUPROBLEMS
225
Lemma 6.13 vervollständigt die Überlegungen zur zu zeigenden Äquivalenz:
Satz 6.4 (Satz über minimale, zulässige Orientierungen). Eine zulässige Orientierung in einem Differenzgraphen ist genau dann minimal, wenn sie
keine positiven Wege und Schleifen enthält.
Damit ist gezeigt, daß es bezüglich des Umdrehens nicht negativer Wege und Schleifen keine lokal, nicht global minimalen Zustände bezüglich der
zulässigen Orientierungen in einem Differenzgraphen gibt!
Die Äquivalenz verhilft nun zu einem effizienten Algorithmus zur Ermittlung einer zulässig minimalen Orientierung für einen Differenzgraphen.
6.3.3
Ein effizientes Verfahren zur Ermittlung einer
zulässigen minimalen Orientierung für Differenzgraphen
Ein naheliegendes Verfahren zur Ermittlung einer zulässigen, minimalen Orientierung in einem Differenzgraphen besteht somit darin, von einer zulässigen
Orientierung ausgehend solange positive Wege und Schleifen umzudrehen,
bis eine minimale, zulässige Orientierung erreicht wird. Da eine minimale,
zulässige Orientierung jedoch vorher nicht bekannt ist, stellt sich die Frage,
welche positiven Wege und Schleifen am besten umgedreht werden, damit
einzelne Kanten nicht zu häufig umgedreht werden müssen. Es ist bei diesem Verfahren z.B. durchaus möglich, daß eine bereits gedrehte Kante in
einer neuen Orientierung wiederum in einem positiven Weg liegt, der umgedreht wird. Da es insgesamt exponentiell viele zulässige Orientierungen gibt,
müßte ein solches Verfahren gewährleisten, daß auch im worst case“ nicht
”
alle Orientierungen, sondern nur polynomial viele erzeugt werden.
Im Rahmen dieser Dissertation wurde ein anderer Ansatz verfolgt und
daraus ein effizientes Verfahren entwickelt, das im folgenden von einem Beispiel begleitet vorgestellt wird. Statt von einer zulässigen Orientierung auszugehen und eine minimal zulässige Orientierung zu ermitteln, wird von einer
minimal, nicht notwendigerweise zulässigen Orientierung ausgegangen und
daraus eine minimal zulässige Orientierung erzeugt.
Als Beispiel wird die Komponente K12 des in Unterkapitel 6.1 detektierten Zerlegungsgraphen (vergl. Abb. 6.2) für das Wurmbeispiel gewählt.
Obwohl dies nur eine Komponente ist, wird sie im folgenden wie ein kompletter Zerlegungsgraph behandelt. Das Verfahren kann leicht auf nichtzusammenhängende Zerlegungsgraphen übertragen werden.
226
KAPITEL 6. ZERLEGUNGSGRAPHEN
Der in Abb. 6.14 (ii) dargestellte Graph ist der Differenzgraph zur Komponente K12 (vergl. Abb. 6.2) mit anderer Knotenbezeichnung. Die möglichen
Bewertungen des Differenzgraphen sind fiktiv gewählt. Die Bewertung für
eine Orientierung einer Kante steht immer rechts des möglichen, zugehörigen
Pfeils. In Abb. 6.14 (i) sind die möglichen Bewertungen des Zerlegungsgraphen eingetragen.
Es wird also zunächst eine nicht notwendigerweise zulässige, aber minimale Orientierung erzeugt. Das bedeutet, daß jede Kante lokal (also ohne
Rücksicht auf die Zulässigkeit der Orientierung) minimal orientiert wird.
(Kanten mit Bewertung null für beide Orientierungen dürfen beliebig orientiert werden.) Ausgehend von dieser Orientierung werden dann bestimmte
Kantenzüge so umgedreht, daß schließlich eine minimale, zulässige Orientierung entsteht.
P1
P1
P3
6
3
P2
P3
4
6
7
(i)
P4
P2 -2
2
-1
-1
1
1
-2
P5
2 P6
-11
P8 2 P7
0
-3 -2
3 00 0 P10
P9
3 2
3 23
5 P6
P5
23
P8 3 P7
1
5 1
8 11 1 P10
P9
4
3
-3
3
-3
P4
(ii)
Abbildung 6.14: (i) (bewerteter) Zerlegungsgraph (Komponente K12 ) (ii)
(bewerteter) Differenzgraph (Komponente K12 )
In Abb. 6.15 (i) ist die lokale Optimierung für den Zerlegungsgraphen aus
Abb. 6.14 dargestellt. Hier gibt es zwei nicht zulässig orientierte Knoten (P2
und P3 ).
Existieren keine nicht zulässig orientierten Knoten, so ist die Orientierung
zulässig und zugleich minimal. In diesem Fall ist das Minzuproblem bereits
gelöst.
Für den anderen Fall wird das Vorgehen jetzt beschrieben. Dazu werden
zunächst die Begriffe Startknoten und Startkante erweitert.
6.3. LÖSUNG DES MINZUPROBLEMS
227
Definition 93. Ein zulässig orientierter Knoten K an einem gleichorientierten Kantenzug Z in einem orientierten Differenzgraphen heißt Startknoten
(zu Z), wenn Z an K beginnt oder endet.
Eine zu Z gehörende Kante, die inzident zu einem seiner Startknoten ist,
heißt Startkante (zu Z).
Es wird nun definiert:
Definition 94. Ein Halbweg in einem Differenzgraphen mit einer nicht
zulässigen Orientierung ist ein kantenüberschneidungsfreier gleich orientierter Kantenzug, der an einem nicht zulässig orientierten Knoten A beginnt
und an einem solchen oder an einem Startknoten B zu einer Startkante, die
zum Halbweg gehört, endet.
Bemerkung 6.5. Ein Halbweg kann keine Schleife sein, da eine Schleife
nach Definition an einem zulässig orientierten Knoten beginnen und enden
muß. Es gilt also A6=B.
Definition 95. Die Bewertung eines Weges/Halbweges oder einer Schleife
A wird mit kAk bezeichnet.
In Abb. 6.15 (i) bildet z.B. P3 P6 P7 einen Halbweg zum nicht zulässig orientierten Knoten P3 .
Das Umdrehen eines Halbweges geschieht analog zum Umdrehen eines
Weges.
Die Halbwege sind die oben bereits erwähnten Kantenzüge, von denen
zum Entstehen einer zulässigen, minimalen Orientierung einige umgedreht
werden sollen. Dazu wird zunächst gezeigt:
Lemma 6.14. Durch das Umdrehen eines Halbweges H ensteht kein neuer
nicht zulässig orientierter Knoten. Der eine bzw. die beiden nicht zulässig
orientierten Knoten am Beginn und Ende des Halbweges werden zu zulässig
orientierten Knoten.
Beweis. Es ist genau eine Kante aus H inzident zu A, da A sonst zulässig orientiert wäre. Da an A deswegen genau eine Kante umgedreht wird, wird aus
A ein zulässig orientierter Knoten. Ist B ebenfalls nicht zulässig orientierter
Knoten, gilt hier das gleiche. Ist B vom Grad eins, ist er vor und nach dem
Umdrehen zulässig. Ist B vom Grad drei und nicht gleichzeitig Knoten innerhalb des Halbweges, so wird durch das Umdrehen des Halbweges an B genau
eine Startkante umgedreht, also ein ein- und ein auslaufender Pfeil bleiben
auf jeden Fall erhalten und damit B zulässig orientiert. Für alle Knoten
228
KAPITEL 6. ZERLEGUNGSGRAPHEN
innerhalb des Halbweges (auch für B, falls B gleichzeitig innerhalb des Halbweges liegt) werden ein einlaufender und ein auslaufender Pfeil umgedreht,
so daß wiederum die Zulässigkeit der Orientierung erhalten bleibt.
Die Wahl der umzudrehenden Halbwege geschieht auf folgende Weise:
P1
P2
P3
-2
-3
-1
-1
P8
-3
-2
0
-3
-1
-1
P8
-3
P10
P4
(i)
-2
P5
P7
0
P2
P3
-1
P6
P9
-3
P1
-2
-2
0
1
1
P6
1
P
-2 7
-3 0
0
P9
-2
P5
P8
P10
P4
(ii)
-3
-2
P5
P7
0
P2
P3
1
P6
P9
-3
P1
-2
P10
P4
-3
(iii)
Abbildung 6.15: Lösung des Minzuproblems für den Differenzgraphen aus
Abb. 6.14
Es wird zu allen nicht zulässig orientierten Knoten ein Halbweg mit
größter Bewertung und darunter kürzester gesucht. Daraus wird wiederum ein Halbweg mit größter Bewertung und darunter kürzester gewählt. In
Abb. 6.15 (i) ist P3 P6 P7 ein Halbweg mit größter Bewertung zu P3 und P2 P5
ein Halbweg mit größter Bewertung zu P2 . Damit ist P2 P5 ein größter Halbweg. Ein solcher Halbweg wird nun umgedreht (vergl. Abb. 6.15 (ii)).
Das Umdrehen eines Halbweges reduziert wegen Lemma 6.14 die Anzahl
der nicht zulässig orientierten Knoten. Die Strategie wird deswegen so lange wiederholt, bis keine nicht zulässig orientierten Knoten mehr existieren.
Wegen Lemma 6.14 bedeutet dies, daß sie höchstens so oft wiederholt wird,
wie nicht zulässig orientierte Knoten in der ursprünglichen Orientierung des
Differenzgraphen existiert haben. In Abb. 6.15 (ii) ist P3 P6 P7 ein größter
Halbweg zum (einzigen) nicht zulässig orientierten Knoten P3 . Nach Umdrehen dieses Halbweges entsteht die zulässige Orientierung aus Abb. 6.15 (iii).
Für die algorithmische Darstellung des Verfahrens wird der Begriff eines
größten und kürzesten Halbweges noch genauer charakterisiert. Es ist
ein Halbweg mit größter Bewertung bezüglich aller Halbwege und darunter
ein kürzester bezüglich der Anzahl der Kanten.
6.3. LÖSUNG DES MINZUPROBLEMS
229
Es folgt die algorithmische Darstellung des Verfahrens in Algorithmus
6.3.
Algorithmus 6.3 (Minzulösung).
1. PROCEDURE
2. BEGIN
3.
Orientierung des Differenzgraphen ohne
Erzeugung von positiven Kanten;
4.
NZ := Menge aller nicht zulässig
orientierten Knoten;
5.
while (NZ6= {})
6.
ermittle einen größten und kürzesten
Halbweg H bezüglich der aktuellen
Orientierung des Differenzgraphen;
7.
drehe H;
8.
NZ:=NZ - nicht zulässig orientierte
Knoten, die zu H gehören;
9. END
Auf die Bestimmung eines größten und kürzesten Halbweges H bezüglich
der aktuellen Orientierung des Differenzgraphen (Zeile 6) wird in Abschnitt
6.3.4 genauer eingegangen.
Es soll jetzt noch die entscheidene Tatsache bewiesen werden, daß die
durch Algorithmus 6.3 erzielte zulässige Orientierung minimal ist. Wegen
Satz 6.4 genügt es dafür zu zeigen, daß eine solche Orientierung keine positiven Wege und Schleifen besitzt.
Dazu soll gezeigt werden, daß unter der Voraussetzung der Nicht-Existenz
von positiven Wegen, Halbwegen und Schleifen bei dem Umdrehen eines
Halbweges nach Algorithmus 6.3 keine positiven Wege und Schleifen entstehen. Da zu Beginn keine positiven Wege, Halbwege und Schleifen existieren,
stellt diese Eigenschaft dann eine Invariante dar, d.h. es existieren auch
230
KAPITEL 6. ZERLEGUNGSGRAPHEN
nach dem letzten Umdrehen keine positiven Wege und Schleifen. Wegen
Lemma 6.14 entsteht schließlich eine zulässige, minimale Orientierung.
Es wird zunächst gezeigt:
Lemma 6.15. Ein größter und kürzester Halbweg H=AB aus Algorithmus
6.3 enthält keinen Knoten, der zugleich Endknoten und Zwischenknoten von
H ist. Insbesondere enhält H keine Schleife.
Beweis. Ann.: H=AB enthält einen Knoten K, der zugleich Zwischen- und
Endknoten ist.
Der Kantenzug zwischen K und K ist eine Schleife, da er gleich orientiert,
geschlossen, kantenüberschneidungsfrei und seine Knoten zulässig orientiert
sind. Schleifen sind nach Voraussetzung nicht-positiv. Der Kantenzug AK
bis zum Knoten K bildet ebenfalls einen Halbweg, da K einen weiteren einlaufenden und auslaufenden Pfeil, nämlich die der Schleife, enthält. Damit ist
AK entweder größer als H oder gleich groß wie H, aber kürzer. Widerspruch
zur Wahl von H.
Der folgende Satz zeigt die gewünschte Invarianz.
Satz 6.5. Es sei V eine Orientierung ohne positiven Weg und Halbweg und
positive Schleife in einem Differenzgraphen und Hv ein größter und kürzester
Halbweg in V. Die Orientierung W wird durch Umdrehen von Hv zu H erreicht. Dann besitzt W ebenfalls keinen positiven Weg und Halbweg und keine
positive Schleife.
Beweis. Zunächst wird gezeigt, daß W keinen positiven Weg/Halbweg enthält.
Anschließend wird gezeigt, daß W keine positive Schleife enthält.
Wege/Halbwege:
Sei A der Knoten, an dem der Halbweg beginnt, und B der Knoten, an dem
er endet (vergl. Abb. 6.16). Œ zeigt H von A fort. Z1 6=A bis Zn 6=B seien
die Knoten zwischen A und B. Wegen Lemma 6.15 enthält H keine Schleife.
Um zu zeigen, daß durch das Umdrehen von Hv zu H kein positiver
Weg/Halbweg entsteht, müssen alle durch das Umdrehen neu entstandenen
oder veränderten Wege/Halbwege untersucht werden. Dazu gehören zum einem Wege/Halbwege, die H lediglich berühren (Fall 1), zum anderen solche,
die H (teilweise) enthalten (Fall 2).
Wege/Halbwege vom Fall 1 haben genau einen Knoten mit H gemeinsam,
das sie sonst vom Fall 2 sind oder zu einer Schleife, die H (teilweise) enthält,
gehören.
6.3. LÖSUNG DES MINZUPROBLEMS
231
A
Z1
Z2
B
Abbildung 6.16: Halbweg, der an A beginnt und an B endet
Fall 1 a): Wege/Halbwege, die A berühren:
Jeder Weg/Halbweg, der A berührt und nicht dort endet, enthält H (teilweise) (s. Fall 2), da die einzige auslaufende Kante an A in H liegt. Wege/Halbwege, die A berühren, dort enden und nicht H (teilweise) enthalten,
waren vorher Halbwege und dürfen deswegen nicht positiv sein.
Fall 1 b): Wege/Halbwege, die ein Zi berühren:
Wird Zi im Fall 1 berührt, muß ein Weg/Halbweg dort enden. Ein solcher
Weg/Halbweg in W war schon Weg/Halbweg in V mit gleicher Orientierung
und ist deswegen nicht positiv.
Fall 1 c): Wege/Halbwege, die B berühren:
Falls B in V nicht zulässig orientierter Knoten ist, sind alle von B in W ausgehenden Wege/Halbwege, die H nicht (teilweise) enthalten, bereits Halbwege
in V mit gleicher Orientierung und deswegen nicht positiv (vergl. Fall 1 a)
für Knoten A).
Falls B in V zulässig orientierter Knoten ist, besitzt ein Weg/Halbweg in
W, der durch den Knoten B verläuft und H nicht (teilweise) enthält, gleiche
Orientierung wie in V und ist deswegen nicht positiv.
Wenn B bereits zulässig orientierter Knoten in V ist, ist er inzident zu einer
Kante aus H bzw. Hv und zu einem einlaufenden und einem auslaufenden
Pfeil. Durch das Umdrehen von Hv wird die in B einlaufende nicht zu H
(Hv ) gehörende Kante Startkante zu Wegen/Halbwegen, die in B enden. Ein
Weg/Halbweg, der mit dieser Kante beginnt, darf jedoch nicht positiv sein,
da dies im Widerspruch zur Wahl eines Halbweges mit größter Bewertung in
V (Hv ) steht: Dieser Weg/Halbweg würde mit Hv einen Halbweg mit größe-
232
KAPITEL 6. ZERLEGUNGSGRAPHEN
rer Bewertung in V bilden als Hv .
Im Fall 2 werden alle Wege/Halbwege betrachtet, die H teilweise oder
ganz enthalten. Es wird unterteilt zwischen Wegen/Halbwegen, die einen
Kantenzug AZi (Fall AZi ), einen Kantenzug AB (Fall AB), einen Kantenzug Zi Zj (Fall Zi Zj ), einen Kantenzug Zi B (Fall Zi B) enthalten. Dies sind
alle Fälle.
Innerhalb dieser Fälle müssen Wege betrachtet werden, die vor dem ersten
Knoten des betrachteten Kantenzuges beginnen und hinter dem letzten Knoten des betrachteten Kantenzuges enden (Unterfall (i)), die vor dem ersten
Knoten des betrachteten Kantenzuges beginnen und auf dem letzten Knoten
des betrachteten Kantenzuges enden (Unterfall (ii)), die auf dem ersten Knoten des betrachteten Kantenzuges beginnen und hinter dem letzten Knoten
des betrachteten Kantenzuges enden (Unterfall (iii)) und die auf dem ersten
Knoten des betrachteten Kantenzuges beginnen und auf dem letzten Knoten
des betrachteten Kantenzuges enden (Unterfall (iv)).
Es werden nun alle Fälle mit ihren Unterfällen hintereinander diskutiert.
Bei den Unterfällen müssen die Orientierungen jeweils so sein, daß die betrachteten Kantenzüge wirklich Halbwege bzw. Wege bilden.
Die Diskussion vom Fall AZi (i) erfolgt beispielhaft besonders ausführlich. Die Argumente für die darauffolgenden Fälle sind analog.
Fall AZi (vergl. Abb. 6.17):
Unterfall (i) (s. Abb. 6.17 (i)): Zeige GHt J ist nicht positiv. Es gilt:
(1) kGk ≤ 0, denn da GHt J in W einen Weg/Halbweg bildet, muß G sowohl
in V als auch in W einen Weg/Halbweg darstellen. Ein Weg/Halbweg in V
darf aber nach Vorausssetzung nicht positiv sein.
(2) kHt,v k ≤ 0, denn in V liegt an Zi außer der Kante von Ht,v ein eingehender und ein ausgehender Pfeil an, weswegen Zi Startknoten zur Startkante
Zi Zi−1 ist. Ht,v beginnt an einem nicht zulässig orientierten Knoten A und
endet an einem Startknoten Zi mit Startkante Zi−1 Zi und ist deswegen (in
V) Halbweg. Nach Voraussetzung darf er nicht positiv sein.
(3) kHv k ≤ 0: Hv ist nach Voraussetzung Halbweg in V und damit nicht
positiv;
(4) kJk ≤ 0: Für J erfolgt die Argumentation analog wie für G.
Wegen der Wahl von Hv gilt:
(5) kHt,v k ≤ kHv k, denn sonst wäre Ht,v entweder größer oder, falls kHt,v k =
kHv k gilt, kürzer;
(6) kGk ≤ kHv k aus analogen Gründen.
Aus (5) folgt direkt: (7) kHe,v k ≥ 0.
Weil He,v J Weg/Halbweg in V ist (denn He,v und J sind kantenüberschnei-
6.3. LÖSUNG DES MINZUPROBLEMS
A
A
A
G
Ht
J
Zi
He,v
H
G
J H
v
Zi
Zi
(i) b)
H t,v
J
(iii) a)
Zi
He
B
B
(ii) a)
(ii) b)
A
Ht
B
H
B
A
Zi
Ht
H e,v
B
A
G
Ht,v
He
(i) a)
A
G
Ht,v
Hv
233
A
Ht,v
J
Zi
Zi
B
(iii) b)
Ht
Zi
B
B
(iv) a)
(iv) b)
Abbildung 6.17: Fall AZi
dungsfrei, besitzen die gleiche Orientierung und He,v beginnt und J endet an
einem nicht zulässig orientierten Knoten oder an einem Startknoten), gilt:
(8) kHe,v Jk ≤ 0.
Aus (4),(7) und (8) folgt: (9) kHe k ≥ kJk, denn kHe k = −kHe,v k ist also
wegen (7) nicht positiv. Da J wegen (4) ebenfalls nicht positiv ist, folgt mit
(8) die Teilbehauptung (9).
Aus (9) folgt (10) kHk ≥ kHt Jk, denn H=Ht He .
Aus (10) + (6) folgt kGHt Jk ≤ 0, denn aus (6) folgt kGk ≥ kHk, weil G und
Hv nicht positiv sind (vergl. (1) und (3)). Mit (10) folgt dann kGk ≥ kHt Jk.
Wegen kGk ≤ 0 muß kGHt Jk ≤ 0 gelten.
Die Behauptung ist bewiesen.
Unterfall (ii) (s. Abb. 6.17 (ii)): Zeige GHt ist nicht positiv. Es gilt: (1)
kGk ≤ 0, (2) kHv k ≤ 0 und (3) kHe,v k ≤ 0, da G, Hv und He,v in V We-
234
KAPITEL 6. ZERLEGUNGSGRAPHEN
ge/Halbwege sind. Wegen der Wahl von Hv gilt: (4) kHv k ≥ kGk. Aus
(1),(2),(3) und (4) folgt: (5) kHt,v k ≥ kGk. Aus (1) + (5) folgt kGHt k ≤ 0,
also die Behauptung.
Unterfall (iii)+(iv) (s. Abb. 6.17 (iii)+(iv)): Da A kein Startknoten zur ersten Kante von H ist, beginnen hier keine Wege/Halbwege.
A
A
A
G
Hv
A
G
G
Hv
H
J
G
H
J
B
B
B
B
(i) a)
(i) b)
(ii) a)
(ii) b)
A
A
A
A
Hv
H
Hv
J
H
J
B
B
B
B
(iii) a)
(iii) b)
(iv) a)
(iv) b)
Abbildung 6.18: Fall AB
Fall AB (vergl. Abb. 6.18):
Unterfall (i) (s. Abb. 6.18 (i)): Zeige GHJ ist nicht positiv. Es gilt: (1)
kGk ≤ 0, (2) kHv k ≤ 0 und (3) kJk ≤ 0, da G, Hv und J in V Wege/Halbwege sind. Wegen der Wahl von Hv gilt: (4) kHv k ≥ kGk. Aus
(1),(2) + (4) folgt: (5) kGHk ≤ 0. Aus (3) + (5) folgt (6) kGHJk ≤ 0, also
die Behauptung.
Unterfall (ii) (s. Abb. 6.18 (ii)): Zeige GH ist nicht positiv. Wird wie (5) in
(i) gefolgert.
Unterfall (iii)+(iv) (s. Abb. 6.18 (iii)+(iv)): Da A kein Startknoten zur ersten Kante von H ist, beginnen hier keine Wege/Halbwege.
Fall Zi Zj (vergl. Abb. 6.19): Unterfall (i) (s. Abb. 6.19 (i)): Zeige GHt J
6.3. LÖSUNG DES MINZUPROBLEMS
A
A
Ha,v
A
Ha
Zi
235
G
Ht,v
Ha,v
Zi
G
Ht
J
Zj
He,v
A
Ha
Zi
G
H t,v
J
Zj
He
Zi
G
Ht
Zj
Zj
He
He,v
B
B
B
B
(i) a)
(i) b)
(ii) a)
(ii) b)
A
A
A
A
Ha,v
Ha
H a,v
Zi
Zi
Ht,v
Zi
Ht
J
Zj
He,v
Ha
Zi
H t,v
J
Zj
He
Ht
Zj
Zj
He,v
He
B
B
B
B
(iii) a)
(iii) b)
(iv) a)
(iv) b)
Abbildung 6.19: Fall Zi Zj
ist nicht positiv. Es gilt: (1) kGk ≤ 0, (2) kHt,v k ≤ 0, (3) kHt,v He,v k ≤ 0, und
(4) kJk ≤ 0, da G, Ht,v , Ht,v He,v und J in V Wege/Halbwege sind. Wegen der
Wahl von Hv gilt: (5) kHv k ≥ kHa,v Gk . Aus (5) folgt: (6) kHt,v He,v k ≥ kGk.
Außerdem gilt wegen der Wahl von Hv : (7) kHv k ≥ kHa,v Ht,v k und damit
(8) kHt,v He,v k ≥ kHt,v k. Mit (1), (2), (3), (4), (6) und (8) liegen für Ht,v He,v
die gleichen Bedingungen wie in Fall AZi (i) für Hv vor. Auf gleiche Weise
folgt die Behauptung.
Unterfall (ii) (s. Abb. 6.19 (ii)): Zeige GHt ist nicht positiv. Es gilt: (1)
kGk ≤ 0, (2) kHv k ≤ 0 , (3) kHe,v k ≤ 0, (4) kHt,v He,v k ≤ 0 und (5) kJk ≤ 0,
da G, Hv , He,v , Ht,v He,v und J in V Wege/Halbwege sind. Wie in (i) gilt
wegen der Wahl von Hv : (6) kHt,v He,v k ≥ kGk. Mit (1), (3), (4) und (6)
liegen für Ht,v He,v die gleichen Bedingungen wie in Fall AZi (ii) für Hv vor.
236
KAPITEL 6. ZERLEGUNGSGRAPHEN
Auf gleiche Weise folgt die Behauptung.
Unterfall (iii) (s. Abb. 6.19 (iii)): Zeige Ht J ist nicht positiv. Es gilt: (1)
kGk ≤ 0, (2) kHv k ≤ 0, (3) kHa,v k ≤ 0, und (4) kHa,v Ht,v k ≤ 0 und (5)
kHe,v Jk ≤ 0, da G, Hv , Ha,v , Ha,v Ht,v und He,v J in V Wege/Halbwege sind.
Wegen der Wahl von Hv gilt: (6) kHv k > kHa,v Ht,v k und (7) kHa,v k ≤ kHv k.
Aus (6) folgt: (8) kHe,v k ≥ 0. Aus (7) folgt: (9) kHt,v He,v k > 0. Aus (8)
+ (9) folgt: (10) kHt k ≤ kHe,v k. Aus (5) +(10) folgt kHt Jk ≤ 0, also die
Behauptung.
Unterfall (iv) (s. Abb. 6.19 (iv)): Zeige Ht ist nicht positiv. Es gilt: (1)
kHa,v k ≤ 0, (2) kHv k ≤ 0 und (3) kHe,v k ≤ 0, da Ha,v , Hv und He,v in V
Wege/Halbwege sind. Wegen der Wahl von Hv gilt: (4) kHa,v k < kHv k. Aus
(4) folgt: (5) kHt,v He,v k > 0. Aus (3) + (5) folgt: (6) kHt,v k > 0 und daraus
die Behauptung.
A
A
Ha,v
A
Ha
Zi
G
Ht,v
A
Ha,v
Zi
G
Ht
Zi
G
H t,v
J
Ha
Zi
G
Ht
J
B
B
B
B
(i) a)
(i) b)
(ii) a)
(ii) b
A
A
A
A
Ha,v
Ha
Zi
Ha,v
Zi
Ht,v
Ha
Zi
Ht
Zi
H t,v
J
Ht
J
B
B
B
B
(iii) a)
(iii) b)
(iv) a)
(iv) b)
Abbildung 6.20: Fall Zi B
6.3. LÖSUNG DES MINZUPROBLEMS
237
Fall Zi B (vergl. Abb. 6.20):
Unterfall (i) (s. Abb. 6.20 (i)): Zeige GHt J ist nicht positiv. Es gilt: (1)
kGk ≤ 0, (2) kHt,v k ≤ 0, (3) kHv k ≤ 0 und (4) kJk ≤ 0, da G, Ht,v , Hv und
J in V Wege/Halbwege sind. (kHt,v k ist in V Weg/Halbweg, da sonst Hv kein
Weg/Halbweg wäre.) Wegen der Wahl von Hv gilt: (5) kHv k ≥ kHa,v Gk.
Aus (5) folgt: (6) kHt,v k ≥ kGk. Aus (1), (2) + (6) folgt (7) kGHt k ≤ 0.
Aus (4) + (7) folgt kGHt Jk ≤ 0, also die Behauptung.
Unterfall (ii) (s. Abb. 6.20 (ii)): Zeige GHt ist nicht positiv. Es gelten (1),
(2), (3), (5), (6) + (7) wie in Unterfall (i). Mit (7) ist die Behauptung nachgewiesen.
Unterfall (iii) (s. Abb. 6.20 (iii)): Zeige Ht J ist nicht positiv. Es gilt: (1)
kHa,v k ≤ 0, (2) kHv k ≤ 0 und (3) kJk ≤ 0, da Ha,v , Hv und J in V Wege/Halbwege sind. Wegen der Wahl von Hv gilt: (4) kHv k ≥ kHa,v k. Aus
(1), (2) + (4) folgt: (5) kHt,v k > 0. Aus (3) + (5) folgt kHt Jk ≤ 0, also die
Behauptung.
Unterfall (iv) (s. Abb. 6.20 (iv)): Zeige Ht ist nicht positiv. Es gelten (1),
(2), (4) + (5) wie in Fall (ii). Aus (5) folgt kHt k ≤ 0, also die Behauptung.
Damit ist gezeigt, daß W keine positiven Wege und Halbwege enthält! Es
folgt der Nachweis, daß W keine positiven Schleifen enthält.
Schleifen:
Ht,v
Ht
U
U
V
K
V
K
a)
b)
Abbildung 6.21: Schleifen
Es sei Ht ein Teil des umgedrehten Halbweges H und Ht liege innerhalb
einer Schleife (es kann auch Ht =H gelten)(vergl. Abb. 6.21). Es gibt einen
Knoten U, an dem Ht beginnt, und einen Knoten V, an dem er endet. K sei
der Teil der Schleife, der nicht umgedreht wird.
Für U6=V gilt: (1) kHt,v k ≤ 0 und (2) kKk ≤ 0, da Ht,v und K in V
Wege/Halbwege (unabhängig von der Orientierung der jeweils dritten Kante
238
KAPITEL 6. ZERLEGUNGSGRAPHEN
an U und V) sind. Wegen der Wahl von Hv gilt: (3) kHt,v k ≥ kKk. Aus (1),
(2) + (3) folgt kHt Kk ≤ 0, also die Behauptung.
Für U=V gilt: (1) kHt,v k ≤ 0, da Ht,v eine Schleife in V ist. Ht,v wird aber
nur bei kHt,v k > 0 umgedreht, da Hv \Ht,v ein kürzerer Halbweg ist. D.h.
U=V kann nicht auftreten.
Aus Lemma 6.14 und Satz 6.5 folgt direkt der Satz über die Korrektheit
des Algorithmus 6.3.
Satz 6.6. Der Algorithmus 6.3 arbeitet in dem Sinne korrekt, daß er eine
zulässige, minimale Orientierung erzeugt.
Mit Algorithmus 6.3 ist somit ein Verfahren zur Lösung des Minzuproblems gefunden!
6.3.4
Aufwand für Algorithmus 6.3
Abschließend soll die Effizienz des Algorithmus 6.3 nachgewiesen werden. Dazu werden die Schritte einzeln betrachtet. Es sei n die Anzahl der Knoten.
Da jeder Knoten maximal vom Grad drei ist, liegt die Anzahl der Kanten in
O(n).
Zeile 3:
Die Orientierung des Graphen ohne Erzeugung von positiven Kanten kann
wegen der jeweils lokalen Entscheidung in O(n) Schritten stattfinden.
Zeile 4:
Die Menge NZ aller nicht zulässig orientierten Knoten kann in O(n) Schritten
ermittelt werden, da eine lokale Betrachtung der Knoten dazu ausreicht.
Zeile 6:
Diese Zeile muß genauer betrachtet werden:
Zur Ermittlung von H wird auf den Tripelalgorithmus [Mehl84] (in der
Literatur auch Algorithmus von Kleene oder Warshall-Algorithmus genannt)
der Graphentheorie zurückgegriffen. Der Tripelalgorithmus berechnet kürzeste
oder längste Wege oder Wege mit kleinster oder größter Bewertung für alle
Knotenpaare eines Graphen.
Zur Anwendung des Algorithmus für dieses Problem müssen die Definition eines Weges im Sinne des Tripelalgorithmus und die Definition eines
Halbweges verglichen werden. Weiterhin müssen die Voraussetzungen zur
Anwendung des Tripelalgorithmus geschaffen werden.
6.3. LÖSUNG DES MINZUPROBLEMS
239
Ein Weg bezüglich des Tripelalgorithmus ist wie folgt definiert (wird zur
Unterscheidung des in dieser Arbeit definierten Weges T-Weg genannt):
Definition 96. Gegeben sei ein gerichteter Graph G =(K,P) (K=Menge der
Knoten, P=Menge der Pfeile) ohne parallele Pfeile: W=(A0 ...Ai Ai+1 ...Ar )
heißt T-Weg (in G:)⇔ (Ai Ai+1 ) ∈ P, i=0(1)r-1.
Der T-Weg unterscheidet sich also zum einen in seiner Voraussetzung
bezüglich des Graphen, auf dem operiert wird, vom Halbweg, denn (orientierte) Differenzgraphen dürfen parallele Pfeile besitzen. Da es jedoch Ziel
ist, einen größten und kürzesten Halbweg (vergl. Seite 228) zu finden, genügt
es, einen Graphen zu betrachten, der durch Wegnahme von parallelen Pfeilen im ursprünglichen (orientierten) Differenzgraphen in der Art entsteht,
daß jeweils genau ein Pfeil mit größter Bewertung bezüglich der jeweiligen
parallelen Pfeile übrig bleibt. Denn ein größter und kürzester Halbweg im auf
diese Weise modifizierten (orientierten) Differenzgraphen bildet auch einen
größten und kürzesten Halbweg im ursprünglichen (orientierten) Differenzgraphen. Außerdem besitzt ein modifizierter (orientierter) Differenzgraph
ebenfalls keine positiven Wege und Schleifen, falls der ursprüngliche (orientierte) Differenzgraph diese nicht besitzt, so daß dadurch keine notwendigen
Voraussetzungen verletzt werden. Deswegen wird im folgenden ein solcher
modifizierter (orientierter) Differenzgraph ohne parallele Pfeile betrachtet.
Zum anderen unterscheidet sich der T-Weg in seiner Definition vom Halbweg. T-Wege dürfen Kanten doppelt enthalten und die Anfangs- und Endknoten von Halbwegen müssen bestimmten Bedingungen genügen. Somit ist
nicht jeder T-Weg ein Halbweg.
Jeder Halbweg in einem (modifizierten, orientierten) Differenzgraphen ist
nach Definition ein T-Weg (ggfs. in entgegengesetzter Richtung, dies wird
deutlich beim Vergleich der Definitionen) (vergl. Abb. 6.22).
Ein größter und kürzester T-Weg sei analog definiert wie ein größter und
kürzester Halbweg. Dann gilt:
Lemma 6.16. Gegeben sei ein (mod., or.) Differenzgraph G. Es seien MH =
{(A, B); ∃ ein Halbweg von A nach B}; D = {(A, B) ∈ MH ; ∃ ein bezüglich
MH größter und kürzester T-Weg von A nach B oder von B nach A}; E =
{(A, B); ∃ ein größter und kürzester Halbweg von A nach B}.
Dann gilt: D=E.
Beweis. 1. Zeige (A,B) ∈ D ⇒ (A,B) ∈ E.
Es sei d ein bezüglich MH größter und kürzester T-Weg von A nach B oder
von B nach A. Zeige: d ist größter und kürzester Halbweg. Da (A,B) in MH
240
KAPITEL 6. ZERLEGUNGSGRAPHEN
B
B
A
(i)
A
(ii)
Abbildung 6.22: Halbweg als T-Weg
liegt, gelten für die Anfangs- und Endknoten von d die Bedingungen eines
Halbweges. Deswegen genügt es zu zeigen, daß d kantenüberschneidungsfrei
ist. Da d größter und kürzester T-Weg bezüglich MH ist, kann d keine Schleife enthalten, da es sonst entweder einen größeren T-Weg oder einen gleich
großen aber kürzeren T-Weg gäbe. Damit ist d kantenüberschneidungsfrei
und bildet einen Halbweg. Da jeder Halbweg T-Weg oder T-Weg in entgegengesetzter Richtung ist, ist d größter und kürzester Halbweg. Es folgt
(A,B) ∈ E.
2. Zeige (A,B) ∈ E ⇒ (A,B) ∈ D.
Es sei e ein größter und kürzester Halbweg von A nach B. Dann ist e oder
e in entgegengesetzter Richtung T-Weg. Ann.: e sei nicht ein bezüglich MH
größter und kürzester T-Weg. Dann ∃ e’ mit: e’ ist ein größerer oder gleich
großer und kürzerer T-Weg von A nach B oder B nach A. Dann besitzt
e’ keine Schleifen, ist also kantenüberschneidungsfrei und die Anfangs- und
Endknoten erfüllen die Bedingungen eines Halbweges. Damit ist e’ Halbweg von A nach B und e nicht größter und kürzester Halbweg von A nach
B. Widerspruch zur Voraussetzung. e ist somit bezüglich MH größter und
kürzester T-Weg von A nach B oder von B nach A. Es folgt (A,B) ∈ D.
Aus dem Beweis von Lemma 6.16 folgt direkt:
Folgerung 6.3. Jeder bezüglich MH größte und kürzeste T-Weg von A nach
B oder B nach A mit (A,B)∈ MH ist größter und kürzester Halbweg von A
nach B und umgekehrt.
Wegen Lemma 6.16 und Folgerung 6.3 genügt es einen bezüglich MH
größten und kürzesten T-Weg von A nach B oder von B nach A aus allen
Paaren (A,B)∈ MH zu ermitteln.
6.3. LÖSUNG DES MINZUPROBLEMS
241
Ob ein Halbweg von A nach B existiert, kann wie folgt leicht festgestellt
werden (Ermittlung von MH ):
1. Es muß ein kantenüberschneidungsfreier T-Weg von A nach B oder von
B nach A existieren: Existiert ein T-Weg von A nach B bzw. B nach A, so
existert auch ein kantenüberschneidungsfreier T-Weg von A nach B bzw. B
nach A. (Ob ein T-Weg von A nach B oder B nach A existiert, kann mittels
Tripelalgorithmus leicht festgestellt werden (s. nächsten Absatz).)
2. A muß ein nicht zulässig orientierter Knoten sein, B ist entweder ebenfalls
nicht zulässig orientiert oder er ist Startknoten.
Der Tripelalgorithmus geht prinzipiell so vor, daß zunächst die minimalen oder maximalen Bewertungen von T-Wegen zwischen je zwei Knoten
bestimmt werden. Daraus können anschließend die gewünschten Wege ermittelt werden. Ist der Grad der Knoten auf eine Konstante beschränkt,
benötigt er dazu (sogar im worst case) nur O(n3 ) Schritte, wobei n die Anzahl der Knoten ist.
Da hier ein größter und kürzester Halbweg ermittelt werden soll, werden
mittels Tripelalgorithmus zuerst alle größten Bewertungen zwischen je zwei
Knoten und dann alle kürzesten Entfernungen zwischen je zwei Knoten ermittelt. Aus diesen Vorgaben wird anschließend ein größter und kürzester
T-Weg (Halbweg) ermittelt.
Dazu werden zwei Sternalgebren A1 = (β1 : K × K → G, t, ◦, ⊥, 1) und
A2 = (β2 : K × K → G, t, ◦, ⊥, 1) benötigt, da der Tripelalgorithmus nur auf
Sternalgebren angewendet werden kann.
Zur Ermittlung der größten Bewertungen mittels A1 werden für die Abbildung β1 die Bewertungen der Pfeile gewählt. Existiert zu einem Paar
(A,B) ∈ K × K kein Pfeil von A nach B, so wird β1 (A,B)=-∞ gewählt.
Da der Tripelalgorithmus hier zur Ermittlung von Wegen mit größter
Bewertung genutzt werden soll, dürfen keine positiven Schleifen auftreten.
Dies ist durch die Anfangsorientierung auf jeden Fall gewährleistet. Für
weitere Orientierungen (nach Umdrehen von Halbwegen) ist es wegen Satz
6.5 gewährleistet.
Die folgende Algebra A1 = (β1 : K × K → G = R ∪ {∞, −∞}, t =
max, ◦ = +, ⊥ = −∞, 1 = 0) mit β1 wie oben beschrieben, beschreibt eine
Sternalgebra, mit der nach Tripelalgorithmus für jedes Knotenpaar (A,B)∈
K×K ein Weg mit maximaler Bewertung d(A,B) in einem Graphen gefunden
werden kann.
(Nachweis, daß A1 eine Sternalgebra ist:
242
KAPITEL 6. ZERLEGUNGSGRAPHEN
√
t = max, ◦=+: G ×√
G→G ;
⊥ = −∞, 1 = 0 ∈ G ;
bezüglich t = max müssen gelten:
√
Kommutativgesetz: max(a,b)=max(b,a) ;
√
Assoziativgesetz: max(max(a,b),c)=max(a,max(b,c))
;
√
Idempotenz: max(a,a)=a ;
√
⊥ = −∞ neutral: max(a,-∞)=a ;
bezüglich ◦=+ müssen gelten:
√
Assoziativgesetz: (a+b)+c=a+(b+c)
;
√
1 = 0 neutral: a+0=0+a=a ;
√
⊥ = −∞ absorbierend: a+ −∞=−∞ +a=−∞ ;
Außerdem muß gelten:
√
Distributivgesetz: a+max(b,c)=max(a+b,a+c) )
Zur Ermittlung der kürzesten Entfernungen f(A,B) wird folgende Sternalgebra A2 gewählt: A2 = (β2 : K × K → G = R+ ∪ {∞}, t = min, ◦ =
+, ⊥ = ∞, 1 = 0) und für β2 gilt:
½
β2 =
1 falls ein Pfeil von A nach B existiert
∞ sonst
(6.1)
(Ein Nachweis, daß A2 Sternalgebra ist, kann analog zum Nachweis von
A1 erfolgen.)
Der Tripelalgorithmus wird nun so zu Algorithmus 6.4 modifiziert, daß er
einen größten und kürzesten Halbweg ermittelt. Die Ermittlung von d(A,B)
und f(A,B) geschieht dabei jeweils mittels Tripelalgorithmus.
Satz 6.7. Algorithmus 6.4 ermittelt einen größten und kürzesten Halbweg
korrekt.
Beweis. d(A,B) und f(A,B) werden nach Tripelalgorithmus korrekt ermittelt. M bildet die Menge derjenigen Paare (A,B), zwischen denen bezüglich
MH ein größter T-Weg von A nach B bzw. B nach A liegt. N entspricht der
Menge D aus Lemma 6.16. Wegen Lemma 6.16 ist D=E, also der Menge der
Paare, zwischen denen ein größter und kürzester Halbweg liegt. Zu einem
Element (A,B) dieser Menge (Zeile 8) wird dann ein bezüglich MH größter
und kürzester T-Weg von A nach B oder von B nach A ermittelt, der nach
Folgerung 6.3 gleichzeitig ein größter und kürzester Halbweg ist. Die Anweisungen in den Zeilen 9-10 und 17-18 garantieren, daß der T-Weg in richtiger
Richtung ermittelt und der Halbweg in richtiger Richtung betrachtet wird.
6.3. LÖSUNG DES MINZUPROBLEMS
Algorithmus 6.4 (GrößterUndKürzesterHalbweg).
1. PROCEDURE
2. BEGIN
3.
ermittle d(A,B) für alle (A,B)∈ K × K;
4.
ermittle f(A,B) für alle (A,B)∈ K × K;
5.
ermittle MH :={(A,B)∈ K × K; ∃ ein Halbweg
von A nach B};
6.
ermittle M:={(A,B)∈ MH ; für die gilt:
d(A,B) oder d(B,A) ist bezüglich MH maximal};
7.
ermittle N:={(A,B) ∈ M, für die gilt:
d(A,B) ist bezüglich MH maximal
→ f(A,B) ist bezüglich MH minimal;
d(B,A) ist bezüglich MH maximal
→ f(B,A) ist bezüglich MH minimal};
8.
wähle ein (A,B) ∈ N;
9.
falls A nicht zulässig orientierter Knoten,
auf den alle Pfeile zeigen
10.
vertausche A und B;
11.
Weg W:=A;
12.
while (Wegende(W) 6= B)
13.
14.
aus allen Nachbarn C von A mit
d(A,B)=d(A,C)+d(C,B)
wähle C’ mit f(A,B)=f(A,C’)+f(C’,B);
15.
W=W+C’;
16.
A:=C’;
17.
18.
19. END
falls A und B vertauscht wurden
sortiere die Knoten von W um;
243
244
KAPITEL 6. ZERLEGUNGSGRAPHEN
Die Zeilen 12 bis 16 stellen eine Erweiterung des Tripelalgorithmus zur Wegsuche für ein bestimmtes Paar dar: Wegen Zeile 13 wird auf jeden Fall jeweils
ein T-Weg mit größter Bewertung und wegen Zeile 14 daraus eine kürzester
T-Weg gewählt.
Satz 6.8. Algorithmus 6.4 benötigt O(n3 ) Schritte, wobei n die Anzahl der
Knoten ist.
Beweis. d(A,B) und f(A,B) werden mittels Tripelalgorithmus in O(n3 ) Schritten ermittelt. Die Mengen MH , M und N können in jeweils O(n2 ) Schritten ermittelt werden, da es maximal O(n2 ) Elemente in MH , M und N und
K×K gibt: MH kann in O(n2 ) Schritten ermittelt werden: In konstanter Zeit
können jeweils die Knoten A und B zu einem Paar (A,B) wie oben beschrieben überprüft werden. Außerdem muß d(A,B) > −∞ oder d(B,A) > −∞
sein, da genau dann ein T-Weg von A nach B bzw. von B nach A existiert.
Dies kann ebenfalls in jeweils konstanter Zeit übeprüft werden. Wenn die jeweiligen Maxima bzw. Minima bezüglich der jeweiligen Mengen bekannt sind
(können jeweils beim Erzeugen der Mengen bestimmt werden), kann für jedes
Knotenpaar (A,B) in konstanter Zeit bestimmt werden, ob d(A,B), d(B,A)
bzw. f(A,B), f(B,A) maximal bzw. minimal bezüglich der jeweiligen Mengen
sind. Die While-Schleife wird maximal O(n) mal durchlaufen, da jede Kante
maximal einmal durchlaufen wird (es gibt nach Voraussetzung keine positiven Schleifen). Die Wahl eines Nachbarn C’ erfolgt in konstanter Zeit, da
die Knoten maximal vom Grad drei sind. Ein Umsortieren der Knoten von
W braucht O(n) Schritte. Der Aufwand addiert sich deswegen zu maximal
O(n3 ) Schritten.
Wegen Satz 6.8 benötigt Schritt 4 aus Algorithmus 6.3 O(n3 ) Schritte.
Zeile 7:
Das Umdrehen von H geschieht in maximal O(n) Schritten, da H maximal
O(n) Kanten enthält. I.a. ist jedoch eher eine geringere Anzahl von Kanten
von H zu erwarten.
Zeile 8:
Die Subtraktion des nicht zulässig orientierten Knoten von der Menge der
nicht zulässig orientierten Knoten geschieht in konstanter Zeit.
Da sich die Menge der nicht zulässig orientierten Knoten NZ in Algorithmus 6.3 pro Schleifendurchlauf um wenigstens eins senkt, gibt es maximal
O(n) Schleifendurchläufe. Aus Satz 6.8 und den anderen Überlegungen zu
den einzelnen Schritten kann deswegen gefolgert werden:
6.3. LÖSUNG DES MINZUPROBLEMS
245
Satz 6.9. Sei G ein Differenzgraph mit n Knoten. Dann kann Algorithmus
6.3 zu G eine zulässige, minimale Orientierung in O(n4 ) Schritten ermitteln.
Bemerkung 6.6. Liegt die Anzahl der nicht zulässig orientierten Knoten im
Differenzgraphen mit lokal minimaler Orientierung im konstanten Bereich,
dann reduziert sich die gesamte Laufzeit von Algorithmus 6.3 (bei Verwendung des Tripelalgorithmus) damit auf O(n3 ) Schritte.
Damit wurde ein effizienter Algorithmus zur Ermittlung einer zulässigen,
minimalen Orientierung in einem Differenzgraphen und damit auch in einem
Zerlegungsgraphen gefunden!
Der Algorithmus dient schließlich zur effizienten Ermittlung einer optimalen Zerlegung der zu zerlegenden Elemente des Erstnetzes. Es sei darauf
hingewiesen, daß die Anzahl der zu zerlegenden S-Prismen und 2-3-Elemente
(= Anzahl der Knoten im Differenzgraphen = n) i.a. ein Bruchteil aller zu
zerlegenden Elemente ist. Der Algorithmus arbeitet also in Relation zur
Anzahl aller Elemente des Erstnetzes sehr schnell!
246
KAPITEL 6. ZERLEGUNGSGRAPHEN
Kapitel 7
Zusammenfassung und Ausblick
In dieser Arbeit wird eine neue Methode für einen 3D-Netzgenerator zur Erzeugung hexaederdominierter 3D-Netze für Fließgewässer für die FE-Methode
vorgestellt. Aus der Literatur sind keine Netzgeneratoren und Methoden der
Netzgenerierung bekannt, die eine Lösung des hier gestellten Problems mit
seinen Rand- und Nebenbedingungen ermöglichen. Da komplexe Geometrien mit komplexen Strömungsvorgängen ein vollständig dreidimensionales
numerisches Simulationssystem verlangen, erlangt die 3D-Netzgenerierung
für Fließgewässer für die FE-Methode eine große Bedeutung. Das im Rahmen dieser Arbeit entwickelte Verfahren stellt somit einen wichtigen Beitrag
für die Praxis und ein Novum dar!
Die Nebenbedingungen und Anforderungen stellen eine Herausforderung
an die Netzgenerierung dar. Denn durch die Einhaltung der Vertikalbedingung und der (vertikalen) Verfeinerungsanforderungen ist die Generierung
von Elementen, die wegen der Elementbedingung zerlegt werden müssen,
i.a. nicht vermeidbar. Die Konformitätsbedingung führt dazu, daß i.a. eine
ganze Reihe weiterer Elemente in Tetraeder und Prismen zerlegt werden
müssen.
Es ist gelungen, bei Einhaltung aller Forderungen und Nebenbedingungen eine Methode zur 3D-Netzgenerierung zu entwickeln, die zu zerlegende
Elemente geringhält und möglichst viele Hexaeder erzeugt.
Das Lösungskonzept sieht vor, zuerst eine Generierung (P-Vernetzung)
auf einer Projektionsebene (P-Ebene) durchzuführen. Dazu wird das zu vernetzende Gebiet der P-Ebene in Regionen unterteilt, die durch Polygonzüge
entstehen, die entweder ähnlich zu den Höhenlinien einer topographischen
Karte erzeugt werden oder zu verfeinernde Gebiete umschließen. In der Projektionsebene findet eine P-Vernetzung mit Vierecken und Dreiecken statt.
247
248
KAPITEL 7. ZUSAMMENFASSUNG UND AUSBLICK
Aus diesen werden in einem weiteren Schritt, der 3D-Vernetzung, dreidimensionale Elemente erzeugt: Aus einem Viereck, das in der P-Ebene generiert
wurde, wird zu einem späteren Zeitpunkt (3D-Vernetzung) ein Stapel von
überwiegend Hexaedern erzeugt; aus einem Dreieck wird in einem späteren
Schritt ein Stapel von überwiegend Prismen erzeugt. Die Anzahl der 3DElemente eines Elementstapels wird durch die Region, in der das zugehörige
Drei- oder Viereck liegt, bestimmt. Die Regionbildung stellt somit eine sehr
sinnvolle Berücksichtigung der unterschiedlichen Höhen des Geländes und der
Verfeinerungsanforderungen dar. Durch die Generierung der Elementstapel
wird die Vertikalbedingung automatisch eingehalten.
Es konnte erreicht werden, daß die gesamte 3D-Vernetzung bereits durch
die P-Vernetzung bestimmt wird und das 3D-Netz eindeutig aus dem P-Netz
hervorgeht. Diese Tatsache trägt zu einer einfacheren und übersichtlicheren
Vernetzung bei.
Leider können bei der Erzeugung eines Elementstapels auch nicht zulässige Elemente entstehen, die noch zerlegt werden müssen. Zur Einhaltung der
Konformitätsbedingung muß deswegen i.a. eine ganze Reihe weiterer Elemente ebenfalls zerlegt werden. Konflikt- und Zerlegungsdreiecke und -vierecke
sind diejenigen Elemente der P-Ebene, aus denen bei der 3D-Vernetzung zu
zerlegende Elemente entstehen. Zerlegungspfade bilden eine Reihe von Zerlegungsvierecken. Konfliktvierecke lösen Zerlegungspfade aus. Sie sind nicht
gänzlich vermeidbar, insbesondere nicht an den Stellen, an denen P-Knoten
in der P-Ebene benachbart sind, denen bei der 3D-Vernetzung unterschiedlich viele Knoten zugeordnet werden, die also unterschiedliche Tiefenwerte
besitzen. Diese sind durch die Integration von Verfeinerungsanforderungen
in der Regel unvermeidbar. Es stellt sich in Kapitel 4 heraus, daß es sinnvoll
ist, ausschließlich als Konfliktelemente Konfliktdreiecke zu erzeugen.
In Kapitel 4 werden die Möglichkeiten für Bereiche, bei denen voraussichtlich
Konfliktdreiecke generiert werden müssen, besonders sorgfältig betrachtet,
um möglichst viele davon abzudecken. Deswegen werden auch außer den am
Beispiel aufgetretenen Situationen viele weitere Möglichkeiten und Kombinationen aufgelistet. Es werden dazu verschiedene Fälle der Lage und Winkel
der Polygone überprüft und Kombinationen daraus gebildet. Die Auflistung
der Fälle und die Kombinationen aus je zwei Fällen erscheint vollständig.
Durch dieses Vorgehen werden auch Verfeinerungsanforderungen in vertikaler Richtung voll integriert.
Zur Geringhaltung der Zerlegungspfade wird schließlich zum Ziel gesetzt, diese möglichst entlang der Randelemente laufen zu lassen. Das minimiert zum
einen ihre Anzahl, da es teilweise unvermeidlich ist, Zerlegungspfade entlang
der Randelemente laufen zu lassen, zum anderen vereinfacht es den Umgang
249
mit ihnen. Trotzdem kann es unvermeidbar sein, Zerlegungspfade auch außerhalb der Randelemente zu führen.
Durch dieses Verfahren der Führung von Zerlegungspfaden werden zu zerlegende Elemente gering gehalten, so daß letzlich möglichst viele Hexaeder
entstehen. Außerdem wird durch die Erzeugung der Zerlegungspfade der
Grundstein zur Einhaltung der Konformitätsbedingung gelegt.
Kapitel 5 gibt schließlich detaillierte Lösungen für die in Kapitel 4 dargestellten Teilaufgaben der P-Vernetzung an. Durch die Methode ist es möglich,
die Vernetzung der einzelnen Bereiche lokal durchzuführen, was letztlich das
gesamte Verfahren der Netzgenerierung effizient macht.
Die P-Vernetzung hat - wie bereits erwähnt - den großen Vorteil, daß die
in dem daraus entstandenen 3D-Netz zu zerlegenden Elemente bereits genau
festgelegt sind. Außerdem wird durch die P-Vernetzung eine Geringhaltung
dieser Elemente forciert. Die Methode führt darüberhinaus dazu, daß die
(in Prismen und Tetraeder) zu zerlegenden Elemente ausschließlich aus 2-3Elementen (Pyramiden), Hexaedern und Prismen bestehen. Eine Zerlegung
soll unter Einhaltung der Konformitätsbedingung in möglichst wenige Elemente geschehen und ist bezüglich der Oberflächenzerlegungen der Elemente
nicht beliebig möglich. Die Qualität der zerlegten Elemente hängt von der
Art der Zerlegung ab. Es entsteht somit ein spezielles Optimierungsproblem.
Dieses Problem wird in Kapitel 6 auf ein graphentheoretisches Orientierungsproblem übertragen:
In einem Graphen mit ausschließlich Knoten vom Grad drei oder eins soll eine
zulässige und minimale Orientierung ermittelt werden (wird in dieser Arbeit
Minzuproblem genannt). Für dieses Problem wird ein effizienter Algorithmus
vorgestellt, der im worst case O(n4 ) Schritte benötigt, wobei n die Anzahl
aller Knoten (= Anzahl zu zerlegender S-Prismen und 2-3-Elemente (Bruchteil aller Elemente)) ist: Von einer minimalen, aber nicht notwendigerweise
zulässigen Orientierung werden sukzessiv bestimmte Kantenzüge (Halbwege)
umorientiert, so daß schließlich eine zulässige und minimale Orientierung entsteht. Dies funktioniert nur, weil jeweils ein größter und kürzester Halbweg
umgedreht wird und somit eine Invariante erhalten bleibt. Der Algorithmus greift bei der Suche eines jeweils größten und kürzesten Halbweges auf
den Tripelalgorithmus zurück. Entscheidend ist außerdem der Satz über die
Äquivalenz von zulässig orientierten Graphen und die Möglichkeit den Graphen in disjunkte Wege zu zerlegen.
Mit diesem Algorithmus ist eine im Rahmen dieser Arbeit entwickelte neue
effiziente Lösung gefunden! Aus der Literatur sind zu diesem Problem keine
Lösungen bekannt.
250
KAPITEL 7. ZUSAMMENFASSUNG UND AUSBLICK
Mit dem Verfahren werden zugleich die Konformitäts- und die Elementbedingung für die 3D-Netzgenerierung eingehalten!
Die vorliegende Arbeit ist somit eine umfassende Darstellung einer neuen
Methode zur Erzeugung von 3D-Netzen für Fließgewässer, die alle Anforderungen und Nebenbedingungen berücksichtigt. Dabei werden viele Fälle des
Auftretens von Konfliktdreiecken betrachtet und behandelt. Eine gewünschte
Verfeinerung von Bereichen bezüglich der Tiefe konnte voll integriert werden.
Es kann jedoch nicht ausgeschlossen werden, daß Fälle für Konfliktdreiecke
auftreten können, die hier nicht behandelt wurden. Eine Kombination solcher
Fälle wurde hauptsächlich bezüglich zweier Fälle betrachtet. Die Untersuchung von Kombinationen mehrerer Fälle würde eine Erweiterung darstellen.
Dabei ist es vielleicht sinnvoll, vorher die Häufigkeit solcher Kombinationen
zu untersuchen.
Durch Aufheben der Schichtforderung kann es in einigen Bereichen ggfs. zu
einer Reduzierung von zu zerlegenden Elementen kommen. Die Handhabung
hiermit bedarf jedoch großer Vorsicht und genauerer Untersuchungen, die
wegen ihres Umfangs hier nicht diskutiert werden.
Eine Qualitätverbesserung für die Bereiche außerhalb der Zerlegungspfade
kann evtl. durch eine noch besser angepaßte Vernetzung, bei der hauptsächlich
Vierecke und nur falls notwendig Dreiecke generiert werden, erzielt werden. Hierfür können weitere Verfahren aus der Literatur untersucht werden
([Lee99] [Zhon00]).
Darüberhinaus kann eine (bessere) Verfeinerung auch in horizontaler Richtung stattfinden. Z.B. könnten dazu bereits existierende Verfahren aus [Geog91]
an das in dieser Arbeit beschriebene Verfahren angepaßt werden! Eine Integration der Berücksichtigung von Einbauten ist ebenfalls möglich.
Literaturverzeichnis
[Bale99] Balendran B. (1999), A Direct Smoothing Method for Surface
”
Meshes“, proceedings 8th Int. Meshing Roundtable, Sandia National
Laboratories.
[Blac00] Blacker T. (2000), Meeting the Challenge for Automated Con”
formal Hexahedral Meshing“, proceedings 9th Int. Meshing Roundtable,
Sandia National Laboratories.
[Blac96] Blacker T. (1996), The Cooper Tool“, proceedings 5th Int.
”
Meshing Roundtable, Sandia National Laboratories, pp. 13-29.
[Blac91a] Blacker T., Stephenson M. (1991), Paving: A new ap”
proach to automated quadrilateral mesh generation“, International
Journal for Numerical Methods in Engineering, vol. 32, pp. 811-47.
[Blac91b] Blacker T., Stephenson M., Canann S. (1991), Analysis
”
automation with paving: a new quadilateral meshing technique“, Advances in Engineering Software & Workstations, vol. 13, no. 5-6, Sept.Nov. 1991, pp. 332-7. UK.
[Bord00] Borden M., Benzley S., Mitchell S.A., White D.R.,
Meyers R. (2000), The cleave and fill tool: An all-hexahedral re”
finement algorithm for sweept meshes“, proceedings 9th Int. Meshing
Roundtable, Sandia National Laboratories.
[Cana98] Canann S., Tristano J. Staten M. (1998), An Approach to
”
Combined Laplacian and Optimization-Based Smoothing for Triangular, Quadrilateral, and Quad-Dominant Meshes“, proceedings 7th Int.
Meshing Roundtable, Sandia National Laboratories.
[Chen98] Cheng B., Topping BHV. (1998), Improved adaptive quadri”
lateral mesh generation using fission elements“, Advances in Engineering
Software, vol. 29, no. 7-9, Aug.- Nov. 1998, pp. 733-44. Publisher: Elsevier, UK.
251
252
LITERATURVERZEICHNIS
[Chri75] Christofides N. (1975), Graph Theory: An Algorithmic Ap”
proach“, Computer Science and Applied Mathematics: A series of monographs and textbooks. Academic Press London.
[Dohr99] Dohrmann C., Key S. (1999), A transition element for uniform
”
strain hexahedral and tetrahedral finite elements“, International Journal
for Numerical Methods in Engineering, vol. 44, no 12, 30 April 1999, pp.
1933-50. Publisher: Wiley,UK.
[Geog91] George P.L. (1991), Automatic Mesh Generation - Application
”
to Finite Element Methods“, John Wiley & Sons.
[Koen97] Könen O. (1997), Triangulationsmethoden zur Generierung di”
gitaler Geländemodelle“, Diplomarbeit am Lehrstuhl für Angewandte
Mathematik insbesondere Informatik, RWTH Aachen.
[Kucw00] Kucwaj J.(2000), Generation of hybrid grids over plane do”
mains“, Inst. Fundamental Technol. Res. Computer Assisted Mechanics
& Engineering Sciences, vol. 7, no. 4, pp. 607-14. Poland.
[Lee99] Lee CK. (1999), Automatic adaptive mesh generation using me”
tric advancing front approach.“, Engineering Computations (Swansea,
Wales), vol. 16, no. 2, pp. 230-63. Publisher: MCB University Press,
UK.
[Liu97] Liu S., Gadh R. (1997), Automatic Hexaehedral Mesh Gene”
ration by Recursive Convex and Swept Volume Decomposition“, proceedings 6th Int. Meshing Roundtable, Sandia National Laboratories,
pp.217-31.
[Mehl84] Mehlhorn K. (1984), Data Structures and Algorithms 2:
”
Graph Algorithms and NP-Completeness“, EATCS Monographs on
Theoretical Computer Science. Springer-Verlag.
[Mesh00] Meshkat S., Dafna T. (2000), Generating a mixed mesh of
”
hexahedra, pentahedra and tetrahedra from an underlying tetrahedral
mesh“, International Journal for Numerical Methods in Engineering,
vol. 49, pp. 17-30.
[Meye98] Meyers R.J., Tautges T.J. (1998), The Hex-Tet Hex”
Dominant Meshing Algorithm as Implemented in CUBIT“, proceedings
7th Int. Meshing Roundtable, Sandia National Laboratories, pp. 151158.
LITERATURVERZEICHNIS
253
[Miyo00] Miyoshi K., Blacker T. (2000), Hexahedral Mesh Generati”
on using Multi-axis Cooper Algorithm“, proceedings 9th Int. Meshing
Roundtable, Sandia National Laboratories.
[Owen00] Owen S.J., Saigal S. (2000), H-Morph: an indirect approach
”
to advancing front hex meshing“, International Journal for Numerical
Methods in Engineering, vol. 49, Issue 1-2, pp. 289-312.
[Schn95] Schneider R. (1995), Automatic Generation of Hexahedral Fi”
nite Element Meshes“, proceedings 4th Int. Meshing Roundtable, Sandia
National Laboratories, pp. 103-114.
[Schö28] Schönhardt E. (1928), über die Zerlegung von Dreieckspoly”
edern in Tetraeder“, Mathematische Annalen, 98:309-312, 1928.
[Schu97] Schumann (1997), Optimierung von Polygonzügen zur 2D”
Gittervernetzung“, Diplomarbeit am Lehrstuhl für Angewandte Mathematik insbesondere Informatik, RWTH Aachen.
[Shep00] Shepherd J., Mitchell, S.A., Knupp, P. White D. (2000),
Methods for Multisweep automation“, proceedings 9th Int. Meshing
”
Roundtable, Sandia National Laboratories.
[Shef99] Sheffer A., Etzion M. Rappoport A., Bercovier M.
(1999), Hexahedral Mesh Generation using the Embedded Voronoi
”
Graph (1999)“, Engineering with Computers (1999), vol. 15, pp. 248262, Springer Verlag London.
[Stat98] Staten M.L., Canann S.A., Owen S.J. (1998), BMSweep:
”
Locating Interior Nodes During Sweeping“, proceedings 7th Int. Meshing Roundtable, Sandia National Laboratories, pp.7-17.
[Step92] Stephenson M.B., Canann S.A., Blacker T. D., Meyers
R.J.(1992), Plastering Progress Report I“, SAND89-2192, Sandia Na”
tional Laboratories.
[Stol97] Stolze K. (1997), Entwicklung eines Generators hybrider 2D”
Netze für Eingabepolygone mit Nebenbedingungen“, Diplomarbeit am
Lehrstuhl für Angewandte Mathematik insbesondere Informatik, RWTH
Aachen.
[Taut96] Tautges T., Blacker T., Mitchell S. (1996), The Whisker
”
Weaving Algorithm: A Connectivity-Based Method for Constructing
All-Hexahedral Finite Element Meshes“, International Journal for Numerical Methods in Engineering, vol. 39, pp. 3327-49.
254
LITERATURVERZEICHNIS
[Tuch97] Tuchinsky P.M., Brett W.C. (1997), The HexTet Hex”
Dominant Automesher: An Interim Progress Report“, proceedings 6th
Int. Meshing Roundtable, Sandia National Laboratories.
[Yerr84] Yerry M.A., Shephard M.S. (1984), Automatic 3D mesh ge”
neration by the modified-octree technic“, International Journal for Numerical Methods in Engineering, vol. 20, pp. 1965-90.
[Yoan99] Yoantoro M. (1999), Erweiterte Optimierung von Poly”
gonzügen zur Gittervernetzung“, Diplomarbeit am Lehrstuhl für Informatik VII, RWTH Aachen.
[Zhon00] Zhong-Yi M., Yu-Qing F. (2000), A modified paving tech”
nique for quadrilateral mesh generation in planar regions.“, Journal of
Computer Aided Design & Computer Graphics, vol. 12, no. 6, June
2000, pp. 428-34. Publisher: Science Press, China.
[Zhou00] Zhou T, Shimada K. (2000), An angle-based approach to two”
dimensional mesh smoothing“, proceedings 9th Int. Meshing Roundtable, Sandia National Laboratories.
Index
Anpassungselement . . . . . . . . . . . 74
Anschlußknoten . . . . . . . . . . . . . . 66
nebeneinanderliegende . . . 155
zweifacher . . . . . . . . . . . . . . . 155
Aufspaltung . . . . . . . . . . . . . . . . . 209
Auslaufebene . . . . . . . . . . . . . . . . . . . . .15
polygon . . . . . . . . . . . . . . . . . . 17
strecke . . . . . . . . . . . . . . . . . . . 15
viereck . . . . . . . . . . . . . . . . . . . 31
Ausreißerregion . . . . . . . . . . . . . . .27
Berandungspolygon . . . . . . . . . . 17
Bereich
aktueller . . . . . . . . . . . . . . . . 160
kritischer . . . . . . . . . . . . . . . . . 66
Bewertung
einer Orientierung einer
Z-Kante . . . . . . . . . . . . . . . . 210
eines (orientierten)
Differenzgraphen . . . . . . . 218
eines Weges oder
einer Schleife . . . . . . . . . . . 217
Gesamt- . . . . . . . . . . . . . . . . . 211
Block . . . . . . . . . . . . . . . . . . . . . . . 110
Dreieck
gutes . . . . . . . . . . . . . . . . . . . . . 29
EinKantenDreieck . . . . . . . 125
EinKnotenDreieck . . . . . . . 125
P- . . . . . . . . . . . . . . . . . . . . . . . . 17
-paar s. . . . . . . . I-Dreieckpaar
Differenz(zerlegungs)graph . . 211
DKL . . . . . . . . . . . . . . . . . . . . . . . . . 27
DKL(k1 , k2 ) . . . . . . . . . . . . . . . . . 167
Doppel-bogenproblem . . . . . . . . . . 183
-paarvergleich . . . . . . . . . . . 163
Ecke . . . . . . . . . . . . . . . . . . . . . . . . . 25
direkt benachbarte . . . . . . . 96
EinKantenDreieck . . . . . . . . . . . 125
benachbarte . . . . . . . . . . . . . 130
EinKnotenDreieck . . . . . . . . . . . 125
Einlauf-ebene . . . . . . . . . . . . . . . . . . . . 15
-polygon . . . . . . . . . . . . . . . . . . 17
-strecke . . . . . . . . . . . . . . . . . . . 15
-viereck . . . . . . . . . . . . . . . . . . .31
Element
1-3- . . . . . . . . . . . . . . . . . . . . . . 56
1-4- . . . . . . . . . . . . . . . . . . . . . . 44
2-4- . . . . . . . . . . . . . . . . . . . . . . 44
2-3- . . . . . . . . . . . . . . . . . . . . . . 55
3-4- . . . . . . . . . . . . . . . . . . . . . . 43
-bedingung . . . . . . . . . . . . . . . 10
NHPT- . . . . . . . . . . . . . . . . . . . 30
-schicht . . . . . . . . . . . . . . . . . . . 23
-stapel . . . . . . . . . . . . . . . . . . . .20
*-3- . . . . . . . . . . . . . . . . . . . . . . 56
*-4- . . . . . . . . . . . . . . . . . . . . . . 44
Erstnetz . . . . . . . . . . . . . . . . . . . . . . 33
Folge von umzudrehenden
Teilwegen . . . . . . . . . . . . . . . . . . 222
Geländemodell, digitales . . . . . . 13
Gesamtbewertung . . . . . . . . . . . 211
Gitterverfahren . . . . . . . . . . . . . . . 68
Halbweg . . . . . . . . . . . . . . . . . . . . .227
größter und kürzester . . . . 228
255
256
Umdrehen eines . . . . . . . . . 227
HEX-Template . . . . . . . . . . . . . . . 50
Höhendreieckmodell . . . . . . . . . . 21
Höhenschnittpolygon . . . . . . . . . 22
i-3-Template . . . . . . . . . . . . . . . . . 57
i-4-Template . . . . . . . . . . . . . . . . . 50
I-Dreieck . . . . . . . . . . . . . . . . . . . . 159
benachbarte . . . . . . . . . . . . . 160
I-Dreieckpaar
benachbart . . . . . . . . . . . . . . 160
nicht verbindbar . . . . . . . . . 161
Kante . . . . . . . . . . . . . . . . s. Z-Kante
Kehrtwende . . . . . . . . . . . . . . . . . . 71
Knoten-einheit . . . . . . . . . . . . . . . . . .111
-schicht . . . . . . . . . . . . . . . . . . . 23
-tiefenwert . . . . . . . . . . . . . . . . 17
Konflikt-dreieck . . . . . . . . . . . . . . . . . . 30
-dreieckkandidat . . . . . . . . . . .42
-element . . . . . . . . . . . . . . . . . . 30
-elementkandidat . . . . . . . . . 42
-layer . . . . . . . . . . . . . . . . . . . . . 30
-viereck . . . . . . . . . . . . . . . . . . .30
-viereckkandidat . . . . . . . . . . . 42
konform . . . . . . . . . . . . . . . . . . . . . . 10
Konformitätsbedingung . . . . . . .11
Kontur . . . . . . . . . . . . . . . . . . . . . . . 19
Kosten eines
Zerlegungsgraphen . . . . . . . . . . 65
±90◦ -Kriterium . . . . . . . . . . . . . . 73
Kritischer Bereich . . . . . . . . . . . . 66
Länge eines Zerlegungspfades . 31
Minzuproblem . . . . . . . . . . . . . . .211
Netz . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Erstnetz . . . . . . . . . . . . . . . . . . 33
hybrides
2D-Netz . . . . . . . . . . . . . . . . . 5
3D-Netz . . . . . . . . . . . . . . . . . 7
struktuiertes . . . . . . . . . . . . . . . 5
unstrukturiertes . . . . . . . . . . . 5
INDEX
nicht vernetzbar . . . . . . . . . . . . . . 90
Null-Region . . . . . . . . . . . . . . . . . 104
Orientierung, zulässige
eines Differenzgraphen . . . 212
eines Zerlegungsgraphen . 209
P-Dreieck . . . . . . . . . . . . . . . . . . . . 17
P-Ebene (Projektionsebene) . . 16
P-Element . . . . . . . . . . . . . . . . . . . .17
Anpassungselement . . . . . . . 74
heteroformes . . . . . . . . . . . . . 41
Randelement . . . . . . . . . . . . . 19
uniformes . . . . . . . . . . . . . . . . .41
P-Gebiet . . . . . . . . . . . . . . . . . . . . . 17
P-Kanten . . . . . . . . . . . . . . . . . . . . 17
P-Knoten . . . . . . . . . . . . . . . . . . . . 17
P-Netz . . . . . . . . . . . . . . . . . . . . . . . 16
P-Region . . . . . . . . . . . . . . s. Region
P-Uferpolygon . . . . . . . . . . . . . . . . 17
Polygonteile einer schmalen
Region . . . . . . . . . . . . . . . . . . . . . . 27
P-Vernetzung . . . . . . . . . . . . . . . . .17
P-Viereck . . . . . . . . . . . . . . . . . . . . . 17
Polygonabschnitt . . . . . . . . . . . . . 25
PRIS-S-Template . . . . . . . . . . . . . 57
PRIS-W-Template . . . . . . . . . . . . 50
P-Zerlegungspfad . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . s. Zerlegungspfad
Querprofil . . . . . . . . . . . . . . . . . . . . 13
Randelement . . . . . . . . . . . . . . . . . 19
Region . . . . . . . . . . . . . . . . . . . . . . . 18
Null-Region . . . . . . . . . . . . . 104
schmale . . . . . . . . . . . . . . . . . . 27
Polygonteile einer . . . . . . . 27
Übergangsbereich einer . 71
Tiefenwert einer . . . . . . . . . . 19
Schicht . . . . . . . . . . . . . . . . . . . . . . . 23
Schichtforderung . . . . . . . . . . . . . 29
Schleife . . . . . . . . . . . . . . . . . . . . . 217
positive . . . . . . . . . . . . . . . . . 218
negative . . . . . . . . . . . . . . . . . 218
Schleifenfolge von
INDEX
umzudrehenden Teilwegen . 223
Schmale Region . . . . . . . s. Region
Schnittknoten . . . . . . . . . . . . . . . . 25
Schnittpolygon . . . . . . . . . . . . . . . 22
Seitenknoten/Anschlußknoten 66
Senkrechtvektor . . . . . . . . . . . . . 167
S-Prisma . . . . . . . . . . . . . . . . . . . . . 56
Startkante
zu einem Kantenzug . . . . . 227
zu einem Weg . . . . . . . . . . . 212
Startknoten
zu einem Kantenzug . . . . . 227
zu einem Weg . . . . . . . . . . . 212
Subtraktion eines Templates . . 50
Teilweg . . . . . . . . . . . . . . . . . . . . . 220
TET-Template . . . . . . . . . . . . . . . 57
Template
HEX- . . . . . . . . . . . . . . . . . . . . 50
i-3- . . . . . . . . . . . . . . . . . . . . . . . 57
i-4- . . . . . . . . . . . . . . . . . . . . . . . 50
PRIS-S- . . . . . . . . . . . . . . . . . . 57
PRIS-W- . . . . . . . . . . . . . . . . . 50
TET- . . . . . . . . . . . . . . . . . . . . .57
Subtraktion eines . . . . . . . . . 50
t-Fall . . . . . . . . . . . . . . . . . . . . . . . . . 68
Tiefenwert
eines P-Elements . . . . . . . . . 19
eines P-Knotens . . . . . . . . . . 18
einer (P-)Region . . . . . . . . . . 19
T-Weg . . . . . . . . . . . . . . . . . . . . . . 239
t+x-Fall . . . . . . . . . . . . . . . . . . . . . . 68
Überblock . . . . . . . . . . . . . . . . . . . 116
Übergangsbereich einer
schmalen Region . . . . . . . . . . . . 71
Übergangskante . . . . . . . . . . . . . 120
Überschneidung
approximierte . . . . . . . . . . . 179
Uferpolygon . . . . . . . . . . . . . . . . . . 15
Umdrehen
einer Schleife . . . . . . . . . . . . 218
eines Halbweges . . . . . . . . . 227
257
eines Weges . . . . . . . . . . . . . 218
Verbindungskante . . . . . . . . . . . . 89
Vereinigung . . . . . . . . . . . . . . . . . 209
Verfeinerungs-anforderung . . . . . . . . . . . . . 12
-bereich . . . . . . . . . . . . . . . . . . 24
-faktor . . . . . . . . . . . . . . . . . . . 24
-grad . . . . . . . . . . . . . . . . . . . . . 24
-polygon . . . . . . . . . . . . . . . . . .22
Vernetzung2D- . . . . . . . . . . . . . . . . . . . . . . . . 5
2 1/2-D- . . . . . . . . . . . . . . . . . . 19
3D- . . . . . . . . . . . . . . . . . . . . 5, 17
P- . . . . . . . . . . . . . . . . . . . . . . . . 17
Vertikalbedingung . . . . . . . . . . . . 11
Viereck
gutes . . . . . . . . . . . . . . . . . . . . . 29
P- . . . . . . . . . . . . . . . . . . . . . . . . 17
-reihe . . . . . . . . . . . . . . . . . . . . . 73
Weg . . . . . . . . . . . . . . . . . . . . . . . . . 212
Bewertung eines . . . . . . . . . 217
negativer . . . . . . . . . . . . . . . . 218
nicht-erweiterbarer . . . . . . 213
positiver . . . . . . . . . . . . . . . . .218
Startkante zu einem . . . . . 212
Startknoten zu einem . . . . 212
Umdrehen eines . . . . . . . . . 218
Wegfolge von umzudrehenden
Teilwegen . . . . . . . . . . . . . . . . . . 223
W-Prisma . . . . . . . . . . . . . . . . . . . . 44
Zacke . . . . . . . . . . . . . . . . . . . . . . . . 66
nahe bei . . . . . . . . . . . . . . . . . . 69
nahe beieinander liegende 139
nebeneinanderliegende . . . . 69
Spitzenknoten einer . . . . . . .66
Zerlegung, zulässige . . . . . . . . . 208
Zerlegungs-dreieck . . . . . . . . . . . . . . . . . . 62
-dreieckkandidat . . . . . . . . . . 63
-element . . . . . . . . . . . . . . . . . . 37
-graph . . . . . . . . . . . . . . . . . . . . 65
258
Kosten eines . . . . . . . . . . . . 65
-pfad . . . . . . . . . . . . . . . . . . . . . 31
3D- . . . . . . . . . . . . . . . . . . . . . 32
approximierter . . . . . . . . 178
Länge eines . . . . . . . . . . . . . 31
(P-) . . . . . . . . . . . . . . . . . . . . 31
Qualität eines . . . . . . . . . 161
Weiterleitung eines . . . . . 63
-richtung eines
Konfliktdreiecks . . . . . . . . . 60
-layer
eines P-Elements eines
Zerlegungspfades . . . . . . 32
eines Zerlegungspfades . . 32
eines Zerlegungsdreiecks 63
-viereck . . . . . . . . . . . . . . . . . . .32
Z-Kante . . . . . . . . . . . . . . . . . . . . . . 64
negative . . . . . . . . . . . . . . . . . 217
positive . . . . . . . . . . . . . . . . . 217
Z-Knoten . . . . . . . . . . . . . . . . . . . . .64
zulässig orientierter
Z-Knoten in einem
Differenzgraphen . . . . . . 212
Zerlegungsgraphen . . . . . 209
ZweiKantenDreieck . . . . . . . . . . 125
INDEX
Lebenslauf
Name:
Geburtsdatum:
Geburtsort:
Familienstand:
Staatsangehörigkeit:
Konfession:
Irmgard Dittrich, geb. Spies
25.09.1967
Eschweiler
verheiratet mit Ralf Dittrich seit dem 18.12.1996
deutsch
römisch-katholisch
1974-1978
1978-1987
Grundschule Eschweiler-Bergrath
Liebfrauenschule Eschweiler
Abschluss: Allgemeine Hochschulreife
Studium der Informatik mit dem Nebenfach
Mathematik an der RWTH Aachen
Abschluss: Diplom in Informatik
Wissenschaftliche Hilfskraft am
Lehrstuhl für Verkehrswirtschaft,
Eisenbahnbau und -betrieb der RWTH Aachen
Wissenschaftliche Hilfskraft bzw.
Wissenschaftliche Angestellte am Lehrstuhl für
Angewandte Mathematik insbesondere Informatik
bzw. am Lehrstuhl für Informatik VII
der RWTH Aachen
Fertigstellung der Dissertation und Promotion
10.87-10.94
11.94-3.95
4.95-7.95
8.95-8.00
seit 9.00
6.90-8.90
WS 90/91, SS 91
Studentische Hilfskraft
am Forschungszentrum Jülich
Studentische Hilfskraft
am Lehrstuhl für Angewandte Mathematik
insbesondere Informatik der RWTH Aachen
Herunterladen