Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Matthias Wagner computer graphics & visualization Seminar – Computer Grafik und Visualisierung Animation.

Ähnliche Präsentationen


Präsentation zum Thema: "Matthias Wagner computer graphics & visualization Seminar – Computer Grafik und Visualisierung Animation."—  Präsentation transkript:

1 Matthias Wagner computer graphics & visualization Seminar – Computer Grafik und Visualisierung Animation

2 computer graphics & visualization Matthias Wagner Übersicht - Einführung in die Animation - Ursprünge - Grundlagen - Animationstechniken - Procedural Animation - Articulated Structures - Motion Capturing

3 computer graphics & visualization Matthias Wagner Einführung in die Animation - Ursprünge der Animation: - Zeichentrickfilme im Kino und Fernsehen - Ziel: Illusion einer Bewegung durch schnell aufeinanderfolgende, ähnliche Einzelbilder - Nötig: ca 12 fps, ab ca 70 fps keine Verbessung mehr

4 computer graphics & visualization Matthias Wagner Einführung in die Animation - Überschneidungen zwischen Computeranimation und traditioneller Animation: - Futureworld (1976) - Tron (Disney 1982) - Luxo Jr. (Pixar 1986)

5 computer graphics & visualization Matthias Wagner Einführung in die Animation - Computeranimation: - Virtualität erlaubt beliebige Ergebnisse - Sehr viele Animationsvariablen (Avars) - Nachteil: Animator schnell überfordert - Deswegen motion control system hilfreich

6 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Motion control system - Skriptsprache oder Interaktiv - Einführung eines Actors, ein Objekt das eigene Animations- und Interaktionsregeln besitzt -Kann als eigene Entity betrachtet werden (ähnlich einem komplexen Typ einer Programmiersprache)

7 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Control hierarchy - High-level und low-level Befehle nötig:

8 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Control hierarchy - High-level und low-level Befehle nötig: -Animation eines rigid body: - 6 Freiheitsgrade - 30 FPS - 5 Sekunden - benötigt 9000 low-level Werte!

9 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Control hierarchy - High-level und low-level Befehle nötig: -Animation eines rigid body: - 6 Freiheitsgrade - 30 FPS - 5 Sekunden - benötigt 9000 low-level Werte! -Animation eines menschlichen Körpers: - Ohne high-level Unterstützung nicht machbar

10 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Anforderungen an Control Hierarchy: - high-level Befehle in low-level Befehle umwandeln - korrekte Interaktion der low-level Animationen untereinander sicherstellen - Reaktion der höheren Level auf Feedback der niederen Level

11 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Keyframing - Entwickelt von Walt Disney - Bessere Animateure zeichnen einzelne Keyframes einer Animation - Weniger gute Animateure interpolieren zwischen diesen Keyframes - Key parameter - Generalisiert: Möglichkeit jeden Parameter zu interpolieren (z.B. Geschwindigkeit)

12 computer graphics & visualization Matthias Wagner Grundlagen der Computeranimation - Parametrisierung wichtig: - Rotation einer Linie um 90° - Interpolation der Winkel gegenüber Interpolation der Endpunkte - Nachteil: Keyframing funktioniert nur für einfache Bewegungen

13 computer graphics & visualization Matthias Wagner Spline-driven animation - Spline-driven animation - Objektanimation über kubische Spline - Beispiel: Bewegung eines Objekts entlang einem Pfad im Raum: -Q(u) = (x,y,z): Pfad R -> R 3 -V(u) = (t, s): Geschwindigkeitskurve R -> R 2

14 computer graphics & visualization Matthias Wagner Spline-driven animation - Problem: wie u wählen, um gewollte Geschwindigkeit zu erhalten?

15 computer graphics & visualization Matthias Wagner Spline-driven animation - Parametrisierung von Q zur Bogenlänge s - s = A(u) - Q(u) zu Q(A -1 (s)) - Numerisch -A -1 (s) über Intervallsuche auf A(u) -A(u) über numerische Integration evaluieren

16 computer graphics & visualization Matthias Wagner Spline-driven animation - Spline-driven Animation - Parametrisierung von V nach t -Ebenfalls über Intervallsuche - Zusammengefasst: -Einsetzen der Zeit t in V (parametrisiert zur Zeit), um Bogenlänge s auf der Spline zu erhalten -Einsetzen von s in Q (parametrisiert zur Bogenlänge), um die resultierende Position zur Zeit t zu erhalten.

17 computer graphics & visualization Matthias Wagner Rotation und Orientierung - Euler Rotation - Rolls sind nicht unabhängig (Gimbal Lock Problem) - Reihenfolge der Rolls ist wichtig - Orientierungsänderung nicht eindeutig

18 computer graphics & visualization Matthias Wagner Rotation und Orientierung - Euler Rotation - Schlecht für Interpolation zwischen verschiedenen Orientierungen -Entscheidung schwer, in welcher Reihenfolge interpoliert werden soll

19 computer graphics & visualization Matthias Wagner Rotation und Orientierung - Ausweg: Quaternion, ähnlich komplexer Zahl definiert: - q = a + bi + cj + dk mit i² = j² = k² = -1 und ij = k sowie ji = -k - Andere Notation: q = (s, v) = s + v x i + v y j + v z k - Multiplikation: q 1 q 2 = (s 1 s 2 – v 1 v 2, s 1 v 2 + s 2 v 1 + v 1 ×v 2 ) - Größe: |q|² = s² + |v|²

20 computer graphics & visualization Matthias Wagner Rotation und Orientierung - Es kann gezeigt werden, dass ein Einheitsquaternion eine Rotation repräsentiert: - ( cos(Θ/2), sin(Θ/2) (x, y, z) ): Rotation um Θ um den Vektor v = (x, y, z) mit |v| = 1

21 computer graphics & visualization Matthias Wagner Rotation und Orientierung - Vorteil: Interpolation zwischen 2 Quaternions ist direkter als zwischen Eulerrotationen - Sphärische lineare Interpolation nötig (Gruppe der Rotationen auf die Fläche der 4-dimensionalen Hypersphäre im Quaternionraum abgebildet) - q 1 q 2 = cos Ω - Rotationsrichtung: Wenn (q 1 -q 2 )(q 1 - q 2 )>(q 1 +q 2 )(q 1 +q 2 ), ersetze q 2 mit –q 2 für die kürzere Rotation

22 computer graphics & visualization Matthias Wagner Übersicht - Einführung in die Animation - Ursprünge - Grundlagen - Animationstechniken - Procedural Animation - Articulated Structures - Motion Capturing

23 computer graphics & visualization Matthias Wagner Animationstechniken - Prozedural - Bewegung in Abhängigkeit der Zeit - Representional - Nicht nur Bewegung, auch Formänderung - Modellierung und Animation überschneiden - Typen: -Animation von articulated objects -Soft object animation - Stochastisch - zB. Partikelsysteme - Behavioural - Umgebung hat Einfluss auf Animation (Bird flocking zb)

24 computer graphics & visualization Matthias Wagner Animationstechniken - Prozedurale Animation - Mittels einer Prozedur Attribute eines Objekts verändern - Manchmal auch Form – im Vergleich zu soft object animation aber meist mathematisch/physisch basiert - Beispiel: Wasserwellen

25 computer graphics & visualization Matthias Wagner Prozedurale Animation - Animation analytischer Modelle - Neben Animation vorhandener Geometrie je nach Anwendungsfall auch Erstellen der Originalgeometrie - Letzteres z.B. bei Wasserwellen

26 computer graphics & visualization Matthias Wagner Prozedurale Animation - Wasserwelle in feste Richtung k=(k 1, k 2, 0): -A Wellenamplitude -c Geschwindigkeitsvektor (auch in Richtung k) -z(x, y, t) = A cos ( k ( (x, y, 0) – ct ) )

27 computer graphics & visualization Matthias Wagner Prozedurale Animation - Partikelsysteme - Objekt wird durch viele einzelne Partikel repräsentiert - Pro Frame: -Emitter erstellen neue Partikel und fügen sie in das System ein -Diesen Partikeln individuelle Parameter zuweisen (z.B. Position und Geschwindigkeit) -Partikel, deren Lifetime abgelaufen ist, entfernen -Partikel nach ihren jeweiligen Scripts bewegen -Partikel rendern

28 computer graphics & visualization Matthias Wagner Prozedurale Animation - Partikelsysteme - Rendern auch über Extraktion einer Oberfläche aus dem Partikelsystem möglich - Demo

29 computer graphics & visualization Matthias Wagner Prozedurale Animation - Behavioural animation - Flocking (z.B. Vogelschwärme) - Partikel nicht voneinander unabhängig - Partikel sind jetzt spezifische Objekte, besitzen eigene Orientierung und eigenes Verhalten

30 computer graphics & visualization Matthias Wagner Prozedurale Animation - Flocking - Flug entlang z-Achse der Flock Partikel - Rotation um lokale x-Achse und y-Achse erlaubt - Summe der Partikel bestimmt Bewegung des Flocks, welcher wiederum die globale Richtung angibt - Regeln für Flock Partikel in Reihenfolge: -Kollisionsvermeidung -Geschwindigkeit an Flock anpassen -Nähe zum Flock bewahren

31 computer graphics & visualization Matthias Wagner Übersicht - Einführung in die Animation - Ursprünge - Grundlagen - Animationstechniken - Procedural Animation - Articulated Structures - Motion Capturing

32 computer graphics & visualization Matthias Wagner Articulated Structures - Articulated Figure - Struktur aus mehreren festen Links/Bones, verbunden an Joints (Gelenken) - Kinematik - Bewegungsspezifikation unabhängig von Kräften - Degrees of Freedom (DOF) - Freiheitsgradanzahl = Anzahl an unabh. Positionsvariablen für einen Zustand der Struktur - Basis und Endeffektor - Anfang und Ende eines Chains

33 computer graphics & visualization Matthias Wagner Articulated Structures - Statusvektor - Θ = (Θ 1, …, Θ N ) - |Θ| = DOF - Gibt Zustand jedes Joints in der Struktur an - Zwei Vorgehensweisen eine Haltung zu erreichen: - Alle Joint Winkel festlegen: -Vorwärtskinematik -X = f( Θ ) - Position des Endeffektors festlegen: -Inverse Kinematik -Θ = f -1 ( X )

34 computer graphics & visualization Matthias Wagner Inverse Kinematik - Ziel: Statusvektor Θ berechnen, um bestimmte Lage des Endeffektors X zu erhalten - Θ = f -1 ( X ) - Probleme: - f -1 finden nicht leicht - Nicht eindeutig - Nicht immer eine Lösung

35 computer graphics & visualization Matthias Wagner Inverse Kinematik - Lösungsansätze: - Analytisch -Direktes Invertieren der Vorwärtskinematikgleichungen -Nur möglich bei relativ einfachen Chains - Numerisch -Approximation und Iteration -Teurer… -aber allgemeiner verwendbar!

36 computer graphics & visualization Matthias Wagner Inverse Kinematik - Numerischer Ansatz über Jakobimatrix - Vektorableitung bzgl anderem Vektor - Matrix partieller Ableitungen für jede Kombination der Vektorkomponenten - dX = J(f, Θ) dΘ - Gibt an, was Änderungen am Statusvektor Θ mit |Θ|=M am Endeffektor X mit |X|=N bewirken

37 computer graphics & visualization Matthias Wagner Inverse Kinematik - Was bringt uns die Jakobimatrix? - dX = J(f, Θ) dΘ - dΘ = J -1 (f, Θ) dX - ermöglicht uns, den Endeffektor iterativ näher an die gewollte Position zu schieben - f nichtlinear (sin und cos), deswegen nur kleine dX möglich - Für G als gewollte Endposition: -dX = ß(G – X) mit 0ß1

38 computer graphics & visualization Matthias Wagner Inverse Kinematik - Berechnung der Jakobimatrix - Geometrischer Ansatz - Rotation joint -Θ i repräsentiert dabei einen Rotational DOF eines Joints -a i ist Rotationsachse in Weltkoordinaten -r i ist Jointposition in Weltkoordinaten -X ist Endeffektorposition in Weltkoordinaten

39 computer graphics & visualization Matthias Wagner Inverse Kinematik - Wie die Jakobimatrix invertieren? - meist nicht quadratisch - eventuell auch singulär - normales Invertieren nicht praktikabel

40 computer graphics & visualization Matthias Wagner Inverse Kinematik - Invertieren der Jakobimatrix - Moore-Penrose Pseudo-Inverse -J* = (J T J) -1 J T - Statt invertierter Matrix einfach transponieren -funktioniert besser als erwartet -schneller und lokal berechenbar -qualitativ schlechter als Moore-Penrose - Singulärwertzerlegung

41 computer graphics & visualization Matthias Wagner Inverse Kinematik - Wann Algorithmus beenden? - Lösung gefunden oder nahe dran - Lokales Minimum - Zeitbasiert - Kann über Statusvektor überprüft werden

42 computer graphics & visualization Matthias Wagner Inverse Kinematik - Algorithmus - While(X zu weit von G entfernt) { - J(X, Θ) für aktuellen Status Θ berechnen - J -1 berechnen - dX = ß(G – X) - dΘ = J -1 dX - Θ = Θ + dΘ - X neu berechnen (über Vorwärtskinematik) - }

43 computer graphics & visualization Matthias Wagner Inverse Kinematik - Demo

44 computer graphics & visualization Matthias Wagner Übersicht - Einführung in die Animation - Ursprünge - Grundlagen - Animationstechniken - Procedural Animation - Articulated Structures - Motion Capturing

45 computer graphics & visualization Matthias Wagner Motion Capturing - Mittels Markern Bewegungen aufzeichnen - An jedem Joint Marker: - Akustisch - Trägheit - LED - Magnetisch - Reflektiv

46 computer graphics & visualization Matthias Wagner Motion Capturing - Was ist Tracking? - Korrekte Registrierung zwischen realen und virtuellen Objekten - Kalibrierung ist die (offline) Berechnung aller invarianten Parameter (wie die Position der Marker und die Kameraeigenschaften) - Tracking ist die (online) Berechnung aller zeitabhängigen Parameter (Position der Objekte)

47 computer graphics & visualization Matthias Wagner Ende - Vielen Dank für die Aufmerksamkeit! - Fragen?


Herunterladen ppt "Matthias Wagner computer graphics & visualization Seminar – Computer Grafik und Visualisierung Animation."

Ähnliche Präsentationen


Google-Anzeigen