(9 intermediate revisions by 2 users not shown) | |||
Riadok 17: | Riadok 17: | ||
* Stránka [http://davinci.fmph.uniba.sk/~dobsovicova10/spider/ Catching Spider] Animácia [http://davinci.fmph.uniba.sk/~dobsovicova10/spider/videos/final.mp4 Catching Spider] | * Stránka [http://davinci.fmph.uniba.sk/~dobsovicova10/spider/ Catching Spider] Animácia [http://davinci.fmph.uniba.sk/~dobsovicova10/spider/videos/final.mp4 Catching Spider] | ||
* Stránka [http://ukapra.php5.sk/index.php?id=proj-mmca Ráno do práce] Animácia [https://youtu.be/YBBsxdUXDPI Ráno do práce] | * Stránka [http://ukapra.php5.sk/index.php?id=proj-mmca Ráno do práce] Animácia [https://youtu.be/YBBsxdUXDPI Ráno do práce] | ||
− | |||
* Animácia [http://www.youtube.com/watch?v=pXXa0C74IJk&feature=youtu.be Knihy] | * Animácia [http://www.youtube.com/watch?v=pXXa0C74IJk&feature=youtu.be Knihy] | ||
* Stránka [http://animation.6f.sk/ Tvrdý Oriešok pre Vranu] Animácia [https://www.youtube.com/watch?v=1AMtjwhLEEg Vrana] | * Stránka [http://animation.6f.sk/ Tvrdý Oriešok pre Vranu] Animácia [https://www.youtube.com/watch?v=1AMtjwhLEEg Vrana] | ||
Riadok 171: | Riadok 170: | ||
* Demos / tools / libs | * Demos / tools / libs | ||
* Lecture notes: [[media:ca15_lesson07.pdf|lesson07.pdf]] | * Lecture notes: [[media:ca15_lesson07.pdf|lesson07.pdf]] | ||
− | * Štátnicová téma (Lesson 5,6,7): S4 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v | + | * Štátnicová téma (Lesson 5,6,7): S4 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v rovine, broad phase (hierachycká mriežka), mid phase (hierarchie obálok, Voronoiove oblasti v kolízii, vysvetlujte na príklade kolízie gula x kapsula, dekompozícia telesa na konvexné časti), narrow phase (Minkowskeho priestor a blízkosť konvexných telies). |
Riadok 222: | Riadok 221: | ||
*On every seminar we will focus on the selected problems from lessons. We will use the numerical methods to solve specific problems. | *On every seminar we will focus on the selected problems from lessons. We will use the numerical methods to solve specific problems. | ||
− | + | ||
− | === | + | === Excercise00 "Key Framing” === |
* '''[https://www.youtube.com/watch?v=CFFhgutjZQk Blender demo]''' | * '''[https://www.youtube.com/watch?v=CFFhgutjZQk Blender demo]''' | ||
* Blender https://www.blender.org/ | * Blender https://www.blender.org/ | ||
Riadok 231: | Riadok 230: | ||
** rigging https://www.youtube.com/watch?v=mJwWTKt12ak | ** rigging https://www.youtube.com/watch?v=mJwWTKt12ak | ||
** motion capture database https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/daz-friendly-release | ** motion capture database https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/daz-friendly-release | ||
− | + | ||
=== Excercise01 "Introductions” === | === Excercise01 "Introductions” === | ||
Riadok 245: | Riadok 244: | ||
=== Excercise02 "Quaternion Interpolation” === | === Excercise02 "Quaternion Interpolation” === | ||
− | <!-- | + | |
− | + | <!--* Assigment | |
− | * Assigment | + | |
**[[media:uloha1A.pdf|uloha1A.pdf]] (deadline see Attendance table) | **[[media:uloha1A.pdf|uloha1A.pdf]] (deadline see Attendance table) | ||
***HINT: If SLERP does not work, use linear interpolation. | ***HINT: If SLERP does not work, use linear interpolation. | ||
+ | --> | ||
* Euler angles | * Euler angles | ||
* Complex numbers and rotations | * Complex numbers and rotations | ||
Riadok 264: | Riadok 263: | ||
* Runge-Kuta method | * Runge-Kuta method | ||
* Assigment | * Assigment | ||
− | **[[media:uloha2Chaotic.pdf| | + | **[[media:uloha2Chaotic.pdf|uloha_diferencialne.pdf]] (deadline see Attendance table) |
**resources: | **resources: | ||
+ | ***https://www.youtube.com/watch?v=p_di4Zn4wz4 | ||
+ | ***https://emboliform.wordpress.com/test-page/solving-differential-equations-numerically-with-octave/ | ||
***[[Media:Diferencialne rovnice.pdf|diferencialne_rovnice.pdf]] | ***[[Media:Diferencialne rovnice.pdf|diferencialne_rovnice.pdf]] | ||
***[[Media:explicit_midpoint.pdf|explicit_midpoint.pdf]] | ***[[Media:explicit_midpoint.pdf|explicit_midpoint.pdf]] | ||
+ | ***[[Media:system_ode.pdf|system_ode.pdf]] | ||
***http://terpconnect.umd.edu/~petersd/246/matlabode.html | ***http://terpconnect.umd.edu/~petersd/246/matlabode.html | ||
***https://computing.llnl.gov/casc/nsde/pubs/u113855.pdf | ***https://computing.llnl.gov/casc/nsde/pubs/u113855.pdf | ||
Riadok 300: | Riadok 302: | ||
*Principal Components Analysis | *Principal Components Analysis | ||
* Assigment | * Assigment | ||
− | **[[media:uloha3.pdf| | + | **[[media:uloha3.pdf|uloha_SAT.pdf]] (deadline see Attendance table) |
**resources: | **resources: | ||
***[[media:principal_components.pdf|principal_components.pdf]] | ***[[media:principal_components.pdf|principal_components.pdf]] | ||
Riadok 311: | Riadok 313: | ||
*Rigid body Dynamics | *Rigid body Dynamics | ||
* Assigment | * Assigment | ||
− | **[[media:domaca-uloha-4.pdf|domaca-uloha | + | **[[media:domaca-uloha-4.pdf|domaca-uloha.pdf]] (deadline see Attendance table) |
− | + | ||
===RESOURCES=== | ===RESOURCES=== | ||
*Roman Ďurikovič, Vladimír Ďurikovič. Numerical Mathematics for Computer Science (in Slovak Numerická matematika pre informatika, Riešené príklady v programe MATHEMATICA). ISBN 978-80-8105-271-2, University of Saint Cyril and Metod Press, Trnava, Slovakia, pages 162, 2011. https://www.researchgate.net/publication/256681458_Numerick_matematika_pre_informatika_Rieen_prklady_v_programe_MATHEMATICA | *Roman Ďurikovič, Vladimír Ďurikovič. Numerical Mathematics for Computer Science (in Slovak Numerická matematika pre informatika, Riešené príklady v programe MATHEMATICA). ISBN 978-80-8105-271-2, University of Saint Cyril and Metod Press, Trnava, Slovakia, pages 162, 2011. https://www.researchgate.net/publication/256681458_Numerick_matematika_pre_informatika_Rieen_prklady_v_programe_MATHEMATICA |
Verzia zo dňa a času 11:08, 6. január 2020
Physical based Animations and Mathematical Modelling (Course Materials)
Obsah
- 1 Physical based Animations and Mathematical Modelling (Course Materials)
- 1.1 Student Animation Projects
- 1.2 Project Deadlines
- 1.3 What you Need to Pass
- 1.4 How to Arrange your Project
- 1.4.1 Lesson01 "Introduction to Computer Animation"
- 1.4.2 Lesson02 "Basic methods in Computer Animation"
- 1.4.3 Lesson03 "Particle Systems"
- 1.4.4 Lesson04 "Soft bodies, Cloths and hair”
- 1.4.5 Lesson05 "Broad Phase Collision Detection"
- 1.4.6 Lesson "All Saints' Day (no lesson)"
- 1.4.7 Lesson06 "Mid Phase Collision Detection"
- 1.4.8 Lesson07 "Narrow Phase Collision Detection"
- 1.4.9 Lesson08 "Rigid body Dynamics”
- 1.4.10 Lesson09 "Rigid body Collisions and Joints”
- 1.4.11 Lesson10 "Fluid, Fire and Smoke”
- 1.4.12 Lesson11 "Final term"
- 1.4.13 Lesson12 "Animation Show"
- 2 EXCERCISES
- 2.1 Excercise00 "Key Framing”
- 2.2 Excercise01 "Introductions”
- 2.3 Excercise02 "Quaternion Interpolation”
- 2.4 Excercise03 "Differential Equations”
- 2.5 Excercise04 "Position based Dynamics”
- 2.6 Excercise05 "Particles”
- 2.7 Excercise06 "STAR reports”
- 2.8 Excercise07 "Separating Axis Theorem”
- 2.9 Excercise08 "Rigid body Dynamics”
- 2.10 RESOURCES
This lecture ...
- Will focus on simulating natural phenomena
- Will show you what are current topics
- Will improve your skills in
- Newtonian physics
- Computational geometry
- Algorithms and data structures
- Hopefully will not be boring
- List of Open Source Physics Engines
Student Animation Projects
- Animácia Hunger
- Stránka Catching Spider Animácia Catching Spider
- Stránka Ráno do práce Animácia Ráno do práce
- Animácia Knihy
- Stránka Tvrdý Oriešok pre Vranu Animácia Vrana
Project Deadlines
- Animators team (Axx): deadline 16.12.2019 the last lecture
- Show your animation, how far have you made it. Paste the screen capture with your explanation and demo on the webpage. It should be 30% of the work done, otherwise, your team gets Fx.
- Coders team (Cxx): deadline 16.12.2019 the last lecture
- Show the short DEMO of your project, how far have you made it. Paste the screen capture with your explanation and demo on the webpage. It should be 30% of the work done, otherwise, your team gets Fx.
- Coders team (Cxx): deadline 27.1.2020
- Create a web page where you write your progress, upload source code, executable, images description of your project and a short manual.
- Send a link to the finished application (zipped source + executable.)
- Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose.
- If you send it earlier you can get feedback how to improve your application.
- Animators team (Axx): deadline 27.1.2020
- Create a web page where you write your progress, upload animation, the source of animation, images description of your project and describe all physical effects to be evaluated.
- Upload your animation video on youtube (or some alternative online service)
- Send link to your webpage.
- If you send it earlier you can get feedback how to improve your animation.
- Oral/written exam (optional): day 13.1.2019, 8:00, classroom I-14
- Instead of (optional) oral exam, you can get (0..+20) points due to a written exam.
- It will be similar to the homework, but less complicated.
What you Need to Pass
- Attend lessons. All lessons attended is +0 points. Four and more missed you need to pass oral & written exam.
- Show your project (mandatory, 60 points). See later.
- Solve all homework problems as a teamwork (mandatory each one >=30%, 40 points)
- Pass oral/written exam: (optional, +0 .. +20 points) If you feel you are better, convince me ! You can get +20 points max.
- Summary
- Attendance = +0 or -100 (or pass oral & written exam)
- Homework = +40..+12 or 12..0 (Fx)
- Project = +60..0
- Optional oral/written exam = +20..0
- Grades
- A = 92-100
- B = 84-91
- C = 76-83
- D = 68-75
- E = 60-67
- Fx = 0-59
Oral / Written Examination
To the oral examination, all the above requirements must be SATISFACTORILY completed.
How to Arrange your Project
- Take 1 friend and Team up
- Role1: The Coder Team
- Choose a given animation algorithm
- Code up hot demo app and show it
- Present a selected research paper or tutorial
- Prepare a written report, at least 2 A4 pages, on the topic of state exam question.
- Role2: The Artist Team
- Choose some authoring tool
- Create hot physically based demo reel
- Present a selected research paper or tutorial
- Prepare a written report, at least 2 A4 pages, on the topic of state exam question.
- Projects with minimal requirements: project-list.pdf
- Teams fill the form (names and project): deadline 1.10. Submit a link to created web page with project description or animation story board where you write your progress, continually.
Lesson01 "Introduction to Computer Animation"
- Introduction to Computer Animation
- Common animation techniques
- Cutting edge tools and packages
- Gurus and the State of the Art
- Lecture schedule
- "Terms and conditions" of this lecture
- Lecture notes: lesson01.pdf
Lesson02 "Basic methods in Computer Animation"
- Problem definition and motivations
- Key-framing and parameter interpolation
- Quternions, orientation
- Skeleton and skinning animation
- Forward and inverse kinematics
- Procedural techniques
- (Motion capture)
- Lecture notes: lesson02.pdf
- Štátnicová téma: S1 Animácie pohybu a orientácie, interpolačný spline na animáciu pohybu, splinu podľa dĺžky krivky, quaternion a orientácia, interpolácie dvoch a viacerých quaternionov.
Lesson03 "Particle Systems"
- Newton dynamics of particles
- Ordinary differential equation (ODE) solver
- Particle - obstacle collision detection
- Practical design of particle system
- Demos / tools / libs
- Lecture notes: lesson03.pdf
- Štátnicová téma: S2 Numerické riešenie diferenciálnych rovníc, Eulerova metóda, MidPoint metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku, sily odozvy (response forces).
Lesson04 "Soft bodies, Cloths and hair”
- Problem definition and motivations
- Modeling solids with stress and strain
- Extending Mass-spring model for cloth and ropes
- Massive (self) collision and resolution for cloths
- Mesh-less deformations
- Modeling solids with infinitely stiff springs
- Demos / tools / libs
- Lecture notes: lesson04.pdf
- Štátnicová téma (Lesson 3,4): S3 Časticové systémy, rovnice pohybu prvého rádu, integračné metódy na výpočet rýchlosti a pozície, stavový vektor systému, vonkajšie sily, obmedzujúce podmienky – constraints, sily odozvy, kolízie častica - rovina.
Lesson05 "Broad Phase Collision Detection"
- Problem definition and motivations
- Hierarchical grids and spatial hashing
- Sweep and prune and radix sort
- Pair management – a practical guide
- Demos / tools / libs
- Lecture notes: lesson05.pdf
Lesson "All Saints' Day (no lesson)"
- No lesson
Lesson06 "Mid Phase Collision Detection"
- Problem definition and motivations
- Generic Bounding Volume Hierarchy (BVH)
- Tandem BVH traversal
- Proximity evaluation of primitive geometries
- External Voronoi regions
- Sphere x Capsule x Box x triangle collisions
- Approximate convex decomposition
- Lecture notes: lesson06.pdf
Lesson07 "Narrow Phase Collision Detection"
- Problem definition and motivations
- Proximity queries for convex objects (Minkowski space)
- GJK based algorithms (GJK, EPA, ISA-GJK)
- Voronoi-Clip (V-Clip) Algorithm
- Signed Distance Maps for collision detection
- Demos / tools / libs
- Lecture notes: lesson07.pdf
- Štátnicová téma (Lesson 5,6,7): S4 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v rovine, broad phase (hierachycká mriežka), mid phase (hierarchie obálok, Voronoiove oblasti v kolízii, vysvetlujte na príklade kolízie gula x kapsula, dekompozícia telesa na konvexné časti), narrow phase (Minkowskeho priestor a blízkosť konvexných telies).
Lesson08 "Rigid body Dynamics”
- Problem definition and motivations
- Dynamics of rigid bodies
- The equation of unconstrained motion (ODE)
- User and time control
- Mass properties of polyhedral objects
- Demos / tools / libs
- Lecture notes: lesson08.pdf
- Štátnicová téma (Lesson 9): S5 Dynamika tuhých telies, definícia problému, rovnice pohybu (4 ODE), rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica hybnosti (matica inercie).
Lesson09 "Rigid body Collisions and Joints”
- Problem definition and motivations
- Simplified collision model
- Impulse based collision equation
- Friction-less collision resolution
- Algebraic collision resolution for Coulomb friction
- Linear and angular joint formulations
- Demos / tools / libs
- Lecture notes:lesson09.pdf
Lesson10 "Fluid, Fire and Smoke”
- Problem definition and motivations
- Navier-Stokes equations for fluid dynamics
- Grid based MAC method
- Particle based SPH method
- Neighbor search for coupled particles
- Modeling smoke and fire with fluid
- Demos / tools / libs
- Lecture notes: lesson10.pdf
Lesson11 "Final term"
- Don't panic - just few simple questions
Lesson12 "Animation Show"
- Show your animation to your colleagues
EXCERCISES
- Your presence at the seminar is optional.
- On every seminar we will focus on the selected problems from lessons. We will use the numerical methods to solve specific problems.
Excercise00 "Key Framing”
- Blender demo
- Blender https://www.blender.org/
- resources:
- Blender tutorial for skeleton modelling http://blender.freemovies.co.uk/stickman/
- rigging https://www.youtube.com/watch?v=mJwWTKt12ak
- motion capture database https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/daz-friendly-release
Excercise01 "Introductions”
- Vectors
- Matrices
- Linear interpolation
- WOLFRAM DEVELOPMENT PLATFORM [1]
- resources:
Excercise02 "Quaternion Interpolation”
- Euler angles
- Complex numbers and rotations
Excercise03 "Differential Equations”
- Analitical solution of ODE
- Runge-Kuta method
- Assigment
- uloha_diferencialne.pdf (deadline see Attendance table)
- resources:
- https://www.youtube.com/watch?v=p_di4Zn4wz4
- https://emboliform.wordpress.com/test-page/solving-differential-equations-numerically-with-octave/
- diferencialne_rovnice.pdf
- explicit_midpoint.pdf
- system_ode.pdf
- http://terpconnect.umd.edu/~petersd/246/matlabode.html
- https://computing.llnl.gov/casc/nsde/pubs/u113855.pdf
- Wolfram Mathematica http://mathworld.wolfram.com/
- FreeMat http://freemat.sourceforge.net/index.html
- Matlab tutorial http://www.tutorialspoint.com/matlab/index.htm
- Online Octave https://octave-online.net/
Excercise04 "Position based Dynamics”
- proving the distance constraint formulae
- resources
Excercise05 "Particles”
- modeling particles
Excercise06 "STAR reports”
Excercise07 "Separating Axis Theorem”
- Principal Components Analysis
- Assigment
Excercise08 "Rigid body Dynamics”
- Rigid body Dynamics
- Assigment
- domaca-uloha.pdf (deadline see Attendance table)
RESOURCES
- Roman Ďurikovič, Vladimír Ďurikovič. Numerical Mathematics for Computer Science (in Slovak Numerická matematika pre informatika, Riešené príklady v programe MATHEMATICA). ISBN 978-80-8105-271-2, University of Saint Cyril and Metod Press, Trnava, Slovakia, pages 162, 2011. https://www.researchgate.net/publication/256681458_Numerick_matematika_pre_informatika_Rieen_prklady_v_programe_MATHEMATICA