Lade Inhalt...

Entwicklung und Implementierung einer Animationstechnik zur Simulation natürlicher Bewegungen in Computerspielen

©2009 Diplomarbeit 100 Seiten

Zusammenfassung

Inhaltsangabe:Einleitung:
Computeranimation ist zu einem wesentlichen Bestandteil unserer digitalisierten Welt geworden. Sie erleichtert die Interaktion von Mensch und Maschine, dient der Erläuterung von Sachverhalten und unterhält uns in CGI-Filmen und Computerspielewelten. In Zukunft könnte sie eine wichtige Rolle für den Einsatz von Avataren in Transaktionssystemen einnehmen.
Diese Diplomarbeit befasst sich zunächst mit der traditionsreichen Geschichte der Animation und zeigt anhand einiger Beispiele die wichtigsten Anwendungsgebiete in der heutigen Computerwelt.
Die Computertechnik und die damit verbundenen Möglichkeiten schreiten weiterhin schnell voran. Genauso entwickelt sich natürlich die Computeranimation weiter, was sich eindrucksvoll auf den Kinoleinwänden beobachten lässt.
Die rasche Weiterentwicklung der Computeranimationstechnik fordert zugleich auch die Hard- und Software Industrie, die immer leistungsfähigere Lösungen anbieten kann, so dass die Möglichkeiten nur durch die verfügbare Rechenkapazität begrenzt werden. Dennoch tauchen immer wieder Schranken des softwaretechnisch Machbaren auf, deren Überwindung eine große Herausforderung für die Wissenschaft der Computeranimation auch in Zukunft bleiben wird.
In Zusammenarbeit mit Firma B-Alive wurde untersucht, wie die Animationen einer bestehenden Tierpark-Simulation verbessert werden können. Ziel war es, die bereits verwendeten keyframebasierten Animationsphasen durch Bewegungsphasen zu ergänzen, welche in Echtzeit, also zur Laufzeit des Spiels berechnet werden. Dadurch werden beispielsweise die Bewegungsfähigkeiten eines Tieres so erweitert, das eine Kopfdrehung während der Bewegung, Sprungvorgänge oder Laufen über Steigungen und Gefälle möglich sind. Die Tierpark-Simulation findet in einer virtuellen 3D-Umgebung statt.
Die Einsicht, dass grundlegende Animationskonzepte besser in einer 2D-Umgebung untersucht und dargestellt werden können, führte zur Entscheidung, die gezeigten Bewegungstechniken und Methoden für die Ebene zu entwickeln. Als nächster Schritt ist die Transformation in die 3. Dimension geplant. Die Konzepte und Algorithmen wurden deshalb von Anfang an so gestaltet, dass eine leichte Konvertierung in den Raum möglich ist.
Zunächst wurden bereits existierende Animationsverfahren untersucht und einige aussichtsreiche Kandidaten ausgewählt. Auf dieser Basis wurde durch Erweiterung mit eigenen Methoden ein neues Animationssystem entwickelt.
Der Software-Prototyp […]

Leseprobe

Inhaltsverzeichnis


Daniel Kupfer
Entwicklung und Implementierung einer Animationstechnik zur Simulation natürlicher
Bewegungen in Computerspielen
ISBN: 978-3-8366-4597-3
Herstellung: Diplomica® Verlag GmbH, Hamburg, 2010
Zugl. HAW Ingoldstadt, , Deutschland, Diplomarbeit, 2009
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden und der Verlag, die Autoren oder
Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für evtl.
verbliebene fehlerhafte Angaben und deren Folgen.
© Diplomica Verlag GmbH
http://www.diplomica.de, Hamburg 2010

3
Inhaltsverzeichnis
Einleitung . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Einführung
1.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Grundlagen der Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Computeranimation als Teil der Computergrafik . . . . . . . . . . . . . . . . . . . . . . . .
2 Grundlagen
2.1 Animationsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Prozedurale Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Physikalisch-basierte Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Keyframe-basierte Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Animationsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Globale Bewegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Keyframes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Prozedurale Animationstechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Rotationstransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5 Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.6 Quaternionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Physikalische Grundlagen der Kinematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Definition der Kinematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Skelettrepräsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Vorwärtskinematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 Inverse Kinematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Entwurf des Animationsystems
3.1 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Anwendungsfälle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4 Auswahl der Animationstechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Vorüberlegungen zum Modellentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Akteure als Charaktere einer Computersimulation . . . . . . . . . . . . . . . .
3.2.2 Charakteranimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Physikalische Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
27
28
28
29
12
12
12
13
14
14
14
15
16
17
19
22
22
22
23
23
9
10
11
7
32
32
33
33

4
3.2.3.1 Simulationsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3.2 Physik-Engines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3.3 Kinematik von Punktmassen . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Implementierung des Animationssystems
4.1 Übersicht der technischen Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Vorgaben. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Mathematische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4 Modellierung eines Körpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Erstellung des physikalischen Modells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Mechanische Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Simulationsablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Behandlung von Stabilitätsproblemen. . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 Rigging (Skelletierung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.5 Kinematische Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.6 Einbeziehung passiver Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Bewegungsbeschränkungen (Motion-Constraints) . . . . . . . . . . . . . . . . . . . . .
4.4 Einbeziehung aktiver Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Gleichgewichtserhaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Kollisionsbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 Laufzeitbetrachtungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Die Anwendung M
OTION
5.1 Modellierung und Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Dateiformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Programmerweiterungen - Balancierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 Zusammenfassung
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
73
74
37
37
39
40
41
43
43
44
45
48
49
50
51
55
58
62
67
76
33
34
35

5
A Skizzen
A.1 M
OTION
- GUI
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.2 Masse-Feder-Systeme . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.3 Gelenkmodellierung . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.4 Kinematische Kette . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.5 Animationsbaum
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.6 Modellierungsbeispiel Hand-Rig
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.7 Modellierungsbeispiel Character-Rig
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.8 Modellierungsbeispiel Horse-Rig. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A.9 Kollisionsproblem
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B Strukturdiagramme
B.1 M
OTION
-
Paketstruktur.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B.2 Paket Gui - Klassendiagramm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B.3 Paket Grafix - Klassendiagramm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
B.4 Paket Physix - Klassendiagramm
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
C Quelltexte
C.1 Kollisionserkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.2 Quaternionen Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D Algorithmen und Datenstrukturen
D.1 Passive mechanische Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.1.1 Kantenfedern und Kantendämpfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.1.2 Knotenfedern und Knotendämpfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.2 Aktive mechanische Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.2.1 Motoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.2.2 Zugseile (Externe Kräfte). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.2.3 Muskeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3 Integration der Kräfte unter Einhaltung der Constraints . . . . . . . . . . . . . . .
Glossar
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Literaturverzeichnis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
79
80
80
81
82
82
83
84
87
88
85
85
86
86
92
92
92
93
93
93
94
95
99
98

6
Danksagung
An erster Stelle danke ich Herrn Professor Dr. Hahndel für die Betreuung dieser
Diplomarbeit, sowie für die aufschlussreichen und interessanten Gespräche, die mir
fachlich immer sehr weitergeholfen haben. Besonderer Dank gilt auch Herrn Matthias
Koranda und Herrn Arndt Schlichtig der Firma B-Alive für die hervorragende
Zusammenarbeit und die angenehme Kommunikation. Die wertvollen Hinweise
waren überaus hilfreich und richtungsweisend für diese Arbeit.

7
Einleitung
Computeranimation ist zu einem wesentlichen Bestandteil unserer digitalisierten Welt
geworden. Sie erleichtert die Interaktion von Mensch und Maschine, dient der
Erläuterung von Sachverhalten und unterhält uns in CGI-Filmen und
Computerspielewelten. In Zukunft könnte sie eine wichtige Rolle für den Einsatz von
Avataren in Transaktionssystemen einnehmen.
Diese Diplomarbeit befasst sich zunächst mit der traditionsreichen Geschichte der
Animation und zeigt anhand einiger Beispiele die wichtigsten Anwendungsgebiete in
der heutigen Computerwelt.
Die Computertechnik und die damit verbundenen Möglichkeiten schreiten weiterhin
schnell voran. Genauso entwickelt sich natürlich die Computeranimation weiter, was
sich eindrucksvoll auf den Kinoleinwänden beobachten lässt.
Die rasche Weiterentwicklung der Computeranimationstechnik fordert zugleich auch
die Hard- und Software Industrie, die immer leistungsfähigere Lösungen anbieten
kann, so dass die Möglichkeiten nur durch die verfügbare Rechenkapazität begrenzt
werden. Dennoch tauchen immer wieder Schranken des softwaretechnisch Machbaren
auf, deren Überwindung eine große Herausforderung für die Wissenschaft der
Computeranimation auch in Zukunft bleiben wird.
In Zusammenarbeit mit Firma B-Alive wurde untersucht, wie die Animationen einer
bestehenden Tierpark-Simulation verbessert werden können. Ziel war es, die bereits
verwendeten keyframebasierten Animationsphasen durch Bewegungsphasen zu
ergänzen, welche in Echtzeit, also zur Laufzeit des Spiels berechnet werden. Dadurch
werden beispielsweise die Bewegungsfähigkeiten eines Tieres so erweitert, das eine
Kopfdrehung während der Bewegung, Sprungvorgänge oder Laufen über Steigungen
und Gefälle möglich sind. Die Tierpark-Simulation findet in einer virtuellen 3D-
Umgebung statt.
Die Einsicht, dass grundlegende Animationskonzepte besser in einer 2D-Umgebung
untersucht und dargestellt werden können, führte zur Entscheidung, die gezeigten
Bewegungstechniken und Methoden für die Ebene zu entwickeln. Als nächster Schritt
ist die Transformation in die 3. Dimension geplant. Die Konzepte und Algorithmen
wurden deshalb von Anfang an so gestaltet, dass eine leichte Konvertierung in den
Raum möglich ist.
Zunächst wurden bereits existierende Animationsverfahren untersucht und einige
aussichtsreiche Kandidaten ausgewählt. Auf dieser Basis wurde durch Erweiterung
mit eigenen Methoden ein neues Animationssystem entwickelt.

8
Der Software-Prototyp ,,Motion" bildet den Implementierungsrahmen für dieses
System. Diese Java-Anwendung enthält neben der GUI-Komponente einen
Modellierungseditor und einen Animations-Simulator. Nach Fertigstellung der ersten
lauffähigen Version von ,,Motion" wurden Versuche mit Testmodellen durchgeführt.
Durch die so gewonnene Erfahrung konnte das Animationssystem rückwirkend weiter
verbessert und verfeinert werden.

9
1 Einführung
1.1 Geschichte
Viele heute verwendete Verfahren der Computeranimation haben ihren Ursprung in
der Technik der Zeichentrickanimation, als noch jedes Bild in mühevoller Arbeit
einzeln per Hand gezeichnet wurde [MCA]. Der Karikaturist und Comiczeichner
Winsor McCay wird als der Vater des traditionellen Zeichentricks angesehen. Im Jahre
1914 produzierte er eigenständig den ersten bekannten Zeichentrickfilm ,,Gertie the
Trained Dinosaur". Dazu musste er ca. 10.000 Einzelbilder per Hand zeichnen, ohne
irgendwelche zusätzlichen Techniken oder Hilfsmittel zu benutzen.
Kurz darauf wurde das Verfahren der ,,Cel Animation" entwickelt, was bereits eine
erhebliche Erleichterung für den Zeichner darstellte. Hierbei wurden alle statischen
Hintergründe des Zeichentrickfilms nur einmal gezeichnet. Anschließend wurden die
beweglichen Vordergrundobjekte auf Transparenzfolie gezeichnet und über das
jeweilige Hintergrundbild der Szene gelegt. Somit konnten die festen Szenenbilder
immer wieder verwendet und mussten nicht für jedes einzelne Bild neu gezeichnet
werden.
Ein anderer Filmkünstler, der seine Werke auch heute noch in aufwendiger
Einzelbildzeichnung per Hand anfertigt, ist Bill Plympton. Eines seiner bekannteren
Werke ist ,,Mutant Aliens". Interessant für das Themengebiet Animation und
Computeranimation ist der Film aufgrund verschiedener Aspekte: Einmal wurden
hierfür über 32.000 Einzelbilder ausschließlich per Hand gezeichnet. Die Tatsache, das
der 1:20 Stunden lange Film nur mit ca. 6 Bildern pro Sekunde abgespielt wird (ein
kritischer Mindestwert für die Animation, was im weiteren Verlauf noch erläutert
wird) und dennoch stets der Eindruck eines überraschend flüssigen und
zusammenhängenden Bewegungsablaufes erhalten bleibt, zeigt wie besonders wichtig
das Timing, also die zeitgenaue Positionierung von Objektelementen, für eine visuell
überzeugende Animation sein kann.

10
1.2 Grundlagen der Animation
Eine Animation entsteht aus einer Folge von Einzelbildern, die in Korrelation
zueinander stehen, wobei der größte Zusammenhang in der Regel zwischen dem
aktuellen Bild, seinem Vorgänger und seinem Nachfolgerbild besteht. Wenn die Bilder
in Folge mit einer bestimmten Mindestgeschwindigkeit (Bildfolgerate) angezeigt
werden, entsteht für das menschliche Auge der Eindruck eines fließenden
Bewegungsablaufes, genannt Film. Wichtige Kriterien sind hierbei:
Ist die Bildrate zu niedrig, wird der Film als Abfolge von Einzelbildern
wahrgenommen.
Ist die Bildrate zu hoch, wirkt der Bewegungsablauf unnatürlich schnell.
Ist die Zwischenbildkorrelation zu niedrig, empfindet das Auge die Bewegungen als
unstetig, unzusammenhängend oder gar nicht mehr als solche erkennbar.
Die Erfahrung hat gezeigt, dass für den Eindruck eines kontinuierlichen
Bewegungsablaufes ca. 25 Bildern pro Sekunde nötig sind. Dies gilt nur als Richtwert.
Filme, welche aus Realbildaufnahmen bestehen. In Abhängigkeit vom jeweiligen
Bildinhalt und der Art der erzeugten Bilder kann dieser Wert deutlich abweichen. Bei
computergenerierten Bilder liegt die Mindestbildrate in der Regel deutlich höher, weil
die Zwischenbildkorrelation durch fehlende Bewegungsunschärfe niedriger ist als
beim fotografischen Film. Bei Computerspielen versucht man daher eine wesentlich
höhere Bildrate zu verwenden, falls es die Darstellungsleistung des verwendeten
Rechnersystems zulässt. Mittlerweile gibt es bereits Grafikprozessoren, die
leistungsfähig genug sind, um eine realitätsnahe Bewegungsunschärfe in Echtzeit zu
simulieren.
In der Computeranimation verwendet man das gleiche Prinzip zur Erzeugung von
weichen Bewegungsabläufen, wie beim fotografischen Film. Es wird eine Folge von
Einzelbildern erzeugt und in schneller Abfolge auf dem Bildschirm angezeigt. Je nach
Einsatzgebiet können die Bilder
bereits fertig gestellt auf einem Speichermedium vorliegen, als
Fotografische Bildfolge (Digitaler Film).
Ergebnis einer vorherigen Berechnung (Prozedurale Computeranimation).
während des Abspielens einzeln erzeugt werden, durch
Berechnung mittels eines Algorithmus / einer mathematische Funktion
(Prozedurale Computeranimation).
schrittweise Veränderung der Bilder aus Bildvorlagen (Transformation,
Morphing).

11
Animiert werden entweder einzelne Objekte, zum Beispiel Menschen, Tiere,
Fahrzeuge, oder die gesamte Szene - auch eine Kamerafahrt über eine Naturlandschaft
darf als Animation verstanden werden. Animiert sind also alle Teile einer Szene,
welche nicht statisch sind.
1.3 Computeranimation als Teil der Computergrafik
Während noch vor ca. zwei Jahrzehnten Computerpräsentationen den Stand der
Technik markierten, die eine Folge von vorgerenderten Grafiken auf dem Bildschirm
anzeigen konnten, hat sich das Medium Computer durch rasante Entwicklung in
Hardware und Software längst zu einem alltäglichen und praktisch vollständig
interaktiven Kommunikationsmedium entwickelt. Eine einfache Präsentation
unbewegter Bilder zur Vermittlung von Botschaften, zur Kommunikation, Information
oder Werbung, wird heute nur noch selten akzeptiert. In immer mehr
Anwendungsbereichen werden computergenerierte Charaktere in Form real wirkender
Avatare erwartet, die dem Anwender das vertraute Bild einer menschlichen
Kontaktperson vermitteln.
Auch in Computerspielen hat sich die Entwicklung zu immer größerem Realismus bei
der grafische Darstellung von virtuellen Welten hin vollzogen. Entwickler versuchen
nicht nur die Form, Beleuchtung und farbliche Gestaltung der im Spiel befindlichen
Objekte möglichst realitätsgetreu zu gestalten, auch erhalten nahezu alle Spielobjekte
aufwendige
Animationen.
Selbst
einfache
grafische
Elemente
wie
Spielstandsinformationen werden kaum noch durch einfache statische Bilder, sondern
vorzugsweise durch animierte Symbole dargestellt.
Durch Entwicklung in der Prozessortechnik wird auch die durchschnittliche
Rechenleistung von Standard-PC-Systemen immer höher - gleichzeitig bewältigen
aktuelle Grafikkarten die Darstellung aufwendiger, dreidimensionaler Szenen nahezu
im Alleingang und lasten die CPU viel weniger aus als noch vor einigen Jahren. Dem
Spieleentwickler steht dadurch immer mehr Prozessorkapazität für andere Aufgaben
zur Verfügung. Bei vielen Computerspielen beanspruchen die Routinen zur
Spielverwaltung, die häufig aus der Spielzugberechnung (,,Spiel-KI"), Auswertung
von Benutzereingaben, Netzwerkverwaltung und Klangerzeugung besteht, nur einen
Teil der Rechenleistung. Somit kann die verbleibende Rechenkapazität zur Erzeugung
ausgefeilter Objektanimationen zur Laufzeit genutzt werden. Aus diesem Grund hat
sich die Echtzeit-Animation zu einem wichtigen Bestandteil der computergrafischen
Darstellung beinahe aller heutiger Computerspiele entwickelt.

12
2 Grundlagen
2.1 Animationsarten
In den folgenden Abschnitten sollen einige Techniken zur Erzeugung von Rechner-
basierter Animation vorgestellt werden, die im Laufe der Zeit entwickelt wurden. Aus
diesen Techniken haben sich einige wenige Basisverfahren herauskristallisiert, die
geeignet sind um Echtzeitanimationen für Computersimulationen und Computerspiele
zu generieren. Diese werden anschließend diskutiert.
2.1.1 Prozedurale Animation
Die Prozedurale Animation dient zur Erzeugung von Animationen, bei welchen der
Bewegungsablauf von einer Prozedur vorgegeben ist oder durch ein System von
Regeln bestimmt wird [MCA]. Klassisches Beispiel für eine aus heutiger Sicht einfache
prozedurale Animation ist der mit Hilfe von Partikelsystemen erzeugte ,,Genesis
Effekt" aus dem im Jahr 1982 produzierten Film "Star Trek II - The Wrath of Khan".
Ein weiterer Bestandteil dieser Animation ist die gebirgsartige Landschaft des Planeten
Genesis, welche durch Fraktale erzeugt wurde. Ein aktuelleres Beispiel sind die
Massenkampfszenen in "Lord of the Rings", wo sogar den einzelnen Rittern ein
individuelles,
regelbasiertes
Bewegungsrepertoire
zur
Ausführung
von
Kampfaktionen zugeordnet wurde.
2.1.2 Physikalisch-basierte Animation.
Der dynamische Bewegungsablauf vieler Objekte in der realen Welt, beispielsweise
durch Einwirkung externer Kräfte, wird durch die Gesetze der Physik bestimmt. Damit
auch virtuelle Objekte, wie Gelenksysteme, plausible Bewegungen ausführen können,
ist es notwendig die physikalischen Gesetzmäßigkeiten zu berücksichtigen. Die
physikalisch-basierte Modellierung ist jedoch, ähnlich der prozeduralen Animation,
auf eine sehr begrenzte Anzahl von Anwendungen eingeschränkt, da der Aufwand für
eine physikalisch korrekte Beschreibung komplexer Szenarien sehr hoch ist.

13
2.1.3 Keyframe-basierte Animation [W1]
Klassische Schlüsselbildanimation
Hierbei werden zunächst von Hauptzeichnern (Schlüsselzeichner, Keyframer) einzelne
wichtige Bilder (Keyframes) angefertigt, die grobe Bewegungssequenzen vorgeben,
welche in der Handlung vorkommen sollen. Zwischen die Keyframes werden dann
von anderen Zeichnern (Zwischenphasenzeichner, Inbetweener) so viele weitere Bilder
gezeichnet (Zwischenframes), bis sich in der Bewegung ein flüssiges Bild ergibt.
Rechnerbasierte Schlüsselbildanimation
In der Computergrafik funktioniert dieses Prinzip ebenso. Es werden jedoch keine
Zwischenzeichner mehr benötigt, da diese Arbeit vom Computer abgenommen wird.
Das zu animierende Objekt liegt in Form eines 3D-Koordinatenkörpers vor, dem
Positionen und Formen zugewiesen werden (Parameter), die den Keyframes bei der
klassischen Animation entsprechen. Die nachfolgenden Zwischenframes werden vom
Rechner selbständig interpoliert. Dies führt zu einem kompletten Bewegungsablauf,
der mit beliebig vielen Zwischenframes hergestellt werden kann.
So könnten zum Beispiel für die Animation eines Arms, der nach oben in die Luft
greift, drei Keyframes definiert werden, die Schnappschüsse dieser Bewegung
entsprechen. Die Zwischenframes werden vom Computer berechnet. Das kann auf
verschiedene Weise, linear oder durch Splines erfolgen. Die tatsächlichen Methoden
sind vielfältig.
Der Vorteil besteht in der Senkung des Personalaufwandes. Allerdings stellt die
Methode erhebliche Anforderungen an die Qualifikation der Designer und Computer-
grafiker. Die Methode kann auch nicht bei komplexen Animationen angewendet
werden, wie etwa die Darstellung von Mimik und Gestik. Hier werden andere
Methoden, teilweise in Kombination angewendet, wie beispielsweise Motion
Capturing.
Ein Programm zur Keyframe-Animation ist z. B. After Effects von Adobe.

14
2.2 Animationsmethoden [MCA]
2.2.1 Globale Bewegungen
In diesem Kapitel werden die Techniken zur Erzeugung von globalen
Bewegungsabläufen behandelt. Eine häufig hierfür verwendete Methode ist die
Keyframe-Interpolation. Keyframes werden verwendet um Objekte in einfacher Weise
global zu verformen oder ihre räumliche Bewegung mit Hilfe geometrischer
Transformationen festzulegen. Dies trifft auch auf komplexere Rotationsbewegungen
unter Zuhilfenahme von Quaternionen zu, die im nächsten Kapitel behandelt werden.
Auch für Kamerafahrten, die sehr häufig in Computeranimationen Anwendung
finden, erfolgt die Festlegung des Bewegungsablaufs mit Hilfe von Keyframes. In
diesem Fall sind es die Start- und Zielpositionen der Segmente des Kamerapfades mit
den korrespondierenden Ausrichtungen und Öffnungswinkel des Kameraobjektivs.
2.2.2 Keyframes
Die Keyframe-Interpolation wird bereits seit mehr als 60 Jahren zur manuellen
Erstellung von Zeichentrickfilmen verwendet und gehört damit zu den ältesten noch
gebräuchlichen Animationsverfahren. Bis heute wird immer noch ein erheblicher
Anteil aller Computeranimationen mit dieser Technik realisiert. In ihrer
ursprünglichen Form wird ein Bewegungsablauf mit Hilfe von Basisbildern ­ den sog.
Keyframes ­ vorgegeben. Die Festlegung dieser Keyframes, auch Hauptphasen
genannt, mit der ein Bewegungsvorgang für größere Zeitschritte festgelegt wird,
erfolgt bei der manuellen Zeichentrickfilmerstellung durch den Hauptphasenzeichner.
Das Zeichnen aller in den Zwischenphasen befindlichen Bildern ist die Aufgabe eines
weiteren Spezialisten, des Inbetweener.
In ähnlicher Weise erfolgt auch die rechnergestützte Keyframe-Animation. Keyframes
sind hier die Hauptbewegungsphasen, die wir jeweils als Start- und Zielkonfiguration
eines interpolierten Bewegungsablaufs betrachten können. Sie werden vom Benutzer
mit Hilfe von Parameter- oder Koordinatenfolgen, die in diskreten Zeitpunkten
entlang einer Zeitachse zugeordnet sind, festgelegt. Bei einer Figur, die aus starren
gelenkig verbundenen Segmenten besteht, kann dies durch die Festlegung der
Gelenkkoordinaten erfolgen. Diese Geometriekoordinaten werden in einen durch die
Zeitachse erweiterten Konfigurationsraum bzw. Phasenraum eingetragen.
Um
natürlich
wirkende
Bewegungsabläufe
zu
erzeugen,
sind
abrupte
Richtungsänderungen der Objektsegmente zu vermeiden. Dies lässt sich dadurch
erreichen, dass die Koordinatentupel durch Spline-Kurven verbunden werden, an

15
denen sich die Inbetweens (Zwischenkeyframes) ausrichten. Hierbei ist zu beachten,
dass die Abstände zwischen den Hauptphasen vom Bewegungsablauf abhängen.
Schnelle Bewegungsänderungen werden mit kurzen Keyframe-Abständen, im
Extremfall ohne Zwischenphasen, festgelegt. Die Definition langsamer und
gleichmäßiger Bewegungsabläufe kann hingegen mit sehr großen Abständen zwischen
den Schlüsselbildern erfolgen.
2.2.3 Prozedurale Animationstechniken
Prozedurale Animationstechniken sind Animationsverfahren, die auf algorithmischen
Beschreibungen basieren und sämtliche Details einer Animation enthalten. Diese
Funktionen kann man als Blackbox betrachten, deren Ausgabe allein über Parameter
definiert wird.
Nachdem die Parameter für die prozedurale Animation bestimmt sind, generiert ein
Programm alle weiteren Daten für die Animation. Anstatt eine Animation in allen
Details zu spezifizieren und abzuspeichern, wird eine prozedurale Animation bei
Bedarf durch Funktionen erzeugt. Die Erzeugung der Animationsdetails wird dadurch
auf den Computer verlagert. Die Parameter fungieren in diesem Zusammenhang als
Kontrollregler für die Animation, mit denen ein Animationsdesigner experimentieren
kann.
Die Anzahl der Parameter für diese Funktionen ist gewöhnlich wesentlich geringer als
die Informationsmenge, die durch explizite Beschreibung aller Feinheiten der
Animation erzeugt wird. In diesem Zusammenhang spricht man auch von
Datenvermehrung (database amplification).
Nach [MCA] lässt sich die prozedurale Animation in folgende Techniken
untergliedern:
Partikelsysteme
Stochastische Partikelsysteme
Strukturierte Partikelsystem
Thermale und orientierte Partikelsysteme (Fluidsysteme)
Animation von Massenszenen
Schwärme und Herden
Akteure
Zusammenfassend kommt man zu dem Ergebnis, dass sich prozedurale
Animationstechniken
wesentlich
besser
für
den
Einsatz
in
Echtzeit-
Computeranimationen geeignet sind als alle anderen bisher gezeigten Verfahren.

16
2.2.4 Rotationstransformationen
Logos oder Schriftzüge, die im Raum um beliebige Achsen rotieren oder die sich,
durch Keyframes gesteuert, auf vorgegebenen Raumkurven bewegen, sind häufige
Anwendungen der Computeranimation. Nachfolgend sollen die hierbei auftretenden
Probleme sowie ihre Lösungen diskutiert werden.
Um ein Objekt beliebig im Raum ausrichten zu können, müssen hierzu die Drehwinkel
um die X-, Y- und Z-Achse bestimmt werden. Die Bestimmung dieser sog. Euler-
Winkel ist jedoch nicht eindeutig. Nach [BARR] kann die gleiche Ausrichtung eines
3D-Objektes mit zwölf verschiedenen Winkelkombinationen erreicht werden. Wegen
dieser Mehrdeutigkeiten führt eine lineare Interpolation zwischen zwei gleichen mit
Keyframes definierten Objektorientierungen zu unterschiedlichen Bewegungspfaden.
So soll zum Beispiel ein beliebiges Objekt um 180° um die X-Achse gedreht werden. Im
einfachsten Fall wird der Winkelparameter einer Matrix, welche die Rotation um die X-
Achse bewirkt, in gleichen Schritten von 0, ..., verändert. Alternativ hierzu kann aber
auch die gleiche Endposition dieses Objektes mit einer inkrementellen Drehung im
positiven Richtungssinn um die Z-Achse bei gleichzeitiger Rotation im negativen
Richtungssinn um die Y -Achse erreicht werden.
In jenen Fällen, in denen ein beliebiger Punkt P = (x, y, z) um eine frei im Raum
ausgerichtete Achse rotieren soll, ist es erforderlich, die Euler-Winkel - und damit die
Parameter der Transformationsmatrix - nach jedem Rotationsschritt neu zu bestimmen.

17
2.2.5 Matrizen
Matrizen lassen sich als Wertetabellen mit m Zeilen und n Spalten darstellen [Scherf
S.785]. Man spricht auch von m x n - Matrizen mit den Koeffizienten a
(1..m)(1..n)
.
Quadratische Matrizen in Form einer 3x3 Matrix finden häufige Verwendung in der
3D-Computergrafik. Sie dienen als Beschreibung von Translation und Orientierung,
also Position und Lage eines Objektes im Raum. Ein Beispiel hierfür ist Steuerung einer
Beobachterkamera, mit der sich die Szene aus verschiedenen Blickwinkeln betrachten
lässt.
Die 3x3 Matrix beschreibt in diesem Fall ein Kartesisches Koordinatensystem, in dem
alle drei Achsen in räumlicher x-, y-, und z-Richtung orthogonal zueinander stehen. Es
wird zusätzlich darauf geachtet, dass die Achsen Einheitslänge haben. Dies ist nicht
zwingend notwendig, führt aber zu Vereinfachungen und Geschwindigkeitsvorteilen
bei der Berechnung.
Quadratische Matrizen können ebenso zur Transformation von Objekten verwendet
werden, wofür üblicherweise eine 4x4 Matrix benutzt wird. Sie deckt die Eigenschaften
der 3x3 Matrix ab, bietet aber weitere Manipulationsmöglichkeiten. Daher wird in der
Computergrafik und Computeranimation der 4x4-Typ bevorzugt. Parameter wie
Skalierung und Translation können hier direkt und individuell für jede Achse, mittels
der jeweils vierten Spalte bzw. der Diagonale der Matrix bestimmt werden. Das
untenstehende Beispiel zeigt eine 4x4 Transformationsmatrix in tabellarischer Form
notiert. Die Matrix liegt in der ,,Standardkonfiguration" vor, alle Achsen haben
Einheitslänge und decken sich mit den IR
3
-Raumachsen:
M
1
= M
2
=
Translation der Normalmatrix: T (tx, ty, tz) Skalierungsmatrix: S (tx, ty, tz)
Die Rotation bzw. die Lage der Matrix wird für jede Achse einzeln durch die drei
Eulerwinkel ax, ay und az angegeben. Die Winkel werden anschließend auf die Werte
der neun Koeffizienten a
(1..3)(1..3)
umgerechnet. Dies hat aus der Anwendungssicht den
Nachteil, dass die Rotationswinkel zwar vorgegeben, aber nicht direkt aus den
Koeffizienten wieder abgelesen werden können. Hat man die aktuellen Winkel nicht
als Parameter zur Verfügung, müssen diese erst rechnerisch ermittelt werden. Die
zugehörigen Rechenalgorithmen sollen hier nicht aufgeführt werden werden, da sie
sehr aufwendig und nicht Bestandteil des vorgestellten Animationssystems sind. Das
1
0
0
tx
0
1
0 ty
0
0
1
tz
0
0
0
1
sx
0
0
tx
0
sy
0
ty
0
0
sz
tz
0
0
0
1

18
System arbeitet zudem in der Ebene, also im IR
2
-Raum. Die grundsätzlichen Probleme
der Matrixrotation bzw. Eulerrotation sollen jedoch erwähnt werden, da sie auch für
die geplante Erweiterung des Systems auf drei Dimensionen von Bedeutung sind.
Ein Hauptnachteil dieser Rotationsart ist, dass das Ergebnis von der Reihenfolge der
Einzeldrehungen abhängig ist. Da die Gesamtrotation prinzipbedingt für jede Achse
einzeln und hintereinandergeschaltet erfolgen muss, findet man durch kurze
Überlegung bereits sechs Möglichkeiten der Ausführung:
XYZ, XZY, YXZ, YZX, ZXY, ZYX
Die finale Lage der Matrix kann für jeden dieser Fälle anders sein. Bei der
Konfiguration XYZ ist es zu Beispiel nicht möglich, das zugehörige Objekt um die X-
Achse zu drehen, ohne das die Drehung um die Y-Achse davon beeinflusst wird.
Durch die sequentielle Drehung sind die Achsrotationen voneinander abhängig, daher
ist eine Entscheidung für eine feste Achs-Reihenfolge innerhalb eines Systems
notwendig. Abhilfe für dieses Problem schafft eine inkrementelle Drehung, die aber
ihrerseits wieder andere Nachteile (Achskorrektur nötig) hat, die es durch
Rechenaufwand zu kompensieren gilt.
Ein weiteres Problem der Eulerschen Rotation ist als "Gimbal Lock" bekannt.
Das Problem entsteht dadurch, dass die Achse der ersten Drehung und die der dritten
bei entsprechend ungünstiger Wahl der Winkelparameter zusammenfallen können.
Dann ist nur noch die Summe aus erstem und drittem Winkel ausschlaggebend,
verschiedene Kombinationen ergeben also dieselbe Drehung. Damit fehlt effektiv ein
Freiheitsgrad, die sog. kardanische Aufhängung kann einer Bewegung in die
entsprechende Richtung nicht folgen.
Eine solche Situation tritt beispielsweise ein, wenn für die Konfiguration XYZ der
Winkel um die X-Achse ax = 90 Grad gewählt wird. Dann fallen X- und Z-Achse nach
dem ersten Drehschritt zusammen. Die anschließende Rotation um Y entspricht dann
der Rotation um Z. Da somit effektiv keine Drehung mehr um die Y-Achse ausgeführt
werden kann, fehlt dieser Freiheitsgrad.

19
2.2.6 Quaternionen
Quaternionen eignen sich sehr gut zur Rotation von Vektoren im dreidimensionalen
Raum. Anders als bei den eulerschen Winkeln kann hier der gimbal-lock nicht
entstehen. Dafür ist ein wenig mehr Rechenaufwand erforderlich. Ein anderer Vorteil
ist, dass um eine beliebige Drehachse rotiert werden kann.
Im Folgenden werden die wesentlichen Aspekte der Quaternionen für die Anwendung
in der Computergrafik aufgezeigt:
Funktionsweise der Quaternionen und Quaternionen-Rotation
Vorteile gegenüber der Euler-Rotation
Anwendungsmöglichkeiten und Einsatzgebiete
Mathematischer Hintergrund
Definition
Ein Quaternion ist ein Quadrupel q = (a, b, c, d); mit a, b, c, d IR
Die Menge der Quaternionen wird mit IH bezeichnet.
Rechenvorschriften
Quaternionen lassen sich als hyperkomplexe Zahlen mit 3 Imaginärteilen auffassen.
Einer Quaternion q entspricht dann der Term
q = a + b i + c j + d k
Hierbei sind i, j und k drei unterschiedliche Arten von imaginären Zahlen. Addition
und Multiplikation von Quaternionen ergeben sich nun durch Anwendung der
Rechenregeln für Terme reeller Zahlen. Für die Multiplikation von i, j und k gilt
folgende Verknüpfungstafel:
i
j
k
i
-1
k
-j
j
-k -1
i
k
j
-i
-1

20
Wie aus der Tafel ersichtlich, ist die Multiplikation nicht kommutativ.
Beispiel: i j = k, j i = -k.
Quaternionen lassen sich auch als 2x2 Matrizen komplexer Zahlen oder 4x4 Matrizen
reeller Zahlen auffassen. Einer Quaternion (a, b, c, d) entspricht hierbei die komplexe
2x2 Matrix (in Tabellenschreibweise)
a + bi c + di
-c + di a ­ bi
bzw. die reelle 4x4 Matrix
a
b
-d -c
b
a
c
d
d
c
a
b
c
-d -b
a
Berechnung von Rotationen mit Quaternionen
Eine Rotation um die x-Achse um einen Winkel wird durch die Quaternion
q = (cos(/2), sin(/2), 0, 0) repräsentiert. Ein Punkt p = (x0, y0, z0) wird durch die
Quaternion p = (0, x0, y0, z0) repräsentiert. Der rotierte Punkt p° ergibt sich als
p° = q p q
-1
Die Rotation um einen beliebigen normierten Vektor (x, y, z) um einen Winkel wird
durch die Quaternion
q = (cos(/2), x sin(/2), y sin(/2), z sin(/2))
repräsentiert. Jede Quaternion mit dem Betrag 1 repräsentiert eine Rotation. Die Menge
der so repräsentierten Rotationen bildet die Oberfläche einer Einheitskugel im IR
4
.
Zwischen zwei Rotationen lässt sich interpolieren, indem zwischen zwei Punkten auf
der Kugeloberfläche interpoliert wird.

21
Vergleich
Eulerrotation (kartesische Rotation)
Quaternionen Rotation
+ Einfache Implementierung
Höherer Implementierungsaufwand
+ Effizienz
Geringfügig mehr Rechenaufwand
+ Anschauliche Berechnungsverfahren
- ,,BlackBox"-Verhalten
+ Zugänglichkeit interner Koeffizienten
- ,,BlackBox"-Verhalten
- Korrekturberechnungen erforderlich
+ Weniger Korrekturberechnungen
- Rotationsabhängige Achsen
+ Nur eine Drehachse
- Sperrproblem / Singularitätsproblem
+ Problemlose und stabile Rotationen
- Interpolation teils schwierig
+ Gut interpolierbar
- Rotationsbeschreibung mehrdeutig
+ eindeutige Rotation
- hohe Anzahl signifikanter Koeffizienten /
Eingabeparameter
+ wenige Koeffizienten /
Eingabeparameter
Einsatzgebiete der Quaternionen-Rotation in virtuellen Welten
QR findet schon seit längerer Zeit Verbreitung in Computerspielen und
Computersimulationen. Sehr vorteilhaft ist diese Methode vor allem für
Objekttransformation
und
Kamerasteuerung.
Der
Grund
liegt
in
der
Achsunabhängigkeit und der guten Interpolationsmöglichkeit der Drehmatrix durch
Quaternionen zur Erzeugung weicher Bewegungen, ohne die Einschränkungen der
Euler-Rotation.
Der Vorteil des Einsatzes von QR in Computerspielen anstelle von Euler-Rotationen
lässt sich auch an einem Beispiel aus der Spieleindustrie zeigen. Die kommerziell
erfolgreiche ,,Tomb-Raider"-Serie - ursprünglich entwickelt von Core Design, später
weitergeführt von Crystal Dynamics - verwendet auf effektive Weise die Quaternion-
Rotation und Quaternionen-Interpolation zur Steuerung der Szenenkamera [W4].
Bereits im ersten Teil der Serie ist diese Art der Steuerung vorhanden, die einen
wichtigen Beitrag zur Intensivierung der Spielatmosphäre leistet. Dies war ein
technisches Novum für die damalige Computerspielewelt.

22
2.3 Physikalische Grundlagen der Kinematik [W2]
2.3.1 Definition der Kinematik
Die Kinematik ist die Lehre der Beschreibung von Bewegungen von Punkten im Raum.
Dabei werden die Größen Weg, Geschwindigkeit und Beschleunigung betrachtet.
Ursachen und Folgen der Bewegungen werden in der Kinematik nicht betrachtet. Die
Dynamik berücksichtigt zusätzlich Kräfte, die bei der Bewegung wirken.
2.3.2 Skelettrepräsentation
Bestandteile eines Skeletts und Gelenkarten
Die Kinematik findet seit jeher in der Robotik große Anwendung. Roboter bestehen
aus zwei Strukturen: starre Elemente und Gelenke. Es existieren unterschiedliche
Gelenkarten wie Beugegelenke, Drehgelenke, prismatische Gelenke, Kugelgelenke,
Sattelgelenke oder Scharniergelenke. In der Computeranimation haben vor allem die
Beugegelenke eine Bedeutung.
Jedes einzelne starre Element hat seine eigenen Freiheitsgrade, die von allen anderen
Elementen unabhängig sind. Zu den Freiheitsgraden gehören sowohl Position des
Elementes als auch die Orientierung des Elementes. Diese Repräsentation wird häufig
auch durch Motion-Capturing erzeugt. Es gibt jedoch zu viele Freiheitsgrade, was die
Repräsentation ineffizient und die Formulierung von Constraints ist schwierig. Sind
die einzelnen Werte falsch gesetzt, fällt das Skelett auseinander.
Matrizen als Koordinatensysteme
Koordinatensysteme können durch quadratische Matrizen der Größe 2x2 (Ebene) oder
3x3 (Raum) dargestellt werden. Jeder Knoten erhält ein solches System, welches dann
als Drehmatrix fungiert. Die Matrizen können wiederum über Rotationsmatrizen oder
durch direkte Umrechnung der Gelenkwinkel in Achsenkoordinaten gedreht werden.
Hierarchisch-Relative Repräsentation
Hier wird das Skelett hierarchisch aufgebaut. Meistens wird dabei von der Hüfte als
Ursprung ausgegangen. Freiheitsgrade sind nun die einzelnen Winkel der Gelenke.
Constraints für die einzelnen Gelenke lassen sich einfach angeben, indem man die
Winkel beschränkt.

Details

Seiten
Erscheinungsform
Originalausgabe
Erscheinungsjahr
2009
ISBN (eBook)
9783836645973
DOI
10.3239/9783836645973
Dateigröße
3.4 MB
Sprache
Deutsch
Erscheinungsdatum
2010 (Mai)
Note
1,3
Schlagworte
computeranimation prozeduale animation motion-constraints java computergrafik
Produktsicherheit
Diplom.de
Zurück

Titel: Entwicklung und Implementierung einer Animationstechnik zur Simulation natürlicher Bewegungen in Computerspielen
Cookie-Einstellungen