29. Juni 2017

Wellen schlagen

Computerwissenschaftler verwenden die Theorie von Wellenpaketen, um realistische und detaillierte Simulationen von Wasserwellen in Echtzeit zu erstellen. Ergebnisse werden auf der diesjährigen SIGGRAPH Konferenz vorgestellt.

Denkt man an einen See, einen Fluss oder an das Meer, so sieht man vor sich, wie sich das Wasser kräuselt, wie Wellen gegen die Felsen schlagen, wie Bugwellen von den Schiffen ausgehen und wie sich die Sonne auf den Wellenkämmen spiegelt. Die mathematischen Gleichungen, die diese Phänomene beschreiben, sind zwar seit über hundert Jahren bekannt, ihre Lösung ist aber überraschend schwierig und zeitaufwändig. Das macht das Erstellen von genauen und realistischen Simulationen für Computerwissenschaftler und Künstler zu einer beträchtlichen Herausforderung. Jetzt haben es Computerwissenschaftler vom Institute of Science and Technology Austria (IST Austria) und Nvidia geschafft, mit einer neuen Repräsentation der Wellen die Effizienz der Berechnung um mindestens eine Größenordnung zu verbessern. Ihre Methode, die auf Prinzipien aus der theoretischen Physik basiert, ermöglicht deutlich mehr visuelle Details und einen größeren Grad an Kontrolle durch den Nutzer. 

Die Gleichungen, die man benötigt um eine Wasseroberfläche zu modellieren, sind in ihrer Originalform so schwierig zu lösen, dass WissenschaftlerInnen für ihre Untersuchungen üblicherweise annehmen, dass die Wellen „nicht allzu groß“ sind. Das vereinfacht das Problem zwar ausreichend für ihren Zweck, aber nicht genug, um es in Computergraphiken in den Griff zu bekommen. In der Vergangenheit waren daher weitergehende vereinfachende Annahmen vor dem Anwenden der numerischen Verfahren nötig, um die Gleichungen zu lösen. Bei diesem Zugang wurden die Wasserwellen durch ein Gitter aus Punkten dargestellt, die sich in unterschiedlicher Höhe über der Wasseroberfläche befanden. Die Bewegung wurde dann simuliert, indem die Höhe der Punkte unter Berücksichtigung der Nachbarpunkte immer wieder neu berechnet wurde. Dabei hängt die Qualität der Simulation aber davon ab, wie nahe die Punkte beisammen liegen. Auch ist es nahezu unmöglich, ein Bild der Welle in der fernen Zukunft zu erzeugen, da die Anpassungen - also die Zeitschritte - einer nach dem anderen berechnet werden müssen. Ein erster Durchbruch gelang 2007, als ein Forscherteam sich von der Idee abwandte, die Wellen in einem Gitter zu speichern, und stattdessen Wellenkämme als eine Kette von Punkten modellierte, wobei sie den Punkten erlaubten, sich genau wie echte Wellen entlang einer Oberfläche auszubreiten.

Nun haben IST Austria-Professor Chris Wojtan und der ehemalige IST Austria-Postdoc Stefan Jeschke Ideen aus der theoretischen Physik angewendet um einen neuen Typ von Repräsentationen zu entwickeln. In diesem werden die Wellen als Pakete dargestellt. Jedes der Wellenpakete enthält eine Sammlung von ähnlichen Wellenlängen, und größere Formationen werden erzeugt, indem man individuelle Pakete addiert. Wellen auf diese Weise aufzuspalten ist in der Physik prinzipiell kein neues Konzept, im Bereich der Computergraphik allerdings schon, und auf diese Weise konnte das Team eine  Simulation entwickeln, die vielseitiger und auch physikalisch plausibler ist als bisherige Methoden. Darüber hinaus ist die Methode weitgehend unabhängig von Zeitschritten und benötigt kein Datengitter. Der Nutzer kann in der Simulation also weit in die Zukunft (oder die Vergangenheit) blicken, und die Wellen auch aus beliebiger Nähe betrachten. Wichtige Effekte wie Reflektion, Dispersion, Refraktion, Beugung und Dissipation können mit einem minimalen Zusatzaufwand berücksichtigt werden, was die Qualität und die Glaubwürdigkeit der Simulation weiter erhöht.

Abgesehen von der Glaubwürdigkeit sind die Berechnungskosten und die Effizienz ausschlaggebend für jede Simulation – und die neue Methode des Forscherteams übertrifft bisherige Methoden auch in dieser Hinsicht. „Wenn wir eine Computersimulation optimieren, dann müssen wir darüber nachdenken welche Information wir abspeichern, wie viel wir davon abspeichern, und welchen Aufwand es bedeutet, alles zu aktualisieren“, erklärt Chis Wojtan. „In diesem Fall ist es ein relativ geringer Aufwand, ein einzelnes Wellenpaket abzuspeichern und zu aktualisieren. Da alle Pakete parallel berechnet werden obliegt die Anzahl der Wellenpakete den Nutzern und kann so gewählt werden, dass sie zu ihrem Bedarf und zur Leistungsfähigkeit ihres Systems passt.“

„Es ist auch bei Künstlern beliebt“, fügt Stefan Jeschke hinzu. „Wenn ein Regisseur – auch wenn die Physiker dagegen sind – die Wellen größer machen will, dann kann die Wellenhöhe in einer bestimmten Gegend einfach angepasst werden indem man die Wellenpakete in dieser Region ändert. Würde die Visualisierung auf kleinen sequentiellen Zeitschritten beruhen, dann würde das Ausführen einer winzigen Änderung bedeuten, dass man eine weitere zwanzigstündige Berechnung durchführen muss, mit dem Risiko, dass auch die nächste Version wieder abgelehnt wird.“

Zusätzlich zur Implementierung der Wellenpakete entwickelten Jeschke und Wojtan auch eine neue Theorie um das Kielwasser zu simulieren, also die Spur im Wasser, die ein Objekt hinter sich herzieht, wenn es sich über die Wasseroberfläche bewegt. Wieder appellierten sie an die theoretische Physik um herauszufinden, welche Wellen visuell eine bedeutende Rolle spielen, sodass sie unwichtige Bewegungen ignorieren und die Berechnungskosten somit reduzieren konnten. Das Team arbeitet derzeit an der nächsten Version ihrer Methode, aber der Quellcode für ihre derzeitigen Simulationen kann hier herunter geladen werden. Ein Video, das die Simulation in Aktion zeigt, gibt es hier zu sehen.

Chris Wojtan erhielt sein Doktorat 2010 vom Georgia Institute of Technology. Unmittelbar danach kam er als Assistant Professor an das IST Austria, wo er eine Forschungsgruppe über Computergraphik und Physiksimulation leitet. 2015 wurde er zum Full Professor ernannt. Stefan Jeschke erhielt sein Doktorat 2005 von der Universität Rostock. Nach Postdoc-Stellen in Wien und Arizona forschte er von 2012 bis 2016 in Professor Wojtans Gruppe am IST Austria. 2016 ging er als Wissenschaftler und Entwickler zu Nvidia.

Webseite über das Projekt: http://visualcomputing.ist.ac.at/publications/2017/WWP/

Link zur Originalpublikation: http://pub.ist.ac.at/group_wojtan/projects/2017_Jeschke_WaterWavePackets/wavepackets_author.pdf

Link zum Video: https://www.youtube.com/watch?v=A2auK5Sf4gY&feature=youtu.be

Source code: https://zenodo.org/record/525184#.WUOIrWiGOCg