Der Ray-Trace-Algorithmus, der von Hagouel [Hag76] vorgeschlagen wurde, bewegt Punkte der Simulationsgeometrie entlang Trajektorien von Strahlen die durch Materie wandern. Die Ausbreitungsgeschwindigkeit der Wellen kann dabei durch ein skalares Geschwindigkeitsfeld erfolgen. Für die Bewegung der Trajektorie gilt:
wobei ein differentielles Wegelement der Trajektorie und den Einheitsvektor entlang dieser Trajektorie darstellen. beschreibt ein allgemeines skalares Geschwindigkeitsfeld, ist der zugehörige Ortsvektor. In Analogie zum Wellenausbreitungsphänomen des Lichtes kann man sich den Ätzvorgang nun als Wellenausbreitung einer Ätzfront vorstellen, wobei die Bewegung der zu dieser Ätzfront orthogonal verlaufenden Ätz-Trajektorien durch die obige Strahlengleichung (Gleichung 2.2) beschrieben werden kann, indem man das allgemeine Geschwindigkeitsfeld durch ein Ätzratenfeld ersetzt:
Nach einfacher Umformung
und Diskretisierung nach dem Wegelement erhält man:
beschreibt nun den Weg, den eine Punkt der Trajektorie zwischen den Positionen und mit einer mittleren Ätzgeschwindigkeit zurücklegt. Wenn die dafür benötigte Zeit ist, wird mit
aus Gleichung 2.5 weiters:
Unter der Annahme, daß die Änderung der Ätzrate zwischen den Punkten und klein ist, folgt mit
aus Gleichung 2.7:
Die Gleichung 2.9 beschreibt die Richtungsänderung der Trajektorie von Punkt nach in Abhängigkeit des Gradienten der Ätzrate und kann in dieser Form zur Simulation eines Ätzvorganges herangezogen werden. Die Ätzrate dieses Ätzprozesses muß jedoch richtungsunabhängig sein (Gleichung 2.2 und 2.3), wodurch mit diesem Verfahren nur isotrope Ätzprozesse (chemisches Naßätzen) beschrieben werden können. Abbildung 2.18 zeigt das Prinzip des Ray-Trace-Algorithmus.
Abbildung 2.18: Der Ray-Trace-Algorithmus.
Der Algorithmus bewegt Punkte der Oberfläche entlang der Trajektorien von Strahlen, die durch ein inhomogenes Geschwindigkeitsfeld wandern. Zu beachten ist, daß jede Trajektorie unhabhängig von allen übrigen Trajektorien ist. Während des Ätzvorganges bewegt sich damit jeder Punkt völlig unabhängig von seinen Nachbarpunkten durch die Geometrie, wobei auch keine Verbindung in Form von Liniensegmenten oder ähnlichem zwischen den Punkten besteht. Der Algorithmus beschreibt daher auch keine vollständige Lösung des Topographieproblems, da am Ende der Simulation nur eine Punktverteilung als Resultat vorliegt, woraus anschließend die aktuelle Simulationsgeometrie rekonstruiert werden muß.