Einschub:

Alle acht an die Ecke grenzenden Würfel zu erzeugen und in eine Hashtable zu schreiben hätte zwar über 1000 Zeilen Code sparen können, wäre aber sicher wesentlich langsamer, da mein Code die spezielle Struktur des Problems ausnützt.

Deshalb wird nun auch eine Liste von Würfeln, ,,pending_cubes``, also ,,anstehende Würfel`` habe ich sie getauft, durchlaufen, deren Zellindex im letzten Durchlauf noch als potentieller Nachbarwürfel eines noch kommenden neuen Würfels in Frage kam. Würfel, für die dies nicht mehr zutrifft, werden aus der pending_list gelöscht. Wird ein Nachbarwürfel gefunden , so wird die entsprechende Ecke des Nachbarwürfels als der aktuellen Ecke zugehörig markiert. Wird einer der acht Nachbarwürfel nicht gefunden, so wird dieser ebenfalls neu erzeugt. Alle neu erzeugten Würfel werden in die pending_list aufgenommen und es wird die nächste Ecke abgearbeitet.

Abbildung: Bevor die Zelle ,,neu`` in die Liste der Zellen aufgenommen wird, werden die Zellen ,,pending`` auf Nachbarschaft geprüft und gemeinsame Punkte angepasst. Der benötigte Nachbar ,,neuer`` fehlt noch und wird deshalb mit ,,neu`` erzeugt und als ,,pending`` in die Zellliste aufgenommen.
\includegraphics{pix/pendinglist01.eps}

Leo Wandersleb 2005-01-17