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

Slides:



Advertisements
Ähnliche Präsentationen
Matrixmultiplikation
Advertisements

Animation in Java 3D Ausarbeitung im Seminar Java 3D
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Hauptseminar - Computer Graphics
3. 3D-Betrachtungstransformationen
Simulation komplexer technischer Anlagen
Schnelle Matrizenoperationen von Christian Büttner
Tipps & Tricks zu benutzerdefinierten Animationspfaden
Seminar „Extrapolationsmethoden für zufällige Felder“
(Harmonische) Schwingungen
Grundlagen der Geometrie
Computerkurs: Quantitative Auswertung biochemischer Experimente Tag 8 Einführung in die numerische Integration Aufgabe 18: Simulation einer Assoziationskinetik.
Seminar parallele Programmierung SS 2003
2D-Visualisierung von Daten
Globaler Ansatz Hough-Transformation
Algorithmische Geometrie
Quaternionen Eugenia Schwamberger.
Special Effects Realistischeres Rendern einer Scene.
Dieter Bergmann, Lichtenfels
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Tutorium
Starrkörpereigenschaften
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Einführung in die Physik für LAK
FHP - Fachbereich Bauingenieurwesen
Computergrafik – Inhalt Achtung! Kapitel ist relevant für CG-2!
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
How to make a PIXAR movie
Multiplayer & MMO Games
Abschlussvortrag zur Studienarbeit
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Proseminar: How to make a PIXAR movie?
Folie 1 Kapitel IV. Matrizen Inhalt: Matrizen als eigenständige mathematische Objekte Zusammenhang zwischen Matrizen und linearen Abbildungen Produkt von.
Verhalten von Objekten in der Szene
Shape Similarity 27. Februar 2006 Michael Keller.
Kapitel 16 Ökonometrische Modelle
… oder wie finde ich den Weg
ProSeminar WS 2007/08 Leo Hackstein
Teil 2: Kurven und Flächen
Objekte und ihre Beschreibung
Die spline-Interpolation
Ein Überblick über verschiedene Verfahren
Linking and Brushing on ODBC Basis
Beleuchtungsmodelle, Schattierungsmodelle
Using latent semantic analysis to find different names for the same entity in free text Präsentation und Diskussion des Papers Im Rahmen des PS Web-Information.
Die spline-Interpolation
PART V CONTACT PHYSICS Chapter Aufbaumodul 3: Visuelle Programmierung II Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Prof.
Michael Schmidt computer graphics & visualization Texture Mapping Lapped Textures.
Scaffold 29S: Komplexe Zahlen
Lernplan für den Die Coulombkraft und das Potenzial in der Umgebung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Variogramme und Kriging
Grundlagen der Positionsbestimmung mit Partikelfiltern
Vortrag Relative Orientierung
Magnus Brockschmidt Vortrag über Animationen zum Seminar Computergrafik WS 02/03 Animiation: Bewegung von Objekten zeit- oder ereignisgesteuert.
Seminar Computergrafik
Vortrag im Seminar Computergraphik
Deterministische Verfahren
Methoden der Computeranimation Seminar im SS
Animation in thematischen Karten
PCA Principal Component Analysis. Gliederung PCA – Warum eigentlich? PCA – Was ist zu tun? Was passiert eigentlich? Anwendungen Zusammenfassung.
Prognose von Zeitreihen Hans Nübel Hans Nübel Prognose von Zeitreihen Aufbau 1.Motivation 2.Holt-Winters-Verfahren 3.Prognose.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
iem.kug.ac.at Konzepte für virtuelle Akustik Theoretische Betrachtungen Alois Sontacchi Institute of Electronic Music and Acoustics at the University.
Keyframing und Interpolation
 Präsentation transkript:

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

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

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

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)

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

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)

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

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!

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

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

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)

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

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

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

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

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.

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

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

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|²

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

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

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

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)

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

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

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 ) )

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

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

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

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

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

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

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 )

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

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!

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

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

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

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

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

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

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) - }

computer graphics & visualization Matthias Wagner Inverse Kinematik - Demo

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

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

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)

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