zur Homepage von Johannes Staeveszum vorherigen Kapitelzum Inhaltsverzeichniszum nächsten Kapitelzum PtU

13.2.2 Algorithmus für die Perkolationstiefe

Bild 75: Horizontale Schnitte durch eine Oberfläche oberhalb (links) und unterhalb (rechts) der Perkolationstiefe

Bild 75 zeigt zwei horizontale Schnitte durch ein Lasertex-Blech. Geschnittenes Material ist schwarz, Leerflächen sind weiß dargestellt. Bei der Schnittiefe der linken Topografie ist eine zusammenhängende Leerfläche vorhanden, die es Schmierstoff ermöglicht, von einer Seite zur anderen hindurchzufließen (zu perkolieren). Die Perkolation ist damit gegeben. In der Rechten Fläche sind zusammenhängende Materialflächen vorhanden, die dem Schmierstoff den Weg versperren, so daß die Perkolation nicht gegeben ist. Die Schnittiefe bei der der Übergang erfolgt wird Perkolationstiefe genannt.
Der Algorithmus zur Berechnung der Perkolationstiefe basiert auf einem flood-fill-Algorithmus und erfordert rekursive Programmaufrufe.
Mit einer ersten Programmschleife werden die Schnitte für zunehmende Schnittiefe berechnet. Für jeden Schnitt wird überprüft, ob die Perkolation gegeben ist. Je mehr Schnitte berechnet werden, desto genauer läßt sich die Perkolationstiefe bestimmen.
Zur Überprüfung der Perkolation verläuft eine zweite Schleife bei jedem Schnitt über alle Punkte einer der Kanten der Fläche (in Bild 75 beispielsweise der unteren Kante). Für jeden dieser Punkte wird zunächst geprüft, ob er ober- oder unterhalb der Schnittiefe liegt. Für alle Punkte, die unterhalb der Schnittiefe liegen (weiß dargestellt) wird ein Programmteil, der hier "Nachbarpunkte_prüfen" genannt werden soll aufgerufen. Dieser Programmteil überprüft, ob die vier rechts, links, vor oder gegebenenfalls hinter diesem Punkt liegenden benachbarten Punkte ebenfalls unter der Schnittfläche liegen. Liegt einer der benachbarten Punkt unter der Schnittiefe, dann wird für diesen Punkt ein zweites mal der Programmteil "Nachbarpunkte_prüfen" aufgerufen. Die zweite Instanz von "Nachbarpunkte_prüfen" überprüft die benachbarten Punkte des zweiten Punktes. Sind alle benachbarten Punkte geprüft, dann wird diese zweite Instanz von "Nachbarpunkte prüfen" beendet und die erste Instanz überprüft die restlichen benachbarten Punkte des ersten Punktes. Dieser rekursive Aufruf von "Nachbarpunkte_prüfen" führt dazu, daß sich der Programmteil "Nachbarpunkte_prüfen" so lange immer wieder selbst aufruft, bis jeder Punkt einer zusammenhängenden Leerfläche ein mal geprüft worden ist. In "Nachbarpunkte_prüfen" wird eine zusätzliche Abfrage vorgenommen, die überprüft, ob einer der benachbarten Punkte am gegenüberliegenden Rand der Meßfläche liegt. Ist dies der Fall, dann ist eine zusammenhängende Leerfläche vorhanden und die Perkolation gegeben. Die tatsächliche Perkolationstiefe liegt zwischen der Schnittiefe dieses Schnittes und der Schnittiefe des darüberliegenden Schnittes.
Bei anisotropen Topografien kann es hilfreich sein, die Perkolationstiefe für zwei benachbarte Kanten zu bestimmen. (In Bild 75 von unten nach oben und von rechts nach links) Bei einer geschliffenen Struktur ist die Perkolationstiefe quer zur Schleifrichtung geringer als parallel dazu. Die Differenz beider Perkolationstiefen kann als Maß für die Richtung der Oberfläche genutzt werden.

zur Homepage von Johannes Staeveszum vorherigen Kapitelzum Inhaltsverzeichniszum nächsten Kapitelzum PtU