Physical-based Animations and Mathematical Modeling Material: Rozdiel medzi revíziami
(61 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených) | |||
Riadok 1: | Riadok 1: | ||
[[File:ca10_lesson01.png|link=#Lectures]] | [[File:ca10_lesson01.png|link=#Lectures]] | ||
+ | = Physical based Animations and Mathematical Modelling (Course Materials) = | ||
+ | __TOC__ | ||
This lecture ... | This lecture ... | ||
Riadok 18: | Riadok 20: | ||
== D-E-A-D-L-I-N-E-S == | == D-E-A-D-L-I-N-E-S == | ||
− | * | + | * Animators team (Axx): <b>deadline 14.12.2015 the last lecture</b> |
− | ** | + | ** Show your animation, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx. |
− | ** It | + | * Coders team (Cxx): <b>deadline 17.12.2015 the last exercise</b> |
− | * Coders (Cxx): <b>deadline 26.1. | + | ** Show the short DEMO of your project, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx. |
+ | |||
+ | * Coders team (Cxx): <b>deadline 26.1.2016</b> | ||
** Create a web page where you write your progress, upload source code, executable, images description of your project and short manual. | ** Create a web page where you write your progress, upload source code, executable, images description of your project and short manual. | ||
− | **Send link to finished application (zipped source + executable.) | + | **Send link to 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 | ** If you send it earlier you can get feedback how to improve your application | ||
− | * Animators (Axx): <b>deadline 26.1. | + | * Animators team (Axx): <b>deadline 26.1.2016</b> |
− | ** Create a web page where you write your progress, upload animation, source of animation, images description of your project and all physical effects to be evaluated. | + | ** Create a web page where you write your progress, upload animation, 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) | + | ** Upload your animation video on youtube (or some alternative online service) |
** Send link to your webpage | ** Send link to your webpage | ||
** If you send it earlier you can get feedback how to improve your animation | ** If you send it earlier you can get feedback how to improve your animation | ||
+ | * Oral/written exam (optional): <b>deadline 18.1.2016, 8:00, classroom A</b> | ||
+ | ** Instead of (optional) oral exam, you can get (0..+20) points due to a written exam. | ||
+ | ** It will be similar to final term, but less complicated. | ||
== What you Need to Pass == | == What you Need to Pass == | ||
− | * Attend lessons. All lessons attended is | + | * Attend lessons. All lessons attended is +0 points. Four and more missed is Fx. |
− | * Show your project (mandatory, 60 points) See later. | + | * Show your project (mandatory, 60 points). See later. |
− | * Solve all homework problems (mandatory each one >=30%, | + | * Solve all homework problems (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. | |
− | * Pass oral/written exam: (optional, + | + | |
* Summary | * Summary | ||
− | ** Attendance = + | + | ** Attendance = +0 or -100 (Fx) |
− | ** Homework = + | + | ** Homework = +40..+12 or 12..0 (Fx) |
** Project = +60..0 | ** Project = +60..0 | ||
− | + | ** Oral/written exam optional = +20..0 | |
− | ** Oral/written exam = +20.. | + | |
* Grades | * Grades | ||
− | ** A = 92- | + | ** A = 92-100 |
** B = 84-91 | ** B = 84-91 | ||
** C = 76-83 | ** C = 76-83 | ||
** D = 68-75 | ** D = 68-75 | ||
** E = 60-67 | ** E = 60-67 | ||
− | ** Fx = 0- | + | ** Fx = 0-59 |
− | * '''[https://docs.google.com/ | + | * '''[https://docs.google.com/spreadsheets/d/1qLjrRDJcDR3TAiJYGO6ns1_eE1Rd1395TKixDtwKXPM/edit?usp=sharing VIEW RESULTS]''' |
+ | |||
+ | === Oral Examination === | ||
+ | To the oral examination all the above requirements must be SATISFACTORILY completed. | ||
== How to Arrange your Project == | == How to Arrange your Project == | ||
− | * Take | + | * Take 1 friend and Team up |
* Role1: The Coder | * Role1: The Coder | ||
** Choose a given animation algorithm | ** Choose a given animation algorithm | ||
** Code up hot demo app and show it | ** Code up hot demo app and show it | ||
+ | ** Present a selected research paper | ||
* Role2: The Artist | * Role2: The Artist | ||
** Choose some authoring tool and create hot physically based demo reel | ** Choose some authoring tool and create hot physically based demo reel | ||
− | * Projects: [[media:Projects.pdf|Projects.pdf]] | + | ** Present a selected research paper |
− | + | ** Prepare a written report, at least 2 A4 pages, on the topic of state exam question. | |
+ | * Projects with minimal requirements: [[media:Projects.pdf|Projects.pdf]] | ||
+ | * Teams fill the '''[https://docs.google.com/forms/d/1rgo9uNlc1AhvSCjpi9OXtB6C3dewOByfVzwQ1pZKrNY/viewform?usp=send_form form]''' (names and project): <b>deadline 5.10.2015</b> 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" === | === Lesson01 "Introduction to Computer Animation" === | ||
− | [[File:ca10_lesson01.png | + | [[File:ca10_lesson01.png]] |
* Introduction to Computer Animation | * Introduction to Computer Animation | ||
* Common animation techniques | * Common animation techniques | ||
Riadok 77: | Riadok 89: | ||
* Lecture schedule | * Lecture schedule | ||
* "Terms and conditions" of this lecture | * "Terms and conditions" of this lecture | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson01.pdf|lesson01.pdf]] |
=== Lesson02 "Basic methods in Computer Animation" === | === Lesson02 "Basic methods in Computer Animation" === | ||
− | [[File:ca10_lesson02.png | + | [[File:ca10_lesson02.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Key-framing and parameter interpolation | * Key-framing and parameter interpolation | ||
Riadok 89: | Riadok 101: | ||
* Procedural techniques | * Procedural techniques | ||
* (Motion capture) | * (Motion capture) | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson02.pdf|lesson02.pdf]] |
− | * Štátnicová téma: Animácie pohybu | + | * Š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" === | === Lesson03 "Particle Systems" === | ||
− | [[File:ca10_lesson03.png | + | [[File:ca10_lesson03.png]] |
* Newton dynamics of particles | * Newton dynamics of particles | ||
* Ordinary differential equation (ODE) solver | * Ordinary differential equation (ODE) solver | ||
Riadok 100: | Riadok 112: | ||
* Practical design of particle system | * Practical design of particle system | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_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: 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” === | === Lesson04 "Soft bodies, Cloths and hair” === | ||
− | [[File:ca10_lesson11.png | + | [[File:ca10_lesson11.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Modeling solids with stress and strain | * Modeling solids with stress and strain | ||
Riadok 113: | Riadok 125: | ||
* Modeling solids with infinitely stiff springs | * Modeling solids with infinitely stiff springs | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_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 | + | * Š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" === | === Lesson05 "Broad Phase Collision Detection" === | ||
− | [[File:ca10_lesson04.png | + | [[File:ca10_lesson04.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Hierarchical grids and spatial hashing | * Hierarchical grids and spatial hashing | ||
Riadok 124: | Riadok 136: | ||
* Pair management – a practical guide | * Pair management – a practical guide | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson05.pdf|lesson05.pdf]] |
+ | <!--* Assigment 3: [[media:ca10_assigmentlesson05.pdf|assigment3.pdf]]--> | ||
+ | |||
+ | |||
+ | === Lesson "All Saints' Day (no lesson)" === | ||
+ | [[File:ca10_lesson07.png]] | ||
+ | * No lesson | ||
=== Lesson06 "Mid Phase Collision Detection" === | === Lesson06 "Mid Phase Collision Detection" === | ||
− | [[File:ca10_lesson05.png | + | [[File:ca10_lesson05.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Generic Bounding Volume Hierarchy (BVH) | * Generic Bounding Volume Hierarchy (BVH) | ||
Riadok 136: | Riadok 154: | ||
** Sphere x Capsule x Box x triangle collisions | ** Sphere x Capsule x Box x triangle collisions | ||
* Approximate convex decomposition | * Approximate convex decomposition | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson06.pdf|lesson06.pdf]] |
+ | <!--* Assigment 4: [[media:ca10_assigmentlesson06.pdf|assigment4.pdf]]--> | ||
=== Lesson07 "Narrow Phase Collision Detection" === | === Lesson07 "Narrow Phase Collision Detection" === | ||
− | [[File:ca10_lesson06.png | + | [[File:ca10_lesson06.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Proximity queries for convex objects (Minkowski space) | * Proximity queries for convex objects (Minkowski space) | ||
Riadok 147: | Riadok 166: | ||
* Signed Distance Maps for collision detection | * Signed Distance Maps for collision detection | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson07.pdf|lesson07.pdf]] |
− | * Štátnicová téma (Lesson 5,6,7): Detekcie kolízie | + | * Štátnicová téma (Lesson 5,6,7): S4 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v rovina, 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” === | |
− | === | + | [[File:ca10_lesson08.png]] |
− | [[File:ca10_lesson08.png | + | |
* Problem definition and motivations | * Problem definition and motivations | ||
* Dynamics of rigid bodies | * Dynamics of rigid bodies | ||
Riadok 163: | Riadok 178: | ||
* Mass properties of polyhedral objects | * Mass properties of polyhedral objects | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson08.pdf|lesson08.pdf]] |
− | * Štátnicová téma (Lesson 9): Dynamika tuhých telies, rovnice pohybu, rýchlosť, zrýchlenie, uhľová rýchlosť | + | * Š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” === |
− | [[File:ca10_lesson09.png | + | [[File:ca10_lesson09.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Simplified collision model | * Simplified collision model | ||
Riadok 175: | Riadok 191: | ||
* Linear and angular joint formulations | * Linear and angular joint formulations | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes:[[media: | + | * Lecture notes:[[media:ca15_lesson09.pdf|lesson09.pdf]] |
− | === | + | === Lesson10 "Fluid, Fire and Smoke” === |
− | [[File:ca10_lesson10.png | + | [[File:ca10_lesson10.png]] |
* Problem definition and motivations | * Problem definition and motivations | ||
* Navier-Stokes equations for fluid dynamics | * Navier-Stokes equations for fluid dynamics | ||
Riadok 187: | Riadok 203: | ||
* Modeling smoke and fire with fluid | * Modeling smoke and fire with fluid | ||
* Demos / tools / libs | * Demos / tools / libs | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca16_lesson10.pdf|lesson10.pdf]] |
− | === | + | |
+ | === Lesson11 "Final term" === | ||
[[File:ca10_lesson12.png]] | [[File:ca10_lesson12.png]] | ||
* Don't panic - just few simple questions | * 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. | ||
+ | |||
+ | === Excercise01 "Key Framing” === | ||
+ | * '''[https://www.youtube.com/watch?v=CFFhgutjZQk Blender demo]''' | ||
+ | * Blender https://www.blender.org/ | ||
+ | |||
+ | === Excercise02 "Quaternion Interpolation” === | ||
+ | * Assigment | ||
+ | **[[media:uloha1.pdf|uloha1.pdf]] (deadline 8.10.) | ||
+ | **resources: | ||
+ | ***[[media:catmull-rom.pdf|catmull-rom.pdf]] | ||
+ | ***http://run.usc.edu/cs520-s15/quaternions/quaternions-cs520.pdf | ||
+ | ***http://www.academia.edu/4095904/Quaternion_calculus_as_a_basic_tool_in_computer_graphics | ||
+ | * Blender tutorial for skeleton modelling | ||
+ | ** rigging https://www.youtube.com/watch?v=mJwWTKt12ak | ||
+ | |||
+ | === Excercise03 "Differential Equations” === | ||
+ | * Analitical solution of ODE | ||
+ | * Runge-Kuta method | ||
+ | * Assigment | ||
+ | **[[media:uloha2.pdf|uloha2.pdf]] (deadline 22.10.) | ||
+ | **resources: | ||
+ | ***[[media:diferencialne_rovnice.pdf|diferencialne_rovnice.pdf]] | ||
+ | ***http://terpconnect.umd.edu/~petersd/246/matlabode.html | ||
+ | * Wolfram Mathematica http://mathworld.wolfram.com/ | ||
+ | * FreeMat http://freemat.sourceforge.net/index.html | ||
+ | * Matlab tutorial http://www.tutorialspoint.com/matlab/index.htm | ||
+ | |||
+ | === Excercise04 "Position based Dynamics” === | ||
+ | * proving the distance constraint formulae | ||
+ | **resources | ||
+ | ***[[media:Position based Dynamics.pdf|Position based Dynamics.pdf]] | ||
+ | * Assigment | ||
+ | **prepare presentation (deadline 29.10.) | ||
+ | |||
+ | === Excercise05 "Particles” === | ||
+ | *modeling particles | ||
+ | **resources | ||
+ | ***https://www.youtube.com/watch?v=azXFwQWXjyQ | ||
+ | |||
+ | === Excercise06 "STAR reports” === | ||
+ | *STAR reports and paper presentations | ||
+ | **animation resources | ||
+ | ***[[media:production.pdf|production.pdf]] | ||
+ | ***https://www.youtube.com/playlist?list=PL-bOh8btec4CXd2ya1NmSKpi92U_l6ZJd | ||
+ | |||
+ | === Excercise07 "Separating Axis Theorem” === | ||
+ | *Principal Components Analysis | ||
+ | * Assigment | ||
+ | **[[media:uloha3.pdf|uloha3.pdf]] (deadline 26.11.) | ||
+ | **resources: | ||
+ | ***http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf | ||
+ | ***http://www.sosmath.com/matrix/eigen2/eigen2.html | ||
+ | ***https://www.scss.tcd.ie/Rozenn.Dahyot/CS1BA1/SolutionEigen.pdf | ||
+ | |||
+ | ===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 |
Aktuálna revízia z 09:47, 13. november 2015
Physical based Animations and Mathematical Modelling (Course Materials)
Obsah
- 1 Physical based Animations and Mathematical Modelling (Course Materials)
- 1.1 Student Projects
- 1.2 D-E-A-D-L-I-N-E-S
- 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
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
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
- Animators team (Axx): deadline 14.12.2015 the last lecture
- Show your animation, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx.
- Coders team (Cxx): deadline 17.12.2015 the last exercise
- Show the short DEMO of your project, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx.
- Coders team (Cxx): deadline 26.1.2016
- Create a web page where you write your progress, upload source code, executable, images description of your project and short manual.
- Send link to 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 26.1.2016
- Create a web page where you write your progress, upload animation, 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): deadline 18.1.2016, 8:00, classroom A
- Instead of (optional) oral exam, you can get (0..+20) points due to a written exam.
- It will be similar to final term, but less complicated.
What you Need to Pass
- Attend lessons. All lessons attended is +0 points. Four and more missed is Fx.
- Show your project (mandatory, 60 points). See later.
- Solve all homework problems (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 (Fx)
- Homework = +40..+12 or 12..0 (Fx)
- Project = +60..0
- Oral/written exam optional = +20..0
- Grades
- A = 92-100
- B = 84-91
- C = 76-83
- D = 68-75
- E = 60-67
- Fx = 0-59
Oral 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
- Choose a given animation algorithm
- Code up hot demo app and show it
- Present a selected research paper
- Role2: The Artist
- Choose some authoring tool and create hot physically based demo reel
- Present a selected research paper
- Prepare a written report, at least 2 A4 pages, on the topic of state exam question.
- Projects with minimal requirements: Projects.pdf
- Teams fill the form (names and project): deadline 5.10.2015 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 rovina, 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.
Excercise01 "Key Framing”
- Blender demo
- Blender https://www.blender.org/
Excercise02 "Quaternion Interpolation”
- Assigment
- Blender tutorial for skeleton modelling
Excercise03 "Differential Equations”
- Analitical solution of ODE
- Runge-Kuta method
- Assigment
- uloha2.pdf (deadline 22.10.)
- resources:
- Wolfram Mathematica http://mathworld.wolfram.com/
- FreeMat http://freemat.sourceforge.net/index.html
- Matlab tutorial http://www.tutorialspoint.com/matlab/index.htm
Excercise04 "Position based Dynamics”
- proving the distance constraint formulae
- resources
- Assigment
- prepare presentation (deadline 29.10.)
Excercise05 "Particles”
- modeling particles
Excercise06 "STAR reports”
- STAR reports and paper presentations
Excercise07 "Separating Axis Theorem”
- Principal Components Analysis
- Assigment
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