MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
An dieser Stelle sollte über die Verwendung eines Preprocessing-Tools nachgedacht werden, d.h. ob<br />
nicht Teile oder sogar ganze Algorithmen vor der eigentlichen Cave-Anwendung ausgeführt werden<br />
können. Runtime-Werkzeuge müssen bei jeder Anfrage nach einem Pfad quasi wieder bei Null<br />
beginnen. Sie legen Speicherplatz für nahezu jeden der Knoten an, die zur Pfadberechnung verarbeitet<br />
werden müssen. Jede Anfrage – diese können natürlich auch parallel auftreten – löst dabei ein<br />
solches Verfahren aus, was den großen Nachteil dieser Methode ausmacht. Eine Möglichkeit eines<br />
Preprocessing-Tools ist es deswegen, eine Tabelle mit allen möglichen Pfaden anzulegen. Die Komplexität<br />
sinkt dadurch bei einer Pfadanfrage, da die Pfade direkt aus der Tabelle entnehmbar sind. Die<br />
vorverarbeitende Berechnung kann Informationen über das jeweilige Gelände sowie Verbindungsinformationen<br />
und Anwendungsdaten der partitionierten Welt mit einbeziehen. Allerdings muss sich<br />
hierbei auf rein statische Informationen der virtuellen Welt beschränkt werden. Die Navigation betreffende<br />
Änderungen zur Laufzeit, wie zum Beispiel eine plötzlich im Weg stehende andere Kreatur,<br />
können nicht berücksichtigt werden.<br />
7.2 Möglichkeiten der Navigationsdatenerzeugung<br />
Wie im vorigen Artikel bereits angesprochen, muss in der ersten Ebene eines Wegfindealgorithmus<br />
die virtuelle Welt abstrahiert und partitioniert werden. Es müssen Navigationsdaten erzeugt werden.<br />
Rasterung, Wegpunktesystem und Navigationsgitter sind Beispiele hierfür, die wir nun im folgenden<br />
näher erläutern möchten.<br />
7.2.1 Rasterung<br />
Ein erster Ansatz, den wir für Erhebung von Navigationsdaten in Betracht gezogen haben, ist die Einteilung<br />
der gesamten Fläche des virtuellen Raumes in ein schachbrettartiges Raster [Rab02, S. 264–<br />
265]. Für jedes einzelne Quadrat, das sich dadurch ergibt, wird nun jeweils festgelegt, ob es im einfachsten<br />
Fall für die Kreaturen begehbar ist oder nicht. Liegt es beispielsweise im Wasser oder handelt<br />
es sich dabei um eine Mauer, wird es dementsprechend markiert. In komplexeren Ansätzen ließe<br />
sich zusätzlich definieren, welche Eigenschaften einer Kreatur zum Betreten der jeweiligen Fläche<br />
nötig sind. Eine Kreatur, die schwimmen kann, könnte dann natürlich eine Wasserfläche betreten; eine<br />
ohne diese Fähigkeit bliebe wiederum davor stehen. Für die Berechung der Wege, welche Kreaturen<br />
auf diesem Raster zu ihrem angestrebten Ziel bringen, müssen geeignete Wegewahlalgorithmen<br />
eingesetzt werden, wie zum Beispiel der A*-Algorithmus.<br />
47