5.2.2.3 Einfach zusammenhängende Teilgebiete



next up previous contents
Next: 5.2.2.4 Generieren der Tetraeder Up: 5.2.2 Ausnutzung der geschichteten Previous: 5.2.2.2 Zweidimensionale geometrische Datenaufbereitung

5.2.2.3 Einfach zusammenhängende Teilgebiete

Wie schon erläutert, müssen mehrfachzusammenhängende Gebiete in einfachzusammenhängende Gebiete geteilt werden. Außerdem besteht eine weitere Forderung von TRIGEN, nämlich daß links- und rechtseitige Flächenreferenzen einer Kante nicht gleich sein dürfen.

  
Abbildung 5.35: Mehrfach zusammenhängendes Gebiet

Geometrische Tests müssen überprüfen, ob ein Polygon in einem anderen Polygon vollständig eingeschlossen ist. Dazu wird ein vermeintlich ,,inneres`` Polygon herangezogen, und dessen Eckpunkte werden darauf überprüft, ob sie alle im Inneren des ,,äußeren`` Polygons liegen.

Die Abfrage, ob ein Punkt in einem allgemeinen Polygon liegt, läßt sich auf einen Winkelsummentest reduzieren. Vom zu testenden Punkt werden zu jedem Eckpunkt des ,,äußeren`` Polygons temporäre Vektoren definiert und alle Winkel im Testpunkt, die vom Testpunkt aus durch eine Verbindung zur nächsten Linie gebildet werden, aufsummiert. Ist die Winkelsumme null, so liegt der Testpunkt außerhalb des Polygons.

Die Anordnung in Abbildung 5.35 zeigt, daß der angeführte Test allein noch nicht ausreichend ist, um eine Zerlegung in einfach zusammenhängende Gebiete durchzuführen. Es ist zunächst zu ergründen, welches Polygon bei einem gegebenen Polygon das unmittelbar darüberliegende ist. Jedes Polygon kann einer Ebene hinsichtlich der Verschachtelungstiefe zugeordnet werden.

Die Flächen und der Abbildung 5.35 liegen in , und liegen in . Es läßt sich daher einfach prüfen, welche Polygone um ein zu testendes Polygon liegen:

Ausgehend von der Flächenliste werden unter Verwendung des beschriebenen Tests die übergeordneten Polygone in Form von verketteten Listen eingetragen. Nun geht man das Feld durch und löscht jene Flächenreferenzen aus der Liste, wo die Anzahl der übergeordneten Elemente des Listenkopfs minus eins ungleich der Anzahl der übergeordneten Elemente in der zugehörigen verketteten Liste ist. Für wird also und in der verketteten Liste gelöscht. Die neue Liste enthält damit nur ihre unmittelbar übergeordneten Flächen.

Die Zerlegung in einfach zusammenhängende Gebiete behandelt jedes Polygon zum übergeordneten Polygon für sich allein. Es werden von einem Polygon, bei vorhandenem übergeordneten Polygon, jeweils zwei Schnitte zum übergeordneten Polygon, wie in Abbildung 5.35, gesetzt.

Als erste Schnittkante wird der kürzeste Normalabstand zwischen einer übergeordneten Polygonkante und einem inneren Polygoneckpunkt gewählt. Der zweite Schnitt liegt dann im folgenden oder vorhergehenden Polygoneckpunkt, wobei als Entscheidungskriterium der kürzere der beiden Abstände herangezogen werden kann. Es wäre auch sinnvoll, als zusätzliches Entscheidungskriterium die Schnittwinkel heranzuziehen.

Da hier die Überprüfung auf zufällige Schnitte mit anderen unbeteiligten Polygonkanten entfällt, werden die Flächen aus den Kanten erneut erzeugt. Es soll darauf hingewiesen werden, daß diese Zerlegungsmethode für die Problemstellungen, wie sie hier verwendet wurden, den Anforderungen genügt. Es sind jedoch leicht Beispiele für diese oder auch für aufwendigere Schnittmethoden zu finden, die schleifende Schnitte mit anderen Polygonen erzeugen oder Gebiete mit extrem kleinen Teilgebieten erzeugen, die vom Gittergenerator mit extrem kleinen Elementen aufgelöst werden. Tritt ein solcher Fall auf, so müssen die Polygone in einer Art spezifiziert werden, daß keine mehrfachzusammenhängenden Gebiete auftreten.

Eine auf diese Art aufbereitete Geometrie genügt prinzipiell den Anforderungen des Gittergenerators TRIGEN und kann dadurch in Dreiecke zerlegt werden.



next up previous contents
Next: 5.2.2.4 Generieren der Tetraeder Up: 5.2.2 Ausnutzung der geschichteten Previous: 5.2.2.2 Zweidimensionale geometrische Datenaufbereitung



Martin Stiftinger
Fri Nov 25 16:50:24 MET 1994