View
124
Download
0
Category
Preview:
Citation preview
Matthias WagnerMatthias Wagner
computer graphics & computer graphics & visualizationvisualization
Seminar – Computer Grafik und Seminar – Computer Grafik und VisualisierungVisualisierung
AnimationAnimation
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
ÜbersichtÜbersicht
- Einführung in die AnimationEinführung in die Animation- UrsprüngeUrsprünge
- GrundlagenGrundlagen
- AnimationstechnikenAnimationstechniken- Procedural AnimationProcedural Animation
- Articulated StructuresArticulated Structures
- Motion CapturingMotion Capturing
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Einführung in die AnimationEinführung in die Animation
- Ursprünge der Animation: Ursprünge der Animation: - Zeichentrickfilme im Kino und FernsehenZeichentrickfilme im Kino und Fernsehen
- Ziel: Illusion einer Bewegung durch schnell Ziel: Illusion einer Bewegung durch schnell aufeinanderfolgende, ähnliche Einzelbilderaufeinanderfolgende, ähnliche Einzelbilder
- Nötig: ca 12 fps, ab ca 70 fps keine Verbessung mehrNötig: ca 12 fps, ab ca 70 fps keine Verbessung mehr
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Einführung in die AnimationEinführung in die Animation
- Überschneidungen zwischen Computeranimation Überschneidungen zwischen Computeranimation und traditioneller Animation:und traditioneller Animation:- Futureworld (1976)Futureworld (1976)
- Tron (Disney 1982)Tron (Disney 1982)
- Luxo Jr. (Pixar 1986)Luxo Jr. (Pixar 1986)
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Einführung in die AnimationEinführung in die Animation
- Computeranimation:Computeranimation:- Virtualität erlaubt beliebige ErgebnisseVirtualität erlaubt beliebige Ergebnisse
- Sehr viele Animationsvariablen (Avars)Sehr viele Animationsvariablen (Avars)
- Nachteil: Animator schnell überfordertNachteil: Animator schnell überfordert
- Deswegen „motion control system“ hilfreichDeswegen „motion control system“ hilfreich
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- Motion control systemMotion control system- Skriptsprache oder InteraktivSkriptsprache oder Interaktiv
- Einführung eines „Actors“, ein Objekt das eigene Einführung eines „Actors“, ein Objekt das eigene Animations- und Interaktionsregeln besitztAnimations- und Interaktionsregeln besitzt
- Kann als eigene Entity betrachtet werden (ähnlich einem Kann als eigene Entity betrachtet werden (ähnlich einem komplexen Typ einer Programmiersprache)komplexen Typ einer Programmiersprache)
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- Control hierarchyControl hierarchy- High-level und low-level Befehle nötig:High-level und low-level Befehle nötig:
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- Control hierarchyControl hierarchy- High-level und low-level Befehle nötig:High-level und low-level Befehle nötig:
- Animation eines rigid body:Animation eines rigid body:- 6 Freiheitsgrade6 Freiheitsgrade
- 30 FPS30 FPS
- 5 Sekunden5 Sekunden
- benötigt 9000 low-level Werte! benötigt 9000 low-level Werte!
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- Control hierarchyControl hierarchy- High-level und low-level Befehle nötig:High-level und low-level Befehle nötig:
- Animation eines rigid body:Animation eines rigid body:- 6 Freiheitsgrade6 Freiheitsgrade
- 30 FPS30 FPS
- 5 Sekunden5 Sekunden
- benötigt 9000 low-level Werte! benötigt 9000 low-level Werte!
- Animation eines menschlichen Körpers:Animation eines menschlichen Körpers:- Ohne high-level Unterstützung nicht machbarOhne high-level Unterstützung nicht machbar
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- Anforderungen an Control Hierarchy:Anforderungen an Control Hierarchy:- high-level Befehle in low-level Befehle umwandelnhigh-level Befehle in low-level Befehle umwandeln
- korrekte Interaktion der low-level Animationen korrekte Interaktion der low-level Animationen untereinander sicherstellenuntereinander sicherstellen
- Reaktion der höheren Level auf Feedback der niederen Reaktion der höheren Level auf Feedback der niederen LevelLevel
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- KeyframingKeyframing- Entwickelt von Walt DisneyEntwickelt von Walt Disney
- Bessere Animateure zeichnen einzelne Keyframes einer Bessere Animateure zeichnen einzelne Keyframes einer AnimationAnimation
- Weniger gute Animateure „interpolieren“ zwischen diesen Weniger gute Animateure „interpolieren“ zwischen diesen KeyframesKeyframes
- Key parameterKey parameter- Generalisiert: Möglichkeit jeden Parameter zu Generalisiert: Möglichkeit jeden Parameter zu
interpolieren (z.B. Geschwindigkeit)interpolieren (z.B. Geschwindigkeit)
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Grundlagen der ComputeranimationGrundlagen der Computeranimation
- Parametrisierung wichtig:Parametrisierung wichtig:- Rotation einer Linie um 90°Rotation einer Linie um 90°
- Interpolation der Winkel gegenüber Interpolation der Winkel gegenüber
Interpolation der EndpunkteInterpolation der Endpunkte
- Nachteil: Keyframing funktioniert nur für einfache Nachteil: Keyframing funktioniert nur für einfache BewegungenBewegungen
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Spline-driven animationSpline-driven animation
- Spline-driven animationSpline-driven animation- Objektanimation über kubische SplineObjektanimation über kubische Spline
- Beispiel: Bewegung eines Objekts entlang einem Pfad im Beispiel: Bewegung eines Objekts entlang einem Pfad im Raum:Raum:
- Q(u) = (x,y,z): Pfad R -> RQ(u) = (x,y,z): Pfad R -> R33
- V(u) = (t, s): Geschwindigkeitskurve R -> RV(u) = (t, s): Geschwindigkeitskurve R -> R22
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Spline-driven animationSpline-driven animation
- Problem: wie u wählen, um gewollte Geschwindigkeit zu Problem: wie u wählen, um gewollte Geschwindigkeit zu erhalten?erhalten?
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Spline-driven animationSpline-driven animation
- Parametrisierung von Q zur Bogenlänge sParametrisierung von Q zur Bogenlänge s- s = A(u)s = A(u)
- Q(u) zu Q(AQ(u) zu Q(A-1-1(s))(s))
- NumerischNumerisch- AA-1-1(s) über Intervallsuche (s) über Intervallsuche
auf A(u)auf A(u)- A(u) über numerische IntegrationA(u) über numerische Integration
evaluierenevaluieren
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Spline-driven animationSpline-driven animation
- Spline-driven AnimationSpline-driven Animation- Parametrisierung von V nach tParametrisierung von V nach t
- Ebenfalls über IntervallsucheEbenfalls über Intervallsuche
- Zusammengefasst: Zusammengefasst: - Einsetzen der Zeit t in V (parametrisiert zur Zeit), um Einsetzen der Zeit t in V (parametrisiert zur Zeit), um
Bogenlänge s auf der Spline zu erhaltenBogenlänge s auf der Spline zu erhalten- Einsetzen von s in Q (parametrisiert zur Bogenlänge), um die Einsetzen von s in Q (parametrisiert zur Bogenlänge), um die
resultierende Position zur Zeit t zu erhalten.resultierende Position zur Zeit t zu erhalten.
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Rotation und OrientierungRotation und Orientierung
- Euler RotationEuler Rotation- Rolls sind nicht unabhängig (Gimbal Lock Problem)Rolls sind nicht unabhängig (Gimbal Lock Problem)
- Reihenfolge der Rolls ist wichtigReihenfolge der Rolls ist wichtig
- Orientierungsänderung nicht eindeutigOrientierungsänderung nicht eindeutig
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Rotation und OrientierungRotation und Orientierung
- Euler RotationEuler Rotation- Schlecht für Interpolation zwischen verschiedenen Schlecht für Interpolation zwischen verschiedenen
OrientierungenOrientierungen- Entscheidung schwer, in welcher Reihenfolge interpoliert Entscheidung schwer, in welcher Reihenfolge interpoliert
werden sollwerden soll
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Rotation und OrientierungRotation und Orientierung
- Ausweg: Quaternion, ähnlich komplexer Zahl Ausweg: Quaternion, ähnlich komplexer Zahl definiert:definiert:- q = a + bq = a + bi i + c+ cjj + d + dkk mit mit i² = j² = k² = -1 i² = j² = k² = -1 und und ij = k ij = k
sowie sowie ji = -kji = -k
- Andere Notation: q = (s, Andere Notation: q = (s, vv) = s + v) = s + vxxii + v + vyyjj + v + vzzkk
- Multiplikation: qMultiplikation: q11qq22 = (s = (s11ss22 – v – v11∙v∙v22, s, s11vv22 + s + s22vv11 + v + v11×v×v22))
- Größe: |q|² = s² + |v|²Größe: |q|² = s² + |v|²
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Rotation und OrientierungRotation und Orientierung
- Es kann gezeigt werden, dass ein Es kann gezeigt werden, dass ein Einheitsquaternion eine Rotation repräsentiert:Einheitsquaternion eine Rotation repräsentiert:- ( cos(Θ/2), sin(Θ/2) (x, y, z) ): Rotation um Θ um den ( cos(Θ/2), sin(Θ/2) (x, y, z) ): Rotation um Θ um den
Vektor v = (x, y, z) mit |v| = 1Vektor v = (x, y, z) mit |v| = 1
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Rotation und OrientierungRotation und Orientierung
- Vorteil: Interpolation zwischen 2 Quaternions ist Vorteil: Interpolation zwischen 2 Quaternions ist „direkter“ als zwischen Eulerrotationen„direkter“ als zwischen Eulerrotationen- Sphärische lineare Interpolation nötig (Gruppe der Sphärische lineare Interpolation nötig (Gruppe der
Rotationen auf die Fläche der 4-dimensionalen Rotationen auf die Fläche der 4-dimensionalen Hypersphäre im Quaternionraum abgebildet)Hypersphäre im Quaternionraum abgebildet)
- qq11◦q◦q22 = cos Ω = cos Ω
- Rotationsrichtung: Wenn (qRotationsrichtung: Wenn (q11-q-q22)∙(q)∙(q11-q-q22)>(q)>(q11+q+q22)∙(q)∙(q11+q+q22), ), ersetze qersetze q22 mit –q mit –q2 2 für die kürzere Rotationfür die kürzere Rotation
sin
usinq
sin
)u1sin(q)u,q,q(slerp 2121
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
ÜbersichtÜbersicht
- Einführung in die AnimationEinführung in die Animation- UrsprüngeUrsprünge
- GrundlagenGrundlagen
- AnimationstechnikenAnimationstechniken- Procedural AnimationProcedural Animation
- Articulated StructuresArticulated Structures
- Motion CapturingMotion Capturing
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
AnimationstechnikenAnimationstechniken
- ProzeduralProzedural- Bewegung in Abhängigkeit der ZeitBewegung in Abhängigkeit der Zeit
- RepresentionalRepresentional- Nicht nur Bewegung, auch FormänderungNicht nur Bewegung, auch Formänderung
- Modellierung und Animation überschneidenModellierung und Animation überschneiden
- Typen:Typen:- Animation von articulated objectsAnimation von articulated objects- Soft object animationSoft object animation
- StochastischStochastisch- zB. PartikelsystemezB. Partikelsysteme
- BehaviouralBehavioural- Umgebung hat Einfluss auf Animation (Bird flocking zb)Umgebung hat Einfluss auf Animation (Bird flocking zb)
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
AnimationstechnikenAnimationstechniken
- Prozedurale AnimationProzedurale Animation- Mittels einer Prozedur Attribute eines Objekts verändernMittels einer Prozedur Attribute eines Objekts verändern
- Manchmal auch Form – im Vergleich zu soft object Manchmal auch Form – im Vergleich zu soft object animation aber meist mathematisch/physisch basiertanimation aber meist mathematisch/physisch basiert
- Beispiel: WasserwellenBeispiel: Wasserwellen
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Prozedurale AnimationProzedurale Animation
- Animation analytischer ModelleAnimation analytischer Modelle- Neben Animation vorhandener Geometrie je nach Neben Animation vorhandener Geometrie je nach
Anwendungsfall auch Erstellen der OriginalgeometrieAnwendungsfall auch Erstellen der Originalgeometrie
- Letzteres z.B. bei WasserwellenLetzteres z.B. bei Wasserwellen
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Prozedurale AnimationProzedurale Animation
- Wasserwelle in feste Richtung k=(kWasserwelle in feste Richtung k=(k11, k, k22, 0):, 0):- A WellenamplitudeA Wellenamplitude- c Geschwindigkeitsvektor (auch in Richtung k)c Geschwindigkeitsvektor (auch in Richtung k)- z(x, y, t) = A cos ( k ∙ ( (x, y, 0) – ct ) )z(x, y, t) = A cos ( k ∙ ( (x, y, 0) – ct ) )
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Prozedurale AnimationProzedurale Animation
- PartikelsystemePartikelsysteme- Objekt wird durch viele einzelne Partikel repräsentiertObjekt wird durch viele einzelne Partikel repräsentiert
- Pro Frame:Pro Frame:- Emitter erstellen neue Partikel und fügen sie in das System Emitter erstellen neue Partikel und fügen sie in das System
einein- Diesen Partikeln individuelle Parameter zuweisen (z.B. Diesen Partikeln individuelle Parameter zuweisen (z.B.
Position und Geschwindigkeit)Position und Geschwindigkeit)- Partikel, deren Lifetime abgelaufen ist, entfernenPartikel, deren Lifetime abgelaufen ist, entfernen- Partikel nach ihren jeweiligen Scripts bewegenPartikel nach ihren jeweiligen Scripts bewegen- Partikel rendernPartikel rendern
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Prozedurale AnimationProzedurale Animation
- PartikelsystemePartikelsysteme- Rendern auch über Extraktion einer Oberfläche aus dem Rendern auch über Extraktion einer Oberfläche aus dem
Partikelsystem möglichPartikelsystem möglich
- DemoDemo
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Prozedurale AnimationProzedurale Animation
- Behavioural animationBehavioural animation- „„Flocking“ (z.B. Vogelschwärme)Flocking“ (z.B. Vogelschwärme)
- Partikel nicht voneinander unabhängigPartikel nicht voneinander unabhängig
- Partikel sind jetzt spezifische Objekte, besitzen eigene Partikel sind jetzt spezifische Objekte, besitzen eigene Orientierung und eigenes VerhaltenOrientierung und eigenes Verhalten
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Prozedurale AnimationProzedurale Animation
- FlockingFlocking- Flug entlang z-Achse der Flock PartikelFlug entlang z-Achse der Flock Partikel
- Rotation um lokale x-Achse und y-Achse erlaubtRotation um lokale x-Achse und y-Achse erlaubt
- Summe der Partikel bestimmt Bewegung des Flocks, Summe der Partikel bestimmt Bewegung des Flocks, welcher wiederum die globale Richtung angibtwelcher wiederum die globale Richtung angibt
- Regeln für Flock Partikel in Reihenfolge:Regeln für Flock Partikel in Reihenfolge:- KollisionsvermeidungKollisionsvermeidung- Geschwindigkeit an Flock anpassenGeschwindigkeit an Flock anpassen- Nähe zum Flock bewahrenNähe zum Flock bewahren
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
ÜbersichtÜbersicht
- Einführung in die AnimationEinführung in die Animation- UrsprüngeUrsprünge
- GrundlagenGrundlagen
- AnimationstechnikenAnimationstechniken- Procedural AnimationProcedural Animation
- Articulated StructuresArticulated Structures
- Motion CapturingMotion Capturing
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Articulated StructuresArticulated Structures
- Articulated FigureArticulated Figure- Struktur aus mehreren festen Links/Bones, verbunden an Struktur aus mehreren festen Links/Bones, verbunden an
Joints (Gelenken)Joints (Gelenken)
- KinematikKinematik- BewegungsspezifikationBewegungsspezifikation
unabhängig von Kräftenunabhängig von Kräften
- Degrees of Freedom (DOF)Degrees of Freedom (DOF)- Freiheitsgradanzahl = AnzahlFreiheitsgradanzahl = Anzahl
an unabh. Positionsvariablen füran unabh. Positionsvariablen für
einen Zustand der Struktureinen Zustand der Struktur
- Basis und EndeffektorBasis und Endeffektor- Anfang und Ende eines ChainsAnfang und Ende eines Chains
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Articulated StructuresArticulated Structures
- StatusvektorStatusvektor- Θ = (ΘΘ = (Θ11, …, Θ, …, ΘNN))
- |Θ| = DOF|Θ| = DOF
- Gibt Zustand jedes Joints in der Struktur anGibt Zustand jedes Joints in der Struktur an
- Zwei Vorgehensweisen eine Haltung zu erreichen:Zwei Vorgehensweisen eine Haltung zu erreichen:- Alle Joint Winkel festlegen:Alle Joint Winkel festlegen:
- VorwärtskinematikVorwärtskinematik- X = f( Θ )X = f( Θ )
- Position des Endeffektors festlegen:Position des Endeffektors festlegen:- Inverse KinematikInverse Kinematik- Θ = fΘ = f-1-1( X )( X )
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Ziel: Statusvektor Θ berechnen, um bestimmte Ziel: Statusvektor Θ berechnen, um bestimmte Lage des Endeffektors X zu erhaltenLage des Endeffektors X zu erhalten
- Θ = fΘ = f-1-1( X )( X )
- Probleme:Probleme:- ff-1-1 finden nicht leicht finden nicht leicht
- Nicht eindeutigNicht eindeutig
- Nicht immer eine LösungNicht immer eine Lösung
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Lösungsansätze:Lösungsansätze:- AnalytischAnalytisch
- Direktes Invertieren der VorwärtskinematikgleichungenDirektes Invertieren der Vorwärtskinematikgleichungen- Nur möglich bei relativ einfachen ChainsNur möglich bei relativ einfachen Chains
- NumerischNumerisch- Approximation und IterationApproximation und Iteration- Teurer…Teurer…- aber allgemeiner verwendbar!aber allgemeiner verwendbar!
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Numerischer Ansatz über Numerischer Ansatz über JakobimatrixJakobimatrix- Vektorableitung bzgl Vektorableitung bzgl
anderem Vektoranderem Vektor
- Matrix partieller Matrix partieller Ableitungen für jede Ableitungen für jede Kombination der Kombination der VektorkomponentenVektorkomponenten
M
N
1
N
2
2
1
2
M
1
2
1
1
1
f......
f............
......ff
f...
ff
d
df),f(J
- dX = J(f, Θ) dΘ
- Gibt an, was Änderungen am Statusvektor Θ mit |Θ|=M am Endeffektor X mit |X|=N bewirken
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Was bringt uns die Jakobimatrix?Was bringt uns die Jakobimatrix?- dX = J(f, Θ) dΘdX = J(f, Θ) dΘ
- dΘ = JdΘ = J-1-1(f, Θ) dX(f, Θ) dX
- ermöglicht uns, den Endeffektor iterativ näher an die ermöglicht uns, den Endeffektor iterativ näher an die gewollte Position zu schiebengewollte Position zu schieben
- f nichtlinear (sin und cos), deswegen nur kleine dX f nichtlinear (sin und cos), deswegen nur kleine dX möglichmöglich
- Für G als gewollte Endposition:Für G als gewollte Endposition:- dX = ß(G – X) mit 0≤ß≤1dX = ß(G – X) mit 0≤ß≤1
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik- Berechnung der JakobimatrixBerechnung der Jakobimatrix
- Geometrischer AnsatzGeometrischer Ansatz- Rotation jointRotation joint
iii
'rX'aX
- Θ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 & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Wie die Jakobimatrix invertieren?Wie die Jakobimatrix invertieren?- meist nicht quadratischmeist nicht quadratisch
- eventuell auch singuläreventuell auch singulär
- normales Invertieren nicht praktikabelnormales Invertieren nicht praktikabel
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Invertieren der JakobimatrixInvertieren der Jakobimatrix- Moore-Penrose Pseudo-InverseMoore-Penrose Pseudo-Inverse
- J* = (JJ* = (JTTJ)J)-1-1JJTT
- Statt invertierter Matrix einfach transponierenStatt invertierter Matrix einfach transponieren- funktioniert besser als erwartetfunktioniert besser als erwartet- schneller und lokal berechenbarschneller und lokal berechenbar- qualitativ schlechter als Moore-Penrosequalitativ schlechter als Moore-Penrose
- SingulärwertzerlegungSingulärwertzerlegung
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- Wann Algorithmus beenden?Wann Algorithmus beenden?- Lösung gefunden oder nahe dranLösung gefunden oder nahe dran
- Lokales MinimumLokales Minimum
- ZeitbasiertZeitbasiert
- Kann über Statusvektor überprüft werdenKann über Statusvektor überprüft werden
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- AlgorithmusAlgorithmus
- While(X zu weit von G entfernt) {While(X zu weit von G entfernt) {- J(X, Θ) für aktuellen Status Θ berechnenJ(X, Θ) für aktuellen Status Θ berechnen
- JJ-1-1 berechnen berechnen
- dX = ß(G – X)dX = ß(G – X)
- dΘ = JdΘ = J-1-1 dX dX
- Θ = Θ + dΘΘ = Θ + dΘ
- X neu berechnen (über Vorwärtskinematik)X neu berechnen (über Vorwärtskinematik)
- }}
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Inverse KinematikInverse Kinematik
- DemoDemo
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
ÜbersichtÜbersicht
- Einführung in die AnimationEinführung in die Animation- UrsprüngeUrsprünge
- GrundlagenGrundlagen
- AnimationstechnikenAnimationstechniken- Procedural AnimationProcedural Animation
- Articulated StructuresArticulated Structures
- Motion CapturingMotion Capturing
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Motion CapturingMotion Capturing
- Mittels Markern Bewegungen aufzeichnenMittels Markern Bewegungen aufzeichnen
- An jedem Joint Marker:An jedem Joint Marker:- AkustischAkustisch
- TrägheitTrägheit
- LEDLED
- MagnetischMagnetisch
- ReflektivReflektiv
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
Motion CapturingMotion Capturing
- Was ist Tracking?Was ist Tracking?
- Korrekte Registrierung zwischen realen und Korrekte Registrierung zwischen realen und virtuellen Objektenvirtuellen Objekten
- Kalibrierung ist die (offline) Berechnung aller Kalibrierung ist die (offline) Berechnung aller invarianten Parameter (wie die Position der Marker invarianten Parameter (wie die Position der Marker und die Kameraeigenschaften)und die Kameraeigenschaften)
- Tracking ist die (online) Berechnung aller Tracking ist die (online) Berechnung aller zeitabhängigen Parameter (Position der Objekte)zeitabhängigen Parameter (Position der Objekte)
computer graphics & computer graphics & visualizationvisualization
Matthias WagnerMatthias Wagner
EndeEnde
- Vielen Dank für die Aufmerksamkeit!Vielen Dank für die Aufmerksamkeit!
- Fragen?Fragen?
Recommended