Gesamtwattalgorithmus

Die Simulation eines Pferderennens im Wattenmeer erforderte die Entwicklung verschiedener Einzelalgorithmen, die aufeinander abgestimmt den Gesamtwattalgorithmus (GWA) ergeben. So mussten ein Wattwurmalgorithmus (WWA) und ein Spritzwasseralgorithmus (SpritzWA) neu entwickelt und mit dem Hufspuralgorithmus und den Windschattenalgorithmen in Einklang gebracht werden. Die Entwicklung zog sich über mehrere Wochen, der Ersteinsatz ist für die GaloppSim-Version 149.10 (voraussichtlich Oktober/November 2018) geplant.

In diesem Beitrag werden die einzelnen Schritte während der Entwicklung des Spritzwasseralgorithmus dargestellt, einschließlich der vollständigen Integration in den Gesamtwattalgorithmus.

Im ersten Schritt wurden das Spritzmuster (SquirtPattern, SQP) in verschiedenen Ausprägungen und die Bandbreite der Spritzlänge (SquirtLength, SQL) festgelegt. Das SQP wird jeweils durch Zufall aus drei Mustern (xlGray8, xlGray25 und xlCrissCross) bestimmt, die SQL durch eine Zufallsganzzahl zwischen 4 und 8. Dabei wurde zunächst davon ausgegangen, dass das Watt durchgängig mit einer dünnen Wasserschicht bedeckt ist. Das Screenshotmaterial für die Spritzwasseranalyse wurde durch Mehrfachbelichtungs-Überblendungstechnik hergestellt.

Die Spritzfarbe (SquirtColour, SQCol) wurde zu Beginn der Algorithmusentwicklung aus den Farben Schwarz (watt), Weiß (matt) und der Wasserfarbe Blau per Zufall errechnet (was in einem späteren Entwicklungsstadium wieder abgeändert wurde).

Der Versuch als vierten Spritzfaktor die Spritzwasserbreite in den Algorithmus einzubeziehen wurde wieder verworfen, da die Analyse von Echtwattrennen eine eher konstante Spritzbreite aufzeigte.

Die Simulation ohne Überblendung zeigt Spritzwasser in verschiedenen Zufallsmustern, -längen, -breiten und -farben hinter jedem Pferd.

Daraus wurde eine reine Dreifaktorsimulation aus SQL, SQP und SQCol mit konstanter Breite abgeleitet.

Als nächstes wurde das bis dahin hinter dem Pferd herspritzende Wasser teilweise in das Pferd hineingezeichnet, da auch schon das vordere Hufpaar geringfügig spritzt. Die Simulationspferde zogen dafür ein paar Bahnen bei niedrigem Wasserstand.

Damit war der Zwischenstand zu diesem Entwicklungszeitpunkt wie im nächsten Screenshot dargestellt mit Mehrfachbelichtung…

… bzw. ohne die Überblendungstechnik.

Nach Videoanalysen von realen Rennen wurde die Spritzwasserfarbe überarbeitet und durch die komplette Tint-and-Shade-Spanne des Theme-Colors xlThemeColorDark1 ersetzt, wodurch die Blautöne verschwinden, da Spritzwasser im Gegensatz zu Stillwasser keine Blaufärbung hat und sich je nach Spritzwinkel und Lichtbrechung zwischen Wattschwarz und mattem Weiß bewegt.

Damit war der Spritzwasseralgorithmus in seiner Grundform fertig und konnte realitätsnah grafisch dargestellt werden.

Als nächstes musste der durch die Gezeitenkräfte verursachte Tidenhub berücksichtigt werden, das heißt dass das Watt je nach Sonnen-, Mond- und Sternenstand unterschiedlich hoch mit Wasser bedeckt ist. Die Spanne reicht von sattem Watt („Ebbe“) über Niedrigwasser mit Pfützen bis zur kompletten Wasserdecke bei Ein- oder Austritt der Flut. Die Lichtspiegelung des Wassers im Wattenmeer wird hier durch eine hellere Graufärbung dargestellt.

Die ersten Testpferde pflügten durch das Watt bei einem simuliertem Wasserstand von etwa 10 cm.

Im nächsten Schritt musste eine Logik entwickelt werden, die den Spritzwasseralgorithmus nur dann auslöst, wenn ein Pferd durch Wasser rennt. Dazu wurden die Wasserstellen markiert, …

… der Pferdedurchlauf registriert …

… und die Markierung wieder zurückgebaut.

Die Spritzlogik kann also mit der Formel
Log(S) = Wasser ⇒ (( Rnd(SQL) Rnd(SQP) Rnd(SQCol) ))
mathematisch abgebildet und in den Spritzwassergrundalgorithmus eingebunden werden.

Darauf aufbauend wurden Wattwürmer aus den lateinischen, griechischen, koptischen und kyrillischen Unicode-Blöcken sowie Wattwurmsonderzeichen in das Gesamtwatt integriert, die nur auf der sichtbaren Wattfläche, nicht aber unter Wasser dargestellt werden sollen. Wattwürmer können – wenn sie unter einen Huf geraten – zertrampelt werden, was durch das UTF-Wattwurmtrampelzeichen 1154 (dezimal), auch „Kyrillisches Tausender-Zeichen“ genannt, optisch umgesetzt wird.

Somit waren sämtliche wattspezifische Gegebenheiten im reinen Wattalgorithmus berücksichtigt.

Der letze Schritt zum Gesamtwattalgorithmus war die Berücksichtigung der optionalen Hufspur- sowie Windschattendarstellung.

Hufspuren unter Wasser sind nicht sichtbar, dagegen übersteuert ein zertrampelter Wattwurm einen reinen Hufabdruck im Watt.

Ein Windschatteneffekt wird im reinen Watt optisch dargestellt, kann aber durch Spritzwasser übersteuert werden.

Die letzte Abbildung zeigt den GWA mit allen obligatorischen und optionalen Teilalgorithmen, wie er in einem Rennsimulator für Wattrennen verwendet werden könnte.