Physical-based Animations and Mathematical Modeling Material: Rozdiel medzi revíziami
Riadok 76: | Riadok 76: | ||
* Lecture schedule | * Lecture schedule | ||
* "Terms and conditions" of this lecture | * "Terms and conditions" of this lecture | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson01.pdf|lesson01.pdf]] |
Riadok 88: | Riadok 88: | ||
* Procedural techniques | * Procedural techniques | ||
* (Motion capture) | * (Motion capture) | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson02.pdf|lesson02.pdf]] |
* Štátnicová téma: Animácie pohybu a orientácie, interpolačný spline na animáciu pohybu, reparametrizácia splinu podľa dĺžky krivky, quaternion a orientácia, interpolácie dvoch a viacerých quaternionov. | * Štátnicová téma: Animácie pohybu a orientácie, interpolačný spline na animáciu pohybu, reparametrizácia splinu podľa dĺžky krivky, quaternion a orientácia, interpolácie dvoch a viacerých quaternionov. | ||
Riadok 99: | Riadok 99: | ||
* Practical design of particle system | * Practical design of particle system | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson03.pdf|lesson03.pdf]] |
* Štátnicová téma: Numerické riešenie diferenciálnych rovníc, Eulerova metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku. | * Štátnicová téma: Numerické riešenie diferenciálnych rovníc, Eulerova metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku. | ||
Riadok 112: | Riadok 112: | ||
* Modeling solids with infinitely stiff springs | * Modeling solids with infinitely stiff springs | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson04.pdf|lesson04.pdf]] |
* Štátnicová téma (Lesson 3,4): Č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. | * Štátnicová téma (Lesson 3,4): Č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. | ||
Riadok 123: | Riadok 123: | ||
* Pair management – a practical guide | * Pair management – a practical guide | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson05.pdf|lesson05.pdf]] |
Riadok 135: | Riadok 135: | ||
** Sphere x Capsule x Box x triangle collisions | ** Sphere x Capsule x Box x triangle collisions | ||
* Approximate convex decomposition | * Approximate convex decomposition | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson06.pdf|lesson06.pdf]] |
Riadok 146: | Riadok 146: | ||
* Signed Distance Maps for collision detection | * Signed Distance Maps for collision detection | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson07.pdf|lesson07.pdf]] |
* Štátnicová téma (Lesson 5,6,7): Detekcie kolízie, Z buffer algoritmus, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca rovina, hierarchie obálok, sily odozvy (response forces). | * Štátnicová téma (Lesson 5,6,7): Detekcie kolízie, Z buffer algoritmus, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca rovina, hierarchie obálok, sily odozvy (response forces). | ||
Riadok 162: | Riadok 162: | ||
* Mass properties of polyhedral objects | * Mass properties of polyhedral objects | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson08.pdf|lesson08.pdf]] |
* Štátnicová téma (Lesson 9): Dynamika tuhých telies, rovnice pohybu, rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica inercie. | * Štátnicová téma (Lesson 9): Dynamika tuhých telies, rovnice pohybu, rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica inercie. | ||
Riadok 174: | Riadok 174: | ||
* Linear and angular joint formulations | * Linear and angular joint formulations | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes:[ | + | * Lecture notes:[[media:ca10_lesson09.pdf|lesson09.pdf]] |
Riadok 186: | Riadok 186: | ||
* Modeling smoke and fire with fluid | * Modeling smoke and fire with fluid | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [ | + | * Lecture notes: [[media:ca10_lesson10.pdf|lesson10.pdf]] |
=== Lesson12 "Final term" === | === Lesson12 "Final term" === | ||
[[File:ca10_lesson12.png]] | [[File:ca10_lesson12.png]] | ||
* Don't panic - just few simple questions | * Don't panic - just few simple questions |
Verzia zo dňa a času 21:34, 13. september 2014
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
Obsah
- 1 Student Projects
- 2 D-E-A-D-L-I-N-E-S
- 3 What you Need to Pass
- 4 How to Arrange your Project
- 4.1 Lesson01 "Introduction to Computer Animation"
- 4.2 Lesson02 "Basic methods in Computer Animation"
- 4.3 Lesson03 "Particle Systems"
- 4.4 Lesson04 "Soft bodies, Cloths and hair”
- 4.5 Lesson05 "Broad Phase Collision Detection"
- 4.6 Lesson06 "Mid Phase Collision Detection"
- 4.7 Lesson07 "Narrow Phase Collision Detection"
- 4.8 Lesson08 "All Saints' Day (no lesson)"
- 4.9 Lesson09 "Rigid body Dynamics”
- 4.10 Lesson10 "Rigid body Collisions and Joints”
- 4.11 Lesson11 "Fluid, Fire and Smoke”
- 4.12 Lesson12 "Final term"
Student Projects
- Stránka Ráno do práce
- Stránka The_good_the_bad
- Stránka Kiwi Animácia KiWi
- Stránka Knihy Animácia Knihy
- Stránka Motorka
D-E-A-D-L-I-N-E-S
- Written exam (optional): deadline 19.1.2014, 8:00, classroom A
- Instead of (optional) oral exam, you can get (-20 ... +20) points due to a written exam.
- It will be similar to final term, but less complicated.
- Coders (Cxx): deadline 26.1.2015
- Send to onderik@sccg.sk finished application and some note if source code should be private (zipped source + executable.)
- Executables will be public on this page. Sources only if author allow it.
- If you send it earlier you can get feedback how to improve your application
- Animators (Axx): deadline 26.1.2015
- Upload your animation video on youtube (or some alternative online service)
- Send to onderik@sccg.sk link to your animation (link to youtube)
- If you send it earlier you can get feedback how to improve your animation
What you Need to Pass
- Attend lessons. All lessons attended is +10 points. One missed +0 points. 2 missed 0 points, 3 missed 0 points, 4 and more is Fx.
- Show your project (mandatory, 60 points) See later.
- Solve all homework problems (mandatory each one >=30%, 30 points)
- Pass final term (mandatory, 10 points) You will need to solve several problems discussed during lessons.
- Pass oral/written exam: (optional, +/-20 points) If you feel you are better, convince me ! You can get +20 points or loose -20 points.
- Summary
- Attendance = +10..0 or -100 (Fx)
- Homework = +30..10 or +10..0 (Fx)
- Project = +60..0
- Final term = +10..0
- Oral/written exam = +20..-20
- Grades
- A = 92-130
- B = 84-91
- C = 76-83
- D = 68-75
- E = 60-67
- Fx = 0-49
How to Arrange your Project
- Take 2 friends and Team up
- Role1: The Coder
- Choose a given animation algorithm
- Code up hot demo app and show it
- Role2: The Artist
- Choose some authoring tool and create hot physically based demo reel
- Projects: Projects.pdf
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: Animácie pohybu a orientácie, interpolačný spline na animáciu pohybu, reparametrizácia 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: Numerické riešenie diferenciálnych rovníc, Eulerova metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku.
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): Č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
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): Detekcie kolízie, Z buffer algoritmus, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca rovina, hierarchie obálok, sily odozvy (response forces).
Lesson08 "All Saints' Day (no lesson)"
- No lesson
Lesson09 "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): Dynamika tuhých telies, rovnice pohybu, rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica inercie.
Lesson10 "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
Lesson11 "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
Lesson12 "Final term"
- Don't panic - just few simple questions