Proseminar Computer Grafik und Visualisierung
I. Inhaltsverzeichnis 1. Einleitung 1.1 Definition...3 1.2 Geschichte...3 1.3 Animationsfilme... 3 2. Techniken... 3 2.1 Rotoskopie... 3 2.2 Keyframing... 4 2.3 Morphing... 4 2.4 Interpolation...5 2.5 Skeletal Animation... 5 2.6 Skinning...6 2.7 Kinematik... 6 2.6.1 Forward Kinematik... 6 2.6.2 Inverse Kinematik...7 2.8 Motion Capture... 7 2.9 Prozedurale Animation... 7 2.9.1 Simulation...7 2.9.2 Partikelsysteme... 8 2.9.3 Schwärme... 9
1. Einleitung 1.1 Definition Das Wort Animation stammt von dem lat. Begriff animare, was soviel heißt wie zum Leben erwecken. Unter Computeranimation versteht man ein filmtechnisches Verfahren, unbelebten Objekten im Trickfilm Bewegung zu verleihen. Dabei handelt es sich somit um die Bewegung eines Objekts, das sich nicht aus eigenem Antrieb fortbewegen kann. Anders kann man Computeranimation auch als eine zeitliche Veränderung aller Parameter in einer Szene, die visuelle Effekte definieren, sehen. 1.2 Geschichte 1831: Joseph Antoine Plateau u. Simon Rittrer Phenakistoskop 1887: Hannibal Goodwin Rollfilm auf Zelluloidbasis 1891: Thomas Edison Kinetoskop 1914: Winsor McCay Zeichentrickfilm mit 10.000 Bildern ( Gertie, the trained dinosaur ) 1923: Disney Brothers Cartoon Studios Warner Brothers Pictures 1963: Ivan Sutherland Sketchpad 1987: John Lasseter Prinzipien der 3D Animation 1.3 Animationsfilme 1995: Toy Story [$359] 2000: Dinosaurier [$348] 2001: Shrek Der tollkühne Held [$455] 2002: Ice Age [$387] 2003: Findet Nemo [$865] 2004: Die Unglaublichen [$624] & Robots [$246] 2005: Madagascar [$407] 2006: Ab durch die Hecke [$327] (Gewinn in Mio. US$ aus verkauften Kinokarten) 2. Techniken 2.1 Rotoskopie Unter Rotoskopie versteht man ein historisches Verfahren, bei dem aufgenommene Filmszenen auf eine Mattglasscheibe projiziert wurden und daraufhin dieses Bild dann von einem Animateur durchgepaust wurde. Dieses Verfahren wird auch heute noch teilweise eingesetzt. Heutzutage erfolgt dies jedoch computergestützt. Das heißt die Projektion und teilweise sogar das Durchpausen übernimmt die Computersoftware. Rotoskopie ist jetzt großteils im Bereich der Bildverarbeiterung als Bild-Filter anzutreffen. -3-
Abbildung 2.1.1: Rotoskopie 2.2 Keyframing Der Begriff key frame stammt ursprünglich aus der Zeichentrickfilmindustrie aus den Disney Studios. Dabei wurden die professionellen Künstler in zwei Bereiche eingeteilt. Jene, die als Aufgabe die sogenannten key frames, Schlüsselbilder zu zeichnen hatten und jene, die die Zwischenbilder (Tweenings) erstellen mussten. Um beim Keyframing eine kontinuierliche Bewegung zu erzeugen, müssen etwa 25 Bilder pro Sekunde (frames per second fps) abgespielt werden. Es sei angemerkt, dass key frames nicht unbedingt Bilder sein müssen, im allgemeinen versteht man darunter eigentlich Schlüsselparameter, die in der Lage sind, eine Bewegung zu definieren. Abbildung 2.2.1: Keyframing Abb. 2.2.1 veranschaulicht die Situation, dass durch Interpolation der key frames auch physikalische Gesetze, wie beispielsweise die Undurchdringbarkeit von Festkörpern, gebrochen werden können. Deswegen muss darauf geachtet werden, dass die key frames gut gewählt werden, um dieses Artefakt zu vermeiden. 2.3 Morphing Morphing heißt aus dem engl. übersetzt so viel wie verwandeln. Dieses Verfahren wird dann eingesetzt wenn sich Formen oder Objekte verformen und in andere Formen oder Objekte übergehen. Bei diesem Verfahren ist das Hauptziel einen stetigen, glaubwürdigen Übergang zu erzeugen. Dieser Übergang wird durch Interpolation der key frames erzeugt, wobei die Art der Interpolation große Auswirkungen auf die Glaubwürdigkeit der Zwischenbilder hat und dabei je nach Anwendung entschieden werden muss, welche Art der Interpolation zu wählen ist. -4-
Abbildung 2.3.1: Bush Schwarzenegger Abbildung 2.3.2: Tier - Auto 2.4 Interpolation Unterschiedliche Interpolationsmethoden: Linear Interpolation SLERP (spherical linear interpolation) Spline-Interpolation Bezier-Interpolation Für jede Anwendung sollte explizit entschieden werden, welche Interpolationsmethode am Sinnvollsten ist. Abbildung 2.4.1: Interpolationsmethoden 2.5 Skeletal Animation Unter Skeletal Animation, Character Animation oder auch Animation of articulated figures versteht man eine Methode um Bewegungen von Lebewesen (Menschen, Tieren...), die ein Skelett besitzen oder einen ähnlichen Körperbau mit verknüpften Gelenken haben, relativ gut durchführen zu können. Dabei erstellt man ein Skelett aus joints und Bones, die hierarchisch aufgebaut sind. Bei menschenähnlichen Figuren nimmt man meist das Becken als Wurzelelement. Durch die hierarchische Struktur müssen immer nur die relativen Bewegungen zum übergeordneten joint angegeben werden, da der joint die Bewegungen des übergeordneten joints automatisch vornimmt. In den key frames werden somit nur Informationen über Lage der einzelnen joints bezüglich des übergeordneten Elements gespeichert. -5-
Abb. 2.5.1: Skelett Abbildung 2.5.2: Skeleton Animation 2.6 Skinning Skinning nennt sich die Technik bei der die Vertices des eigentlichen Objekts einem Joint zugewiesen werden, sich damit genauso bewegen wie der joint. Bei dieser Methode können jedoch noch unschöne Fehler bei Gelenken entstehen, da sich dort beispielsweise bei menschlicher Haut die Vertices nicht starr verhalten, sondern elastisch. Diese Elastizität kann jedoch durch Zuweisung von Vertices zu mehreren joints und einer Gewichtung (wobei die Summe der Gewichte 1 ergibt), vorgetäuscht werden. Nachteile daran sind jedoch, dass die Anzahl der Berechnungen steigt und das Programm etwas schwerer zu implementieren ist. Abbildung 2.6.1: Skelett und Skin einer Katze Abb. 2.6.2: Skinning 2.7 Kinematik 2.7.1 Forward Kinematik Das Verfahren der Forward Kinematik (Kinematik = Bewegungslehre) hat ihren Ursprung im Bereich der Robotik. In diesem Bereich beschäftigte man sich schon sehr früh mit Fragen bezüglich der Einstellungen von Gelenken, die hierarchisch aneinander gekettet sind, um bestimmte Bewegungsabläufe zu realisieren. Bei der Vorwärtskinematik ist das Ziel aus den angegebenen Winkeln der Gelenke, die absoluten Positionen im Raum zu errechnen. Mit ein bisschen Verständnis im Bereich der linearen Algebra -6-
sieht man schnell, dass sich das durch eine Multiplikation der einzelnen Transformationsmatrizen der einzelnen Gelenke sehr einfach berechnen lässt. 2.7.2 Inverse Kinematik Schon sehr früh hat man gemerkt, dass sich Bewegungen durch Angabe der Winkel jedoch oft nicht einfach erstellen lassen. Ein Beispiel dafür wäre ein Roboter, der ein Glas greifen soll. Wie weiß man allerdings wie man die einzelnen Gelenke stellen muss, damit der Roboter das Glas in den Greifern hält. Deshalb versuchte man den Prozess der Forward Kinematik umzukehren. Es sollte somit möglich sein, die Positionen der sogenannten Endeffektoren zu spezifizieren und daraus die einzelnen Gelenkstellungen errechnen zu können. Dies führte jedoch zu vielen Problemen. Das erste Problem besteht darin, dass es nicht immer eine Lösung geben muss, denn es sind nicht alle Positionen im Raum über Gelenkstellungen erreichbar. Ein weiteres Problem kann entstehen, wenn es mehrere Lösungen gibt. Es kann vorkommen, dass es sogar unendlich viele Gelenkstellungen gibt, um den Endeffektor an eine bestimmte Stelle zu bringen. Welche dieser Lösungen ist nun vorzuziehen? Dieses Problem kann durch zusätzliche Bedingungen zur natürlichsten Gelenkstellung etwas eingeschränkt werden, oder aber auch durch simple Einschränkung der Freiheitsgrade. Für die Problemstellungen in der Inversen Kinematik werden anspruchsvolle Methoden der Mathematik benötigt, die über den Rahmen dieses Proseminars hinausgehen würden. 2.8 Motion Capture Unter Motion Capture versteht man die Erfassung von menschlichen Bewegungen in einem für den Computer verständlichen Format. Dabei tragen die Akteure meist einen Spezialanzug, der je nach Art des verwendeten Motion Capture Systems anders funktioniert. Dabei gibt es eine Reihe unterschiedlicher Verfahren. Es gibt optische, mit Hilfe von pulsierenden LEDs oder Reflektoren, magnetische, mechanische und akustische Systeme. Ziel dabei ist es, Bewegungen möglichst genau aufzuzeichnen und dann auf computeranimierte Figuren zu übertragen, damit diese äußerst realistische Bewegungen ausführen. Abbildung 2.8.1: Motion Capture mechanisch Abb. 2.8.2: Motion Capture - optisch 2.9 Prozedurale Animation Prozedurale Animation bezeichnet Bewegtbildsequenzen, die mittels Software erzeugt werden, bei denen alle oder ein Großteil der Bewegtbildsequenzen errechnet werden. 2.9.1 Simulation In der Simulation erstellt man Computermodelle, mit denen die Bewegung eines Objekts oder -7-
Struktur basierend auf den physikalischen Gesetzen simuliert wird. Dabei ist meistens das Ziel durch Experimente an einem Modell, Erkenntnisse über ein reales System zu gewinnen. Die Simulation weist vielfältige Anwendungsmöglichkeiten auf wie zum Beispiel Flugsimulationen, Crashsimulationen, medizinische Simulationen, meteorologische Simulationen und wissenschaftliche Simulationen. Abb. 2.9.1: geologische Sim. Abb. 2.9.2: Strömungssimulation 2.9.2 Partikelsysteme Partikelsysteme wurden erstmals von Reeves in dem Film Star Trek II Der Zorn des Khan (Genesis-Effekt) eingeführt. Dabei handelt es sich um Ansammlungen von einfachen Grafikobjekten (Partikeln), welche zusammen ein großes Objekt bilden. Sie können zur Darstellung von natürlichen Phänomenen, deren Form nicht eindeutig definierbar ist, verwendet werden. Beispiele dafür wären Wasser, Rauch, Textilien, Gräser, Feuer, Schnee oder Bäume. Es gibt im wesentlichen zwei unterschiedliche Arten von Partikelsystemen: Stochastische Partikelsysteme Feuer, Nebel, Rauch Strukturierte Partikelsysteme Graslandschaften, Wälder Die einzelnen Partikel werden im Normalfall von einem Emitter kontrolliert. Partikel werden geboren und sterben, dies kann auch wieder durch unterschiedliche Bedingungen erfolgen, zeitoder ortsabhängig. Ein Standard-Partikel hat beispielsweise folgende Eigenschaften: Position Geschwindigkeit und Richtung Größe Farbe Transparenz Form/Aussehen Lebensdauer -8-
Abbildung 2.9.3: Partikelsystem Feuer Abbildung 2.9.4: Partikelsystem - Galaxis 2.9.3 Schwärme Schwärme haben sehr ähnliches Verhalten wie Partikelsysteme. Sie haben jedoch keine begrenzte Lebensdauer. Bei ihnen ist nicht nur der Gesamteindruck, sondern auch der dynamische Eindruck maßgebend. Die Akteure darin sind komplexer als Partikel. Beispiele dafür wären ein Schwarm Vögel (Aktionen: Flügel schlagen, Geräusche) oder Fische (Aktionen: Flossen bewegen). 1987 hat Craig Reynolds das Schwarmverhalten im Film Stanley and Stella breaking the ice näher spezifiziert. Das Schwarmverhalten kann seiner Meinung nach durch folgende drei grundlegende Aktionen beschrieben werden: Kollisionsvermeidung Geschwindigkeitsanpassung Schwarmzentrierung Abbildung 2.9.4: Schwärme Fische Abbildung 2.9.5: Schwärme - Vögel -9-
II. Abbildungsverzeichnis Titelbild Quelle: http://www.cs.berkeley.edu/b-cam/papers/arikan-2003-msa/pictures/fig1.jpg [2. Juli 2007] Abbildung 2.1.1: Rotoskopie Quelle: http://www.nature.com/nature/journal/v441/n7096/images/441922a-i1.0.jpg [30. Juni 2007] Abbildung 2.2.1: Keyframing Quelle: www.icg.tu-graz.ac.at/courses/cgcv/slides/cg2-13-computer_animation.pdf [30. Juni 2007] Abbildung 2.3.1: Bush Schwarzenegger Quelle: http://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/bush-arnie-morph.jpg/300pxbush-arnie-morph.jpg Abbildung 2.3.2: Tier Auto Quelle: http://www.nissan.de [29. Juni 2007] Abbildung 2.4.1: Interpolationsmethoden Quelle: http://de.wikipedia.org/wiki/interpolation Abbildung 2.5.1: Skelett Quelle: http://www.webreference.com/3d/lesson96/96-2.gif [30. Juni 2007] Abbildung 2.5.2: Skeleton Animation Quelle: http://www.mpi-inf.mpg.de/~edeaguia/images/img_master03.jpg Abbildung 2.6.1: Skelett und Skin einer Katze Quelle: http://www.robertpeake.com/uploads/cat-1.jpg Abbildung 2.6.2: Skinning Quelle: http://www.robertpeake.com/uploads/cat-2.jpg [30. Juni 2007] Abbildung 2.8.1: Motion Capture mechanisch Quelle: http://www.inition.com/inition/images/product_mocaptrack_animazoo_gypsy5_2.jpg [30. Juni 2007]
Abbildung 2.8.2: Motion Capture optisch Quelle: http://www.rdc.imi.i.u-tokyo.ac.jp/robotbrain/img/movies/bcs_2.jpg Abbildung 2.9.1: geologische Simulation Quelle: http://www.uni-muenster.de/physik/dek/fb-brosch/geo2.jpg Abbildung 2.9.2: Strömungssimulation Quelle: http://wwwcg.in.tum.de/research/projects/windtunnel/justpoints.png Abbildung 2.9.3: Partikelsystem Feuer Quelle: http://content.answers.com/main/content/wp/en/thumb/0/06/180px-particle_sys_fire.jpg [29. Juni 2007] Abbildung 2.9.4: Partikelsystem Galaxis Quelle: http://content.answers.com/main/content/wp/en/thumb/0/06/180px-particle_sys_stars.jpg Abbildung 2.9.4: Schwärme Fische Quelle: http://www.ip-atlas.com/pub/nap/image/cr-boid1.gif Abbildung 2.9.5: Schwärme Vögel Quelle: http://aiplanet.sourceforge.net/screenshots/v0.61/flocking-boyd1.jpg
III. Literaturverzeichnis [1] Bender, Michael; Brill, Manfred: Computergrafik Ein anwendungsorientiertes Lehrbuch, München 2006 [2] URL: www.cc.gatech.edu/gvu/animation/papers/ency.pdf [3] URL: www.inf.tudresden.de/cg/lectures/ws0203/secure/animation.pdf [4] URL: www.fh-kl.de/~brill/cav/downloads/cav_animation.pdf [5] URL: www.fh-kl.de/~brill/cav/downloads/cav_vrml.pdf [30. Juni 2007] [6] URL: www-gs.informatik.tu-cottbus.de/~wwwgs/cg2_v14a.pdf [30. Juni 2007] [7] URL: content.grin.com/data/8/29124.pdf [8] URL: www.eecs.berkeley.edu/~job/papers/hodgins-2000-ca.pdf [9] URL: www.mysticgd.com/misc/advancedparticlesystems.pdf [10] URL: www.2ld.de/gdc2004/megaparticlespaper.pdf [30. Juni 2007] [11] URL: de.wikipedia.org/wiki/animation [12] URL: www.cc.gatech.edu/classes/cs8113a_98_spring/kinematics.pdf [13] URL: www-clmc.usc.edu/~adsouza/papers/dsouza-iros2001.pdf [14] URL: people.csail.mit.edu/jovan/assets/papers/sumner-2005-mik.pdf [15] URL: fivedots.coe.psu.ac.th/~ad/jg/ch12/chap12.pdf [16] URL: www.cc.gatech.edu/classes/cs8113a_98_spring/keyframing.pdf [30. Juni 2007]