Das mathematische Modell der inversen Kinematik in der Computeranimation

Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

1 Mathematische Grundlagen

Musterlösungen zur Linearen Algebra II Blatt 5

Primzahlen und RSA-Verschlüsselung

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Modellbildungssysteme: Pädagogische und didaktische Ziele

Professionelle Seminare im Bereich MS-Office

Repetitionsaufgaben Wurzelgleichungen

Grundlagen der Theoretischen Informatik, SoSe 2008

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Informationsblatt Induktionsbeweis

Zeichen bei Zahlen entschlüsseln

Mathematischer Vorbereitungskurs für Ökonomen

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

Lineare Gleichungssysteme

EM-Wellen. david vajda 3. Februar Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Bestimmung einer ersten

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

1 topologisches Sortieren

Konzepte der Informatik

Berechnung der Erhöhung der Durchschnittsprämien

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Projektmanagement in der Spieleentwicklung

Kevin Caldwell. 18.April 2012

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Steinerbäume

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

6.2 Scan-Konvertierung (Scan Conversion)

Die reellen Lösungen der kubischen Gleichung

Anleitung über den Umgang mit Schildern

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Beweisbar sichere Verschlüsselung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

AOK Pflege: Praxisratgeber Sturzprävention Übungen zur Stärkung des Gleichgewichts

Einführung in. Logische Schaltungen

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Erstellen von x-y-diagrammen in OpenOffice.calc

Wir machen neue Politik für Baden-Württemberg

Arbeiten mit UMLed und Delphi

FIT IM BÜRO. Übungsprogramm für Beschäftigte an Büroarbeitsplätzen

7 Rechnen mit Polynomen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Kapitel 15. Lösung linearer Gleichungssysteme

5 Eigenwerte und die Jordansche Normalform

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

3 Übungen zur Kräftigung

Lineare Differentialgleichungen erster Ordnung erkennen

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Lineare Gleichungssysteme I (Matrixgleichungen)

Zu diesem Buch 8. Zum Thema 9

Kulturelle Evolution 12

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Eigenwerte und Eigenvektoren von Matrizen

Theoretische Grundlagen der Informatik WS 09/10

Robotik-Praktikum: Ballwurf mit dem Roboterarm Lynx6 Modellbeschreibung. Julia Ziegler, Jan Krieger

4 Aufzählungen und Listen erstellen

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Plotten von Linien ( nach Jack Bresenham, 1962 )

Lineare Gleichungssysteme

Simulation LIF5000. Abbildung 1

2.8 Grenzflächeneffekte

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Mediator 9 - Lernprogramm

Kapitalerhöhung - Verbuchung

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Bewertung des Blattes

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Eigene Dokumente, Fotos, Bilder etc. sichern

Gutes Leben was ist das?

Vorstellung Microsoft Mathematics 4.0

Anzeige von eingescannten Rechnungen

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Zwischenablage (Bilder, Texte,...)

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Lösungen zum 3. Aufgabenblatt

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Korrigenda Handbuch der Bewertung

Hinweise in Leichter Sprache zum Vertrag über das Betreute Wohnen

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Erstellen einer GoTalk-Auflage

Animationen erstellen

Transkript:

Das mathematische Modell der inversen Kinematik in der Computeranimation 44551 Tobias Ebert HTW Aalen Seminar 44609 Mario Margarone Wintersemester 14/15 Vorwort Heutzutage ist die Kinematik aus den meisten Gebieten nicht mehr wegzudenken. Zum Beispiel in der Industrie bei aufwändigen Produktionsprozessen, dort erleichtern und beschleunigen Roboterarme unsere Arbeit stark. Aber auch in Hollywood entstehen immer mehr Filme mit aufwändigen Computeranimationen. Vor allem Fans von Computerspielen erfreuen sich zunehmend an den immer realistischer wirkenden Figuren ihrer Lieblingsspiele. Ziel der inversen Kinematik in der Computeranimation ist es Bewegungsabläufe so real wie möglich erscheinen zu lassen. Doch welche Technik steckt dahinter? Wie werden die Bewegungen realisiert? Ziel dieser Seminararbeit ist die Einführung in das Modell der inversen Kinematik. 1

Inhaltsverzeichnis 1 Was ist Kinematik? 3 1.1 Definition............................... 3 1.2 Kinematik............................... 3 1.2.1 Skelett............................. 3 1.2.2 Freiheitsgrade......................... 4 1.2.3 Vorwärtskinematik...................... 5 2 Inverse Kinematik 6 2.1 Mathematische Verfahren...................... 6 2.1.1 Analytische Verfahren.................... 6 2.1.2 Numerische Verfahren.................... 7 2.1.2.1 Jacobi Matrix................... 8 2.1.2.2 Pseudo Inverse................... 8 2.1.2.3 Damped-Least Squares.............. 9 2.1.2.4 Cyclic Coordinate Descent............ 9 2.1.2.5 Lagrange Multiplikatoren............. 10 3 Vor- und Nachteile der inversen Kinematik 10 3.1 Nachteile............................... 10 3.2 Vorteile................................ 11 4 Ausblick 11 5 Literaturverzeichnis 13 2

1 Was ist Kinematik? 1.1 Definition Die Kinematik ist ein Teilgebiet der Mechanik. Es handelt sich um die Lehre der Bewegung von Punkten im Raum. Diese Bewegung wird durch die Größen Weg, Geschwindigkeit und Beschleunigung beschrieben. Dabei wird aber nicht die Ursache für die Bewegung betrachtet.[1] Die Bewegung ist jedoch durch Zwangsbedingungen eingeschränkt, zum Beispiel eine konstante Fadenlänge bei einem Pendel.[2] Kinematik wurde ursprünglich für die Robotik entwickelt. Sie kommt neben der Robotik auch in der Computeranimation zum Einsatz um Bewegungen von Körpern, wie zum Beispiel Roboterarmen, oder Animationen zu simulieren und zu programmieren. 1.2 Kinematik 1.2.1 Skelett Da die Kinematik aus der Robotik stammt, gibt es viele Gemeinsamkeiten zwischen einem Roboterskelett und dem Skelett einer Animation. Beide bestehen aus zwei Arten von Elementen, starre Elemente und Gelenke. In der Computeranimation spielen nur Beugegelenke eine elementare Rolle. Jedes starre Element hat seine eigenen Freiheitsgrade, welche unabhängig sind.(vgl. Abschnitt 1.2.2) [9] Um Kinematik besser zu verstehen ist es wichtig die essentiellen Dinge zu verstehen, wie den Aufbau des Skeletts. Animatoren verwenden fast immer Hierarchien um ihre Charaktere zu animieren. Eine Hierarchie lässt sich als Parent- Child-Sibling-Beziehung beschreiben. Den Prozess, ein Objekt als Parent oder Child eines anderen festzulegen, nennt man auch parenting oder grouping. [3] Abbildung 1: Ein Skelett [4] 3

In Abbildung 1 sieht man ein simples Skelett eines Menschen. Man erkennt, dass es aus Gelenken, wie der Schulter oder dem Knie und starren Elementen, wie dem Unterarm oder dem Oberschenkel besteht. Das Skelett lässt sich aber auch in einer Baumstruktur darstellen, wie in Abbildung 2 zu sehen ist. Das Bild zeigt das Skelett ab der Hüfte abwärts. Es besteht aus einem Parent, der zwei Children hat, den rechten und den linken Oberschenkel. Die beiden Oberschenkel sind zueinander Siblings. Beide haben wieder ein Child, die Wade, welche beide wiederum den Fuß als Child haben. Die Endpunkte eines kinematischen Skeletts nennt man auch Endeffektoren. In dieser Baumstruktur wären beide Füße die sogenannten Endeffektoren. [DS09] Abbildung 2: Baumskelett [3] 1.2.2 Freiheitsgrade Wie in 1.2.1 erwähnt gibt es verschiedene Gelenktypen, die alle einen unterschiedlichen Freiheitsgrad besitzen. Insgesamt existieren im dreidimensionalen Raum sechs verschiedene Freiheitsgrade, welche Abbildung 3 veranschaulicht. Das Kniegelenk hat beispielsweise den Freiheitsgrad eins, da es nur nach oben und unten bewegt werden kann. 1. links/rechts 2. vorne/hinten 3. oben/unten 4. links/rechts drehen 5. seitlich kippen 6. vorne/hinten kippen [BH11] Abbildung 3: Die sechs Freiheitsgrade [5] 4

1.2.3 Vorwärtskinematik Bei der Vorwärtskinematik handelt es sich um ein einfaches Prinzip Bewegungen darzustellen. Der Parent eines Objekts bestimmt hier die Bewegungen seiner Children. Bei der Animation eines Skelettmodells können Probleme auftreten, wenn man den Endpunkt einer Kette an einen bestimmten Punkt im Raum bewegen möchte. Bei der Bewegung eines Fußes ist es zunächst einfach zu bestimmen zu welchem Zeitpunkt sich der Fuß an welcher Stelle im Raum befindet, jedoch ist es schwer, wenn zunächst der Oberschenkel, dann die Wade und zuletzt der Fuß bewegt werden müssen. [6] Das Animieren von komplexen Bewegungen wird durch diese hierarchisch (Parent, Child) verbundenen Ketten vereinfacht, da das übergeordnete Element(Parent) alle untergeordneten Elemente (Children) beeinflusst. Auf diese Weise lassen sich mehrere Elemente gleichzeitig bewegen. Um diese Kette von Elementen schließlich an eine Zielposition zu bringen, werden die einzelnen Elemente (Gelenke) rotiert. Dabei startet man beim ersten Parent Element und arbeitet sich durch alle Children bis ans Ende. Abbildung 4: Vorwärtskinematik [7] Im obigen Beispiel wird ein Roboterarm bestehend aus drei Gelenken mit Vorwärtskinematik animiert. Ziel des Arms ist es drei Positionen (mit schwarzen Punkten gekennzeichnet) anzusteuern. Das genaue Erreichen dieser Punkte ist sehr aufwändig, da alle drei Gelenke separat rotiert werden müssen. In diesem Beispiel handelt es sich um eine 2D-Animation, bei der drei X-Rotationswerte animiert werden, die dann jeweils in Keyframes gespeichert werden können. Je mehr Gelenke vorhanden sind, desto schwieriger und länger dauert dieser Prozess. Darum wird bei komplexeren Objekten die inverse Kinematik eingesetzt, da sie nur ein IK-Steuerelement für die Animation benötigt und so zielführender ist. [8] 5

2 Inverse Kinematik Ihren Anfang nahm die inverse Kinematik in der Robotik, wo der Roboterarm schnell an die gewünschten Endpunkte bewegt werden sollte. Gegenüber der Vorwärtskinematik erleichtert die inverse Kinematik die Arbeit des Character Animators sehr, da dieser nur noch die Zielposition des Endglieds angeben muss und sich die restlichen Glieder dementsprechend bewegen. Da die inverse Kinematik genau umgekehrt zur Vorwärtskinematik arbeitet, wird die Umkehrfunktion Θ = f 1 (e) der Vorwärtskinematik für die Berechnungen genutzt. Sie ist also eine Rückwärtsrechnung. Die größten Einsatzbereiche der inversen Kinematik sind mit Abstand die Robotik und die Animation von 3D-Modellen in Filmen und Computerspielen. Seltener werden solche Berechnungen auch bei bestimmten Operationen in der Medizin zur Hilfe gezogen, wie zum Beispiel bei Kieferoperationen. 2.1 Mathematische Verfahren Es gibt verschiedene Verfahren zur Berechnung der Positionen der Endeffektoren während einer Bewegung. In diesem Kapitel liegt der Schwerpunkt bei der Berechnung nach folgenden Methoden: Jacobian Transpose, Pseudo Inverse, Damped-Least Squares, Cyclic Coordinate Descent und Lagrange Multiplikatoren. 2.1.1 Analytische Verfahren Bei einfachen Animationen, zum Beispiel im zweidimensionalen Raum, kann das Problem analytisch gelöst werden. Das Bein in Abbildung 5 besteht aus zwei Drehgelenken mit den Parametern Θ 1 und Θ 2. L 1 und L 2 beschreiben die Länge der Gelenkarme. Die Position des Endeffektors x, y ist bekannt. Die Länge L und der Winkel Θ berechnet man mit L = (x 2 + y 2 ) Mit Hilfe des Cosinussatz: cosθ = x/l ergibt sich: L 2 2 = L 2 1 + L 2 + 2L 1 Lcos(Θ 1 Θ) L 2 = L 2 1 + L 2 2 + 2L 1 L 2 cos(π Θ 2 ) Durch Auflösen nach Θ 1 und Θ 2 lassen sich die gesuchten Gelenkparamater berechnen. Das analytische Verfahren wird meist nur bei einfachen Skeletten verwendet. Mit steigender Komplexität des Skeletts wird die analytische Lösung immer unbrauchbarer. [DS09] 6

Abbildung 5: Zweidimensionales Beingelenk [DS09] 2.1.2 Numerische Verfahren Um das Problem der inversen Kinematik mit dem numerischen Verfahren zu lösen, verwendet man häufig das folgende allgemeine Prinzip: Startwerte: Θ, s aktuell = s start, t Solange e = t s aktuell zu groß: Berechne Θ mit der Eigenschaft s(θ + Θ) t Θ := Θ + Θ Update Endeffektor-Positionen s aktuell := s(θ) Mit Hilfe dieses Verfahrens werden solange iterativ die neuen Positionen der Gelenke ( Θ) berechnet, bis die Position des Endeffektors so nahe wie möglich am gewünschten Zielpunkt ist. Die nachfolgend erklärten nummerischen Verfahren unterscheiden sich alle, im Vorgehen Θ zu berechnen. Würde es sich bei s um eine lineare Funktion handeln gilt: e = J(Θ) Θ J ist hierbei die Jacobi Matrix. Wäre die Jacobi-Matrix quadratisch, anstatt singulär, könnte man sie invertieren und es würde gelten: Θ = J 1 e Die Dimension der Jacobi-Matrix ist aber 3k x n, daraus folgt dass sie in den meisten Fällen nicht quadratisch ist und die Gleichung nicht benutzt werden kann. [DS09] 7

2.1.2.1 Jacobi Matrix Die Jacobi Matrix wird verwendet um die Veränderung der Position e in Abhängigkeit zur Veränderung von Θ darzustellen. Der grundlegende Aufbau einer Jacobi Matrix sieht wie folgt aus, dabei ist J eine 3 x n-matrix und n die Anzahl der Freiheitsgrade: J(e, Θ) = de dθ = x Θ 1 y Θ 1 w Θ 1 x x Θ 2... Θ n y y Θ 2... Θ n w w Θ 2... Θ n In Zeile 1 und Spalte 2 wird die Änderung der X-Koordinate gezeigt, wenn sich der Winkel Θ 2 ändert. Die einzelnen Spalten werden berechnet, indem man die Freiheitsgrade für alle Änderungen der Endeffektoren im Bezug auf den Freiheitsgrad berechnet. Die absoluten Werte der Achse a i und der Rotation r i müssen mit Hilfe des Produkts der Rotationsachse relativ zur Elternachse a i, beziehungsweise dem Abstand relativ zum Elterngelenk r i und der Weltmatrix des Elterngelenks W i-parent berechnet werden. Siehe folgende zwei Formeln: a i = a i W i-parent beziehungsweise r i = r i W i-parent Nun können diese Werte für die Berechnung der Spalte in der Jacobi Matrix benutzt werden: e Θ i = a i(e r i) Um die restlichen Spalten der Jacobi Matrix zu erhalten muss dann nur durch alle Freiheitsgrade iteriert werden. [BH11] 2.1.2.2 Pseudo Inverse Um das Invertieren der Jacobi Matrix zu umgehen, benutzt man die Pseudo Inverse Methode. In der Algebra ist die Pseudo Inverse der Matrix J wie folgt definiert: J f = (J T J) 1 J T Sie ist eine Verallgemeinerung auf singuläre Matrizen und wird zum Lösen des Problems der inversen Kinematik wie folgt benutzt: Θ = α J f e Jedoch können in der Nähe von Singularitäten Stabilitätsprobleme auftreten, was dazu führen kann, das eine Bewegungsrichtung des kinematischen Systems ausgeschlossen werden kann. So können bereits kleine Änderungen in e zu großen Änderungen in Θ führen. [DS09] 8

2.1.2.3 Damped-Least Squares Eine weitere Methode, die im Gegensatz zur Pseudo Inverse Methode keine Stabilitätsprobleme in der Nähe von Singularitäten hat, ist die Damped-Least Squares Methode. Dabei wird Θ folgend berechnet: Θ = min Θ = J Θ e 2 + λ 2 Θ 2 Es wird eine Dämpfungsvariable λ eingeführt, die groß genug sein muss, um nahen Singularitäten Stabilität zu gewährleisten und gleichzeitig klein genug, um akzeptable Konvergenzgeschwindigkeiten zu erreichen. Der Fehler J Θe minimiert. Da diese Methode zwar stabiler als das Pseudo Inverse Verfahren ist, jedoch in jedem Schritt die Jacobi Matrix berechnet werden muss, ist diese Methode sehr teuer. [DS09] 2.1.2.4 Cyclic Coordinate Descent Cyclic Coordinate Descent (CCD) wird durch einen iterativen, rekursiven Algorithmus realisiert und bietet sich vorallem für Ketten ohne Verzweigungen an. Er ist schnell, einfach und robust. Bei CCD wird das Problem in mehrere kleine Probleme mit nur noch einem Freiheitsgrad zerlegt und die kinematische Kette wandert von der Wurzel zum Endeffektor. [BH11] Der Algorithmus von CCD arbeitet folgendermaßen: Wiederhole Zyklus - for i = n to 1 do: Verändere Gelenk minimiere Zielfunktion - Update Gelenk-Konfiguration Bis Zielfunktionswert akzeptabel Bei jedem Zyklus werden alle n Gelenke betrachtet. Wenn ein Gelenk verändert wird, verändert sich kein anderes Gelenk, denn diese werden als unveränderlich betrachtet. Dadurch kann in jedem Schritt das Problem auf ein eindimensionales Minimierungsproblem der Zielfunktion zurückgeführt werden. Das Minimierungsproblem lässt sich nun mit Hilfe des analytischen Verfahrens lösen. Die Zielfunktion gibt dabei die Differenz e zwischen den aktuellen Positionen, der Endeffektoren und der Zielposition an. Ein Vorteil von CCD ist, dass Probleme mit einem Freiheitsgrad ganz einfach mit analytischen Methoden präzise lösbar sind. In der Praxis entstehen dadurch aber leider ruckelnde Animationen. [DS09] 9

2.1.2.5 Lagrange Multiplikatoren Die Lagrange Multiplikation ist eine komplexere Methode. Mathematische Optimierungsprobleme werden mit Hilfe der Lagrange-Multiplikatoren-Regel in Nebenbedingungen umformuliert und es wird das Extrema der Funktion h(x 1... x n ) unter der Nebenbedingung g(x 1... x n ) = c gesucht. Führt man diese Herangehensweise nun an das Problem der Kinematik, ergibt sich die Nebenbedingung J Θ = e. Außerdem werden weiche Bewegungen der Gelenke durch gezieltes mathematisches Formulieren erzielt. Somit wird ein natürlicherer Bewegungsablauf der Gelenke erreicht. Dies wird durch die Matrix B Θ = q ausgedrückt. Lagrange Multiplikatoren sind skalare Variablen, die für jede Nebenbedingung in der Matrixgleichung J Θ = e eingesetzt werden. Mit deren Hilfe definiert man Linearkombinationen, die die Multiplikatoren als Koeffizienten einbinden. Dadurch wird das Nebenbedingungsproblem auf ein Problem ohne Nebenbedingung reduziert, das mittels eines geeigneten Verfahrens, z.b. das Gradientenverfahren gelöst werden kann. ( 2B T B J T J 0 ) ( Θ λ ) = ( 2B T ) q e Nun können die Multiplikatoren λ berechnet werden und die gesuchte Lösung Θ gefunden werden. [DS09] 3 Vor- und Nachteile der inversen Kinematik 3.1 Nachteile Auf den ersten Blick scheint die inverse Kinematik die ideale Lösung komplexer Animationen zu sein. Jedoch verliert man die Kontrolle über den gesamten Bewegungsablauf. Das Endglied kommt zwar an der gewünschten Position an, aber die einzelnen Glieder innerhalb der Kette können unnatürlich wirkende Bewegungen verursachen. Bei einem Bein würde die Animation in Variante 2 beispielsweise echter aussehen, als mit einem nach unten zeigenden Knie wie in Variante 1. [BH11][CW02] Da es bei der inversen Kinematik immer mehrere Lösungen gibt entstehen dementsprechend mehr unnatürliche Bewegungsabläufe als bei der Vorwärtskinematik. Mit neueren, komplexeren Algorithmen wird jedoch versucht, diese auf ein Minimum zu reduzieren. [BH11] Das Problem der Mehrdeutigkeit lässt sich mittlerweile auch teilweise lösen indem man von den möglichen Lösungen diejenigen nimmt, welche am wenigsten Abweichungen zum vorherigen Iterationsschritt aufweisen. Außerdem kann man zusätzlich anatomisch unmögliche Positionen ausschließen. [AVR] 10

Abbildung 6: Unnatürliche Bewegung [CW02] 3.2 Vorteile Für die inverse Kinematik spricht eine schnelle und intuitive Bedienung, die es dem Animateur ermöglicht komplexe Bewegungsabläufe, ohne Berechnung aller Winkelstellungen der Glieder, zu erstellen. Der Arbeitsaufwand wird auf das Bewegen des Endglieds zum gewünschten Zielpunkt reduziert. [BH11].Weiß benennt hierfür ein sehr gutes Beispiel: Es soll eine Figur animiert werden, die mit einem Ball in der Hand in einem Raum steht, und mit dem Ball einen bestimmten Punkt an der Wand treffen soll. Unter Verwendung der Vorwärtskinematik hatte man nun keinerlei Anhaltspunkte, wie der Wurf modelliert werden soll und ist gezwungen, alle Möglichkeiten auszuprobieren, den Ball ins Zimmer zu werfen, bis die richtige gefunden ist. Man kann jedoch auch aus der Zielposition berechnen, in welchem Winkel man den Ball in welche Richtung werfen muss, um den Zielpunkt zu erreichen. Mit diesen Angaben kann die inverse Kinematik den Wurf genau bestimmen und das Ziel wird innerhalb kurzer Zeit getroffen. [CW02] 4 Ausblick Inverse Kinematik ist mittlerweile fast unersetzbar in der modernen Computeranimation. Durch die verschiedenen Ansätze zur Berechnung der Bewegungen wird der Ablauf der Animation immer realistischer. In der Computerspielindustrie ist es heutzutage notwendig die Spiele immer Realitätsnaher zu gestalten, da man sonst große Marktanteile an die Konkurrenz verliert. Es werden auch immer neue Methoden entwickelt, um alles noch besser, noch realistischer, noch emotionaler zu gestalten. Beispielsweise das Motion Capture Verfahren. EA Sports hat Motion Capture unter anderem für ihre Fifa Reihe verwendet, um die Bewegungen der Spieler noch echter darzustellen. Eine Verfeinerung von Motion Capture ist das sogenannte Head-Tracking. Bei diesem Verfahren werden die Gesichtszüge einer Person, meistens eines Schauspielers gescannt um genau zu erfassen, wie sich das Gesicht beim Reden oder beim Ausdruck von Emotionen bewegt. Durch das sogenannte Capturing wird dem Charakter ganz anderes Leben eingehaucht als mit der inversen Kinematik. Unserer Meinung nach war die inverse Kinematik ein elementarer Baustein in der Weiterentwicklung des Animationsverfahrens. In den nächsten Jahren und Jahrzehnten werden vermutlich 11

immer neue, effizientere Techniken entwickelt, die den ganzen Prozess noch realitätsnäher ablaufen lassen. Vor allem glauben wir, dass die Technik immer weiter in die Capturing Richtung geht und man die Kinematik nur noch für kleine Ausbesserungen verwendet. Wir können uns auch vorstellen, dass die Kinematik irgendwann komplett abgelöst wird und man alles nur noch durch Capturing Verfahren realisiert, da diese sehr viel einfacher anzuwenden sind und somit die komplexen Rechenaufgaben fast ausschließlich dem Computer überlassen werden. 12

5 Literaturverzeichnis [DS09] Daniela Steidl. Inverse Kinematik. TU München, 2011 [BH11] Benedikt Hirmer. Inverse Kinematik [CW02] Claudia Weiß. Inverse Kinematik. Universität Ulm, 2002 [AVR] Vorlesung Animation und virtuelle Realität Sommersemester 2014 [1] http://www.grundstudium.info/animation/node20.php Aufgerufen am 17.12.2014 [2] http://de.wikipedia.org/wiki/kinematik [3] https://software.intel.com/en-us/articles/ character-animation-skeletons-and-inverse-kinematics [4] http://www.3dkingdoms.com/labeled.jpg [5] http://upload.wikimedia.org/wikipedia/commons/f/fa/6dof_ en.jpg [6] http://de.wikibooks.org/wiki/blender_dokumentation: _Vorw%C3%A4rts-_und_inverse_Kinematik [7] http://www.dma.ufg.ac.at/assets/14174/intern/fk1.jpg [8] http://www.dma.ufg.ac.at/app/link/grundlagen%3a3d-grafik/ module/14174?step=1 [9] http://www.grundstudium.info/animation/node21.php 13