Schattenblick →INFOPOOL →GEISTESWISSENSCHAFTEN → FAKTEN

BERICHT/053: Mathematik in Computerspielen (idw)


Jahr der Mathematik - 21.08.2008

Mathematik in Computerspielen


Gilt Mathematik meist als trockene und schwierige Materie, so betrachten insbesondere Kinder und Jugendliche Computerspiele als das genaue Gegenteil: Computerspiele gelten als abwechslungsreich, unterhaltsam und einfach zu verstehen. Dennoch: In jedem Computerspiel steckt Mathematik - sogar sehr viel Mathematik. Nur man erkennt es nicht auf den ersten Blick.

Um Gegenstände, virtuelle Charaktere, Bewegungen und Landschaften darzustellen, werden Funktionen, Kurven und Gleichungen benutzt: Geometrie und Algebra insbesondere zur räumlichen Darstellung, Analysis und numerische Mathematik für Bewegungsabläufe und zufällige Ereignisse, Graphentheorie und Kombinatorik für Entscheidungen sowie Analysis und Funktionalanalysis zur Bildkompression und Bildcodierung. Das Erzeugen virtueller Realitäten, seien es Schlachten oder Autorennen, oder die Echtzeitkommunikation zwischen oftmals Hunderten oder Tausenden Spielern bauen auf Simulation, schnellen Rechnern und zuverlässigen Verbindungen.

Bei den Spielern sind realitätsnahe sowie intelligent konzipierte und abwechslungsreiche Computerspiele gefragt. Die Mathematik kommt zunächst ins Spiel, um die Figuren zu modellieren. Spielfiguren und virtuelle Gegenstände wie z. B. Autos, Flugzeuge, Häuser oder Schwerter werden aus geometrischen Grundfiguren aufgebaut. Die "Bausteine" sind unter anderem Würfel, Kugeln oder Zylinder. Die Mathematik bringt die virtuelle Welt auch in Bewegung: Differentialgeometrie und Lineare Algebra helfen, mittels Vektorrechnung Schnitt- und Berührungspunkte zu ermitteln, Streckenlängen, die eine Figur zu gehen hat, zu bestimmen oder die Oberfläche eines Körpers darzustellen. Und damit das Spiel nicht langweilig wird, lassen sich mit Zufallszahlen-Generatoren überraschende Effekte erzielen, indem sich beispielsweise Spielfiguren scheinbar zufällig auf einem virtuellen Schlachtfeld verteilen.

Inzwischen machen sich auch andere Anwendungsbereiche die Vorzüge der Spielkonsolen, also die speziellen Computer, auf denen interaktive Computerspiele gespielt werden, zunutze. Weil diese schnellen Rechner sehr viele Datensätze in kurzer Zeit berechnen können, verwenden Berliner Mathematiker sie, um Blutproben zu analysieren. Ein üblicher Computer mit entsprechender Rechenleistung wäre um ein Vielfaches teurer gewesen.

Simulieren mit Hilfe einfacher geometrischer Figuren

Simulieren heißt vor allem vereinfachen. Für geometrische Objekte, wie sie in Computerspielen vorkommen, bedient man sich dafür oftmals eines Tricks: Für die Darstellung einer gleichmäßig runden Kugel reicht es beispielsweise aus, den Anschein zu erwecken, als handele es sich um eine solche. Tatsächlich wird mit einem eiförmigen Gebilde oder einem Würfel gearbeitet. Der Würfel muss nur so oft beschnitten werden, dass seine Ecken irgendwann nicht mehr als eckig, sondern als rund wahrgenommen werden. Man spricht hier auch von anmutungstreuer Simulation. Bei einem Zusammenprall zweier Körper zum Beispiel beschränkt man sich auf die Modellierung eines oder weniger Punkte, die sich berühren. Die übrige Figur ist lediglich eine virtuelle Hülle. Die Konturen werden durch Punkte oder vereinfachte Linien (Geraden, Kreisbögen) und einfache Körperformen (z. B. Zylinder) nachmodelliert. Die Programmierer benutzen dafür sogenannte Primitive. Meist sind es Vielecke (Polygone) und hier wiederum in den meisten Fällen das denkbar einfachste: nämlich Dreiecke.

Um beispielsweise einen virtuellen Drachen, der sich im Wind bewegt, steigen zu lassen, wird dessen Form in viele kleine Dreiecke zerlegt. Dann muss man nur noch die Tausenden Dreieckspunkte betrachten und ihre Bewegung beschreiben. Die übrigen Punkte dazwischen kann man vernachlässigen. Für computeranimierte Filme benötigt man wesentlich realistischere Darstellungen als für ein Computerspiel. In einem Spiel dagegen kommt es eher auf Schnelligkeit an, damit keine unnötigen Pausen entstehen und der Spieler sich langweilt. Die exakte Berechnung einer komplizierten geometrischen Form würde (zumindest derzeit) noch viel zu lange brauchen. Und der optische Gewinn wäre vernachlässigbar.

Bilder mit Fraktalen minimieren

Anders als bei der Verarbeitung von Texten im Computer ist für die Erzeugung von Bildern in Computerspielen viel Rechenleistung erforderlich. Oftmals reicht für die Darstellung auf dem Bildschirm allerdings schon ein eher grobes Bild aus, das mit weniger Informationen auskommt. Das funktioniert insbesondere dann gut, wenn sich die Teile des dargestellten Objektes ähneln, beispielsweise bei einer Ziegelmauer als Hintergrundbild für eine Spielszene. Sie sieht an jeder beliebigen Stelle mehr oder weniger gleich oder zumindest ähnlich aus. Das gilt ebenso für die Bäume einer Allee als Kulisse für eine Autorallye: Der dicke Zweig des Baumes ähnelt einem kleineren und dieser wiederum einem noch kleineren.

Mathematisch gesehen handelt es sich hierbei um so genannte Fraktale - geometrische Muster, deren Teile dem Ganzen ähnlich sind. Man spricht hier von Selbstähnlichkeit. Mit Hilfe dieser Theorie werden bei der fraktalen Bildkompression Bilder auf einfache geometrische Transformationen wie Drehungen, Streckungen, Stauchungen und Verschiebungen zurückgeführt. Das Knifflige dabei ist, die ähnlichen Bildteile zu ermitteln. Später lassen sich große Teile des Bildes aus den kleinen rekonstruieren, indem die Bildinformationen aus dem komprimierten, also dem codierten Bild herausgelesen werden. Das Verfahren hat einen besonderen Vorteil: Das Bild lässt sich stark komprimieren, und das wieder dekomprimierte Bild ist beliebig skalierbar. Selbst über seine ursprüngliche Größe hinaus ließe es sich exakt darstellen.

Raytracing: Gegenstände aus Strahlen berechnen

Computerspiele leben von Aktionen. Deshalb ist es meist nicht entscheidend, ob in einer Spielszene das Licht, das eine Lampe in einem Zimmer verbreitet, exakt den physikalischen Gesetzen entspricht. Hauptsache die Schatten, den die Gegenstände werfen, haben annähernd die richtige Form. Inzwischen erlauben aber immer schnellere Algorithmen und Prozessoren auch bei Computerspielen die Anwendung des Raytracings. Es handelt sich dabei um ein Verfahren, das in computeranimierten Filmen bereits eingesetzt wird. Mit Raytracing (dt: "Verfolgen von Strahlen") kann ein sehr realistisches Bild eines Raumes gezeichnet werden, weil sich Lichteffekte wie Spiegelungen und Brechungen oder auch Schattenwürfe exakt berechnen lassen. Berücksichtigt werden auch die unterschiedlichen Materialeigenschaften der Gegenstände, die in unterschiedlichem Maße Licht reflektieren. Farbe und Helligkeit eines jeden Bildpunktes werden anhand virtueller Strahlen berechnet. Die Strahlen sind hierfür mathematisch gesehen als Geraden dargestellt. Mit Hilfe der analytischen und projektiven Geometrie berechnet man die Schnittpunkte der Geraden und ihre Abstände zueinander.

Den Zufall programmieren

Wer in einem Taktik- oder Strategiespiel gegen den Computer spielt, wünscht sich einen Gegner, der es einem nicht allzu leicht macht. Der Computer sollte sinnvoll und intelligent auf die Aktionen des Spielers reagieren. Jedes Computerspiel wäre schnell langweilig, falls sich die Reaktionen oder Ereignisse zur sehr ähnelten und womöglich vorhersehbar wären. Ein plötzliches Ereignis dagegen kann eine ganz neue Spielsituation schaffen. Aber wie "lernt" ein Computer zufälliges Verhalten oder das Erzeugen plötzlicher Ereignisse? Wieder hilft die Mathematik. Mathematiker kennen Algorithmen, die scheinbar zufällige Zahlen generieren. Die Programme, die solche Zahlen berechnen, werden Zufallszahlen-Generatoren genannt.

Eine einfache Variante nennt sich linearer Kongruenz-Generator: Man gibt eine beliebige, sehr große Zahl - den Startwert - vor, multipliziert diese Zahl mit einer anderen großen Zahl, addiert noch eine dritte hinzu und teilt dann das Ganze durch eine weitere vorher festgelegte Zahl. Vom Ergebnis nimmt man lediglich den Rest - dies ist die erste Zufallszahl -, verwendet diesen als neuen Ausgangswert und wiederholt das Verfahren. Die einzelnen Werte sind streng genommen natürlich berechenbar und wiederholen sich nach einen gewissen Anzahl von Iterationen. Da aber die Zahlen so gewaltig groß sind, ist das kein Problem. Viele Programmiersprachen haben eingebaute Zufallszahlen-Generatoren. In der Sprache Java beispielsweise verwendet man als Zahl, durch die geteilt wird, die riesige Zahl 248 = 2 _ 2 _ 2 _ ... _ 2 (48-mal), und die Zahl, mit der unser Startwert multipliziert wird, ist gleich 252.149.003.917. Lediglich der Startwert kann vom Computerspiel-Programmierer beliebig gewählt werden.

Bewegung simulieren

Computerspiele leben von Bewegung. Ob Spieler als virtuelle Sportler die Hürden in einem Wettrennen nehmen oder einen Diskus schleudern, stets werden Bewegungsabläufe dargestellt. Diese gehorchen physikalischen Bewegungsgleichungen und lassen sich mathematisch beschreiben - meistens durch Differentialgleichungen.

In der Regel gibt es aber keine einfache Formel, die beispielsweise einen Wert für die Wurfweite ausgibt, sobald Geschwindigkeit, Richtung und die Masse der Wurfscheibe angegeben sind. Besonders kompliziert wird es, wenn mehrere Körper miteinander agieren; beispielsweise wenn beim Billardspiel eine Kugel gleichzeitig auf zwei andere Kugeln trifft. Diese Mehrkörperdynamik ist noch immer eines der schwierigsten mathematischen Probleme und nur für wenige Spezialfälle gelöst.

Für einfachere Bewegungen wie Rotationen im dreidimensionalen Raum reicht schon recht simple Algebra aus. Dafür werden unter anderem so genannte Quaternionen benutzt. Dies sind "verallgemeinerte" Zahlen, die sich aus vier gewöhnlichen Zahlen zusammensetzen. Die Rechenregeln sind den uns bekannten Grundrechenarten ähnlich. Mit einer entscheidenden Ausnahme: Die Reihenfolge bei einer Multiplikation ist nicht mehr beliebig. Dies drückt aber nur aus, dass es auf die Reihenfolge bei Drehungen ankommt. Obwohl bereits im 19. Jahrhundert entdeckt, waren Quaternionen anfangs eher von theoretischem Interesse. Für Computerrechnungen sind sie oftmals die praktischere Variante, um Drehungen darzustellen.

Virtuelle Schnitzeljagd und Graphentheorie

Die Schnitzeljagd ist nicht nur ein Spiel für den Kindergeburtstag, sondern auch für den Computer. Bei einer Variante wird die Schnitzeljagd ins Freie verlegt, und die Spieler agieren mit Hilfe von Laptops, Handys, GPS-Empfängern und anderen mobilen Geräten. Möglich wird diese neue Form von Computerspielen (auch Pervasive Games genannt, etwa: allumfassende Spiele) durch die Technik der "Augmented Reality" (erweiterte Realität). Die reale Umgebung wird mit einer künstlichen kombiniert und somit erweitert. Virtuelle Bilder überlagern die realen. Ein Problem, das sich bei diesen Spielen im Freien stellt, ist die Standortbestimmung. Beispielsweise dann, wenn Handys über einen größeren räumlichen Bereich hinweg benutzt werden und dabei unterschiedliche Funkzellen verwenden. Die Datenverbindung zwischen diesen Bereichen darf nicht abbrechen, wenn der Spieler von einer Funkzelle in eine andere läuft. Die Berechnung der möglichen Wege, die man im Gelände oder einer rein virtuellen Umgebung gehen darf, stellt eine mathematische Herausforderung dar.

Oftmals müssen optimale Wege, d. h. kürzeste oder schnellste Routen, ermittelt werden. Hier kommt die Graphentheorie ins Spiel. Wege werden vereinfacht als geradlinige Streckenzüge mit Ecken, den Kreuzungspunkten, und Kanten dargestellt: die so genannten Graphen. Die Ursprünge der Graphentheorie gehen auf den Schweizer Mathematiker Leonhard Euler (1707-1783) zurück. Ihm war es gelungen, das "Königsberger Brückenproblem" zu lösen. Er bewies, dass es keine Route über die sieben Brücken des Flusses Pregel in Königsberg gibt, bei der jede Brücke nur genau einmal überquert wird. Übrigens: Nicht nur für die Computerspiele selbst, sondern auch beim Design von Computerchips spielt die Graphentheorie eine entscheidende Rolle. Denn sie hilft bei den Berechnungen, wie immer mehr Leiterbahnen auf immer kleinerem Raum untergebracht werden können.

Mehr erfahren Sie auch unter:
www.jahr-der-mathematik.de

Für weitere Informationen wenden Sie sich bitte an:

Redaktionsbüro Jahr der Mathematik

Steffi Würzig
Friedrichstr. 78
10117 Berlin
T. 030/70 01 86-797
F. 030/70 01 86-909
wuerzig@jahr-der-mathematik.de
www.jahr-der-mathematik.de

Julia Kranz
Friedrichstr. 78
10117 Berlin
T. 030/70 01 86-741
F. 030/70 01 86-909
kranz@jahr-der-mathematik.de
www.jahr-der-mathematik.de

Kontaktdaten zum Absender der Pressemitteilung unter:
http://idw-online.de/pages/de/institution1210


*


Quelle:
Informationsdienst Wissenschaft e. V. - idw - Pressemitteilung
Jahr der Mathematik, Julia Kranz, 21.08.2008
WWW: http://idw-online.de
E-Mail: service@idw-online.de


veröffentlicht im Schattenblick zum 23. August 2008