next up previous contents
Next: Volumen/Fläche Up: Die Klassifikationsfunktionen Previous: Die Klassifikationsfunktionen

Volumen/Volumen

 

Zuerst soll der Fall zweier Volumina untersucht werden. Wie zuvor schon angesprochen, geschieht hier die Bestimmung der topologischen 3D-Beziehungen der beiden Tetraedernetze, indem die Beziehungen der einzelnen Tetraeder zueinander ermittelt und diese Teilergebnisse schließlich zusammengesetzt werden.

Die Idee hinter diesem Zwischenschritt besteht darin, das schwierige Problem der Bestimmung der topologischen Lage von zwei simplizialen 3-Komplexen auf die viel leichteren Untersuchungen ihrer enthaltenen Primitive (in Form von 3-Simplexen) herunterzubrechen. Diese sind symmetrisch und vor allem konvex, wodurch deren relative räumliche Lage zueinander leicht zu ermitteln ist.

  algorithm2113

Zu diesem Zweck wurde die Klasse gtTetraNetElement um die Methode getPrimTopRel erweitert (Algorithmus 1). Sie nimmt zwei Tetraedernetzelemente tex2html_wrap_inline4503 entgegen und gibt deren topologische Lage als topFlag zurückgif - hierbei ist der Wert cross aber nicht möglich, da jede echte Überlappung zweier Volumina 3-dimensional ist (vgl. Definition 3.14)

Wie aus diesen Teilergebnissen nun auf die Gesamtbeziehung der beteiligten simplizialen 3-Komplexe zu schließen ist, wird im folgenden bei der Betrachtung der topRel-Methode für zwei Tetraedernetze verdeutlicht.

Algorithmus 2 stellt diejenige Klassifikationsfunktion des GEOTOOLKIT dar, mit der für ein gegebenes Volumen dessen topologische Beziehung zu einem zweiten Volumen bestimmt werden kann. Dazu wird der aktuelle Stand der Berechnung in mehreren topFlags (vgl. 6.1.5) vorgehaltengif, welche anfangs (Zeile 1) so initialisiert werden, daß von einer disjoint-Lage ausgegangen wird.

  algorithm2147

Danach werden alle Tetraeder des ersten Netzes sequentiell durchlaufen und in Beziehung zu den Tetraedern des anderen Netzes gesetzt. Zum aktuellen Tetraeder tex2html_wrap_inline6120 und dessen Bounding-Box tex2html_wrap_inline6122 kann mittels einer nicht-strikten R-Baum-Anfrage (vgl. 4.4.2) diejenige Menge von 3-Simplexen des zweiten Volumens bestimmt werden, die hierfür in Frage kommt (Zeile 4). Alle anderen Tetraeder von tex2html_wrap_inline6124 müssen nicht weiter untersucht werden, da sie zu tex2html_wrap_inline6120 in einer disjoint-Beziehung stehen.

Aus der Tetraedermenge tex2html_wrap_inline4825 werden dann nacheinander alle Tetraeder betrachtet und jeweils die topologische Beziehung tex2html_wrap_inline6130 zu tex2html_wrap_inline6120 ermittelt. Ist diese von disjoint verschieden, so besteht die Möglichkeit, daß die momentan vorgehaltene topologische Beziehung r nicht mehr aktuell ist und erste Anpassungen aufgrund von tex2html_wrap_inline6130 vorgenommen werden können. Wurde etwa eine topologische Lage der beiden Tetraeder festgestellt, in der beispielsweise ein 3D-Schnitt vorliegt (overlap, covers, covered, in oder ni), so wird das touch-Flag auf false gesetzt.

Wie in Kapitel 5 gezeigt wurde, sind jedoch nicht alle topologischen Beziehungen der beiden Tetraedernetze allein durch die relativen räumlichen Lagen ihrer enthaltenen Tetraeder abzuleiten. Es wird also in einem nächsten Schritt überprüft, ob die ermittelte topologische Beziehung tex2html_wrap_inline6130 auch auf den Rändern der beiden Volumina ihre Gültigkeit hat. Dies geschieht mit der gtTetraNetElement-Methode appliesOnSurface (Zeile 9), in der getestet wird, ob die Tetraeder Randdreiecke enthalten und ob diese an der gefundenen Beziehung beteiligt sind. Wenn dem so ist, hat die Lage dieses Tetraederpaares einen größeren Einfluß auf die Gesamtbeziehung: im Falle einer Berührung (von Innen oder Außen) kann das jeweilige Flag nun aktualisiert und die bisher erfaßte Dimension entsprechend angepaßt werden. Außerdem bedeutet eine overlap-Beziehung, die sich über beide Ränder erstreckt den sofortigen Abbruch dieser Funktion, da die beiden Volumina dann ebenfalls die topologische Beziehung overlap aufweisen.

table2171

Bei bestimmten topologischen Lagen der Tetraeder reicht jedoch auch die Betrachtung der Ränder nicht aus, um auf die Gesamtbeziehung schließen zu können. In diesen Sonderfällen ist es vielmehr nötig, auch die benachbarten Tetraeder zu untersuchen (Zeile 11) und die Beziehung eines Tetraeders zur Vereinigung von zwei benachbarten Tetraedern mit einfließen zu lassen. Damit die Entscheidung, bei welchen topologischen Beziehungen unter den Tetraedern auch deren umgebende Simplexe betrachtet werden müssen, auf eine formale Grundlage gestellt werden konnte, wurde zu allen möglichen Beziehungen (außer disjoint) summiert, welche Beziehungen zu den Nachbarn vorkommen können und wenn ja, wie die entstandene Beziehung aussieht - Tabelle 6.1 faßt die so gewonnenen Erkenntnisse zusammen.

Zu den Sonderfällen sind nun diejenigen Kombinationen zu zählen, bei denen zu den benachbarten Beziehungen tex2html_wrap_inline6150 und tex2html_wrap_inline6152 ein Tabelleneintrag zu finden ist, der eine topologische Beziehung enthält, die von tex2html_wrap_inline6150 und tex2html_wrap_inline6152 verschieden ist. Ein Beispiel für einen solchen Sonderfall ist im rechten Bild von Abb. 6.1 (Seite 73) zu sehen. Hier kommt es zu einem overlap, obwohl nur ein touch_2D und ein covers_2D unter den einzelnen Tetraedern festgestellt wurdegif. Da die beiden Tetraeder jedoch benachbart sind, führt diese spezielle Konfiguration zur topologischen Beziehung overlap, welche sogar für die Gesamtbeziehung übernommen wird, wenn der appliesOnSurface-Test positiv ausfällt.

Doch kommen wir wieder zurück zum topRel-Algorithmus. Nachdem die Sonderfälle betrachtet (Zeile 10) und deren Auswirkungen berücksichtigt wurden (Zeile 11), folgt eine erneute Anpassung der aktuellen topologischen Beziehung in den jeweiligen Flags (Zeile 13) und die sofortige Rückmeldung eines eventuellen overlaps, bevor das nächste Tetraeder der nicht-strikten R-Baum-Anfrage aus Zeile 4 gewählt und deren topologische Beziehung zum aktuellen Tetraeder aus dem ersten Netz betrachtet wird.

Wurde so mit allen Elementen des ersten Tetraedernetzes verfahren, erfolgt in Zeile 19 die Rückgabe der von overlap verschieden topologischen Gesamtbeziehung der beteiligten Volumina.

Ein ähnlicher Aufbau ist auch bei den anderen topRel-Methoden zu finden, auf die im folgenden aber noch genauer eingegangen werden soll, da hierbei auch interessante Sonderfälle auftreten können.


next up previous contents
Next: Volumen/Fläche Up: Die Klassifikationsfunktionen Previous: Die Klassifikationsfunktionen

Stefan Hecht
Thu Aug 26 14:06:24 MET DST 1999