Vortrag im Seminar Computergraphik

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Matthias Wagner computer graphics & visualization Seminar – Computer Grafik und Visualisierung Animation.
Knapsack & Bin Packing Sebastian Stober
Simulation komplexer technischer Anlagen
Abschluss Gegeben Menge F von funktionalen Abhängigkeiten.
Rekursionen Erstellt von J. Rudolf im November 2001 /
10. Grundlagen imperativer Programmiersprachen
On a Buzzword: Hierachical Structure David Parnas.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Dynamische Datentypen
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Prof.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Grundlegende Analysen & Zwischendarstellungen
Quaternionen Eugenia Schwamberger.
Special Effects Realistischeres Rendern einer Scene.
Grundsätzliche Resultate Theorem: Für jeden Relationstyp R(A 1,...,A n ) und jede Menge von FDs über {A 1,...,A n } gibt es: –eine verlustlose (aber nicht.
Starrkörpereigenschaften
„Motion Blur und Webausgabe“ Marko Weinhold, MZ99 Petra Hartmann, WI99
A Quadrilateral Rendering Primitive Kai Hormann Papa, woher kommen eigentlich Shrek und Nemo ? TU Clausthal.
BSP Binary Space Partitioning
Maike Thiel Kezban Akayin Kirstin Körner Hayriye Görsün präsentiert.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Übersicht Motivation Konzeption Umsetzung/ Implementierung
How to make a PIXAR movie
Projekt: Mesh-Man Björn Gohlke Bachelor Bioinformatik – 7. Semester Sebastian Graf Diplom Informatik – 5. Semester.
Chromatische Zahl.
Computer-Animation in der Kartographie
Proseminar: How to make a PIXAR movie?
Polynome und schnelle Fourier-Transformation
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Start Diese Folie dient nur der Wiederholung hat nix mit der Animation zu tun.
ProSeminar WS 2007/08 Leo Hackstein
Objekte und ihre Beschreibung
Modellbildung und Simulation
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Ein Überblick über verschiedene Verfahren
PART V CONTACT PHYSICS Chapter Aufbaumodul 3: Visuelle Programmierung II Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung Prof.
Vorkurs Programmierungstechnik Einführung in Pascal Michael Gellner Lehrstuhl für Softwaretechnik am Institut für praktische Informatik der Universität.
Benutzerdefinierte Datentypen (1)
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
Der Ablauf eines Motion Capture - Prozesses
Der Datentyp Verbund (record)
Lernplan für den Die Coulombkraft und das Potenzial in der Umgebung
THE MATHEMATICS OF PARTICLES & THE LAWS OF MOTION.
A&D Persa K TB Herzlich Willkommen zum Flash 4 - Seminar.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Magnus Brockschmidt Vortrag über Animationen zum Seminar Computergrafik WS 02/03 Animiation: Bewegung von Objekten zeit- oder ereignisgesteuert.
The Programming Language Pascal
Seminar Computergrafik
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
Methoden der Computeranimation Seminar im SS
Animation in thematischen Karten
Objektorientierte (OO) Programmierung
Game Loop & Update Method Robert Nystrom – Game Programming Patterns Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung SS.
Human Plant Interfaces MakeyMakey Workshop by Florian Weil - Potsdam
Roboter-Programmierung
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
iem.kug.ac.at Konzepte für virtuelle Akustik Theoretische Betrachtungen Alois Sontacchi Institute of Electronic Music and Acoustics at the University.
verkettete Strukturen
Keyframing und Interpolation
 Präsentation transkript:

Vortrag im Seminar Computergraphik Computeranimation Vortrag im Seminar Computergraphik Alan Akbik

Zielsetzung Was ist Animation? Ein kurzer Einblick in ihre Entdeckung Überblick über die verschiedenen Arten der Computeranimation und Begriffsklärung Ein Beispiel zur Partikelanimation Methoden zur Umsetzung von Hierarchischer Bewegung

Struktur des Vortrags Entdeckung der Animation Zielsetzung/Motivation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen / Hierarchische Bewegung Verhaltensgesteuerte Animation

Entdeckung der Animation (1) 1820: Peter Mark Roget veröffentlicht seinen Bericht ‚The Persistance of Vision with Regard to Moving Objects‘ Er stellt fest, dass das menschliche Auge ein Bild etwa 1/16 einer Sekunde lang in der Retina behält, auch wenn dieses Bild schon verschwunden ist Gezeigt durch das Thaumatrope, 1824 erfunden von John A. Paris

Thaumatrope

Entdeckung der Animation (2) Mit sehr schnell aufeinanderfolgenden, sich leicht verändernden Bildern kann der Eindruck von Bewegung gewonnen werden 1832: Phenakistoscope (Joseph Plateau) 1834: Zeotrope (William George Horner) Praxinoscope

Entdeckung der Animation (3) 1919 Max Fleischer - ‚Feline Follies‘

Pixar - Luxo Jr. Erster gerenderter Film - 1986

Struktur des Vortrags Starrkörperanimation Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen / Hierarchische Bewegung Verhaltensgesteuerte Animation

Starrkörperanimation Grundlegendste Art der Animation Umfasst Translation und Rotation Im Englischen: Rigid Body Animation Begriffsklärung Interpolation/Keyframing Explizites Skripten

Interpolation/Keyframing Einige Schlüsselframes werden angegeben, der Computer soll die dazwischenliegenden Frames interpolieren Lineare Interpolation oft nicht ausreichend

Alternativen zur linearen Interpolation B-Splines http://www.public.asu.edu/~ambar/cagd/bspline/ http://www.cs.technion.ac.il/~cs234325/Homepage/Applets/applets/bspline/GermanApplet.html Explizites Skripten

Struktur des Vortrags Physikalische Simulation Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen / Hierarchische Bewegung Verhaltensgesteuerte Animation

Physikalische Simulation Idee: Nutze Gesetze der Physik um realistische Bewegungen zu erzeugen Auf Objekte wirken zB Schwerkraft, Beschleunigung, Luftwiderstand Der Animator gibt für Objekte Masse, Startgeschwindigkeit, -beschleunigung, -richtung an Der Computer simuliert und animiert die daraus folgende Bewegung

Probleme Kontrolle nur über die Startwerte der Objekte Komplexe Systeme sehr schwer zu modellieren Problem der Inversen Dynamik

Struktur des Vortrags Partikelanimation Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen / Hierarchische Bewegung Verhaltensgesteuerte Animation

Partikelanimation Wird benutzt zum Erstellen von Effekten wie Explosionen Feuer Nebel Wasser(dampf) Sternenfenster

Was ist ein Partikel? Eine sehr kleine Primitive (e.g. ein Wassertropfen, ein Sandkorn, ein Funken...) Teil einer großen Menge von Partikeln Entlang eines vorgegebenen Skriptes randomisierte Bewegung (Ausrichtung, Lebensdauer u.s.w...)

Attribute eines Partikels Startposition Startrichtung und Startgeschwindigkeit Transparenz Form Lebensdauer

Durchzuführende Schritte pro Frame Partikel deren Lebensdauer abgelaufen ist werden entfernt Neue Partikel werden generiert Den neuen Partikeln werden individuelle (randomisierte) Werte gegeben Partikel werden bewegt (andere Werte wie Farbe oder Transparenz gegebenenfalls geändert) Partikel werden gerendert

Beispielprogramm In der Präsenation wurde an dieser Stelle das Programm „Fireworks“ gezeigt. Im Netz zu finden unter www.sulaco.co.za/opengl2.htm Auf den folgenden Seiten ein Blick auf den Quelltext des Programms

Typdefinition const EXPLOSION_SIZE = 0.8; type TParticle = Record X, Y, Z : glFloat; dX, dY, dZ : glFloat; R, G, B : glFloat; end; TFirework = Record Particle : Array[0..127] of TParticle; Trail : Array[0..15] of TParticle; StartTime : Integer; Duration : Integer; Style : Integer; X, Y : glFloat; dX, dY : glFloat;

Procedure SetupFirework // exploding particles for I :=0 to 127 do with Firework[N].Particle[I] do begin if Firework[N].Style < 2 then R := (random/6 +0.4)/10*EXPLOSION_SIZE else R := (random/10 -0.05)*EXPLOSION_SIZE; dX :=R*cos(I/10); dY :=R*sin(I/10); dZ :=R*cos(I/4); X :=dX; Y :=dY; Z :=dZ; if Clr = 0 then R :=random/3 + 0.7 else R :=random/3 + 0.4 if Clr = 1 then G :=random/3 + 0.7 else G :=random/3 + 0.4; if Clr = 2 then B :=random/3 + 0.7 else B :=random/3 + 0.4; end;

Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen / Hierarchische Bewegung Verhaltensgesteuerte Animation

Zusammengesetzte Strukturen / Hierarchische Bewegung Begriffsklärung: Articulated Structures Foward Kinematics Inverse Kinematics Motion Capturing

Articulated Structures (1) Objekte mit Gelenken Für die Animation eines solchen Objektes muss zunächst eine skelettartige Struktur modelliert werden

Articulated Structures (2) Eine Gelenkhierarchie muss festgelegt werden

Articulated Structures (3) Für jedes Gelenk müssen Freiheitsgrade festgelegt werden Es gibt 6 Freiheitsgrade: Bewegung entlang der X-Achse, Y-Achse, Z-Achse Roll: Rotation um X-Achse Pitch: Rotation um Y-Achse Yaw: Rotation um Z-Achse Freiheitsgrade erklären

Forward Kinematics (1)

Forward Kinematics (2)

Forward Kinematics (3)

Hierarchische Bewegung Forward Kinematics ist mit viel Aufwand verbunden Idee: Keyframing für Articulated Structures

Inverse Kinematics (1) Man gibt Keyframes des Objektes an Computer interpoliert dazwischenliegende Frames Interpolation bleibt dem Skelettbau und den Freiheitsgraden der Gelenke treu

Inverse Kinematics (2)

Inverse Kinematics (3) Selbst bei Strukturen mit wenigen Gelenken gibt es oft verschiedene Wege einen Zielpunkt zu erreichen

Inverse Kinematics (4) Kürzester Weg soll animiert werden Oftmals viele gleichwertige Lösungen Anzahl der Lösungen steigt exponential mit höherer Anzahl an Gelenken

Inverse Kinematics (5) Vorteile: Schlüsselframes genügen zum erzeugen einer animierten articulated Structure -> stark reduzierter Aufwand Nachteile: Bei komplexen Strukturen (viele Gelenke) Berechnung sehr aufwendig Entzieht künstlerische Freiheit

Motion Capturing (1) Einem Menschen (oder anderem Objekt mit Skelettstruktur) werden an für die benötigte Bewegung wichtigen Stellen Sensoren angebracht Der Mensch läuft diese Bewegung durch, während die Positionswerte der Sensoren aufgezeichnet werden Auf dieser Basis lassen sich natürliche Bewegungen im Computer rekonsturieren

Motion Capturing (2) Beispiel eines real-time Motion Capturings Man bemerke: Finger und Füße bleiben immer starr ausgerichtet

Motion Capturing (3) Vorteile: Menschliche Bewegungen mit vergleichsweise niedrigem Aufwand in hoher Qualtät Nachteile: Nur vorgefertigte Sequenzen

Struktur des Vortrags Verhaltensgesteuerte Animation Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen / Hierarchische Bewegung Verhaltensgesteuerte Animation

Verhaltensgesteuerte Animation Animierte Figuren bewegen sich entsprechend ihres festgelegten Verhaltenskodex‘ Sind nur über diesen zu steuern, ähneln also Agenten Nützlich für Computerspiele Nützlich zB für die Animation von Tierherden (König der Löwen)

Fragen