(179 intermediate revisions by 2 users not shown) | |||
Riadok 11: | Riadok 11: | ||
** Algorithms and data structures | ** Algorithms and data structures | ||
* Hopefully will not be boring | * Hopefully will not be boring | ||
+ | * [https://www.tapirgames.com/blog/open-source-physics-engines List of Open Source Physics Engines] | ||
− | == Student Projects == | + | == Student Animation Projects == |
− | * | + | * Animácia [https://www.youtube.com/watch?v=j1wR1LN_fU4 Hunger] |
− | * Stránka [http:// | + | * 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] | |
− | + | * Animácia [http://www.youtube.com/watch?v=pXXa0C74IJk&feature=youtu.be Knihy] | |
− | * Stránka [http:// | + | * Stránka [http://animation.6f.sk/ Tvrdý Oriešok pre Vranu] Animácia [https://www.youtube.com/watch?v=1AMtjwhLEEg Vrana] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== What you Need to Pass == | == What you Need to Pass == | ||
− | * Attend lessons. All lessons attended is +0 points. Four and more missed | + | * Attend lessons. All lessons attended is +0 points. Four and more lectures missed you missed the course Fx. |
− | * | + | * Solve all homework problems (mandatory each one >=30%, 60 points). All homework assignments must be solved in Wolfram Mathematica or the online version of Wolfram Cloud. Submit the assignment solutions to MS Teams. |
− | * | + | * Pass written Final term exam (mandatory each one >=30%, 30 points), no retakes. Realtime problem solution in Wolfram Mathematica or Wolfram Cloud. |
* 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, +0 .. +20 points) If you feel you are better, convince me ! You can get +20 points max. | ||
* Summary | * Summary | ||
− | ** Attendance = +0 or -100 (Fx) | + | ** Attendance = +0 or -100 (or Fx) |
− | ** Homework = + | + | ** Homework = +60..+18 or 12..0 (or Fx) |
− | ** | + | ** Excercises = +10..0 |
− | ** | + | ** Final term = (better than Fx) +30..0 |
+ | ** Optional oral exam = +20..0 | ||
− | * Grades | + | * Grades '''[https://docs.google.com/spreadsheets/d/1B2fa99297nNubCfQ4j13TlsTsYGTqJGEcrITgVFSTRA/edit?usp=sharing RESULTS]''' |
− | ** A = 92-100 | + | ** A = 92-100, B = 84-91, C = 76-83, D = 68-75, E = 60-67, Fx = 0-59 |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | * Register online to MS Teams [https://teams.microsoft.com/l/team/19%3a09e9527680ca40ef8a336492c5749111%40thread.tacv2/conversations?groupId=54138d27-ced4-46a6-99cc-cb7510664011&tenantId=ce31478d-6e7a-4ce7-8670-a5b9d51884f9 Teams] Teams code: 1himkdt |
− | === Oral Examination === | + | === Oral / Written Examination === |
− | To the oral examination all the above requirements must be SATISFACTORILY completed. | + | To the oral examination, all the above requirements must be SATISFACTORILY completed. '''[https://moodle.uniba.sk/course/view.php?id=2165 Moodle ]''' |
− | == How to Arrange your Project == | + | <!--== Project Deadlines == |
+ | * Animators team (Axx): <b>deadline 16.12.2019 the last lecture</b> | ||
+ | ** 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): <b>deadline 16.12.2019 the last lecture</b> | ||
+ | ** 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. | ||
+ | --> | ||
+ | <!--== How to Arrange your Project == | ||
* Take 1 friend and Team up | * Take 1 friend and Team up | ||
− | * Role1: The Coder | + | * Role1: The Coder Team |
** 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 | + | ** Present a selected research paper or tutorial |
− | + | ||
− | + | ||
− | + | ||
** Prepare a written report, at least 2 A4 pages, on the topic of state exam question. | ** Prepare a written report, at least 2 A4 pages, on the topic of state exam question. | ||
− | * Projects with minimal requirements: [[media: | + | * Role2: The Artist Team |
− | + | ** Choose some authoring tool | |
− | * Teams fill the '''[https://docs.google.com/forms/d/ | + | ** 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: [[media:project-list.pdf|project-list.pdf]] | ||
+ | * Teams fill the '''[https://docs.google.com/forms/d/1TWG8CtpKxCbjv88El76J3HzWgVuTal_4r6SH0ez4mCk/edit form]''' (names and project): <b>deadline 1.10.</b> Submit a link to created web page with project description or animation story board where you write your progress, continually. | ||
+ | --> | ||
---- | ---- | ||
Riadok 89: | Riadok 74: | ||
* 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]] |
Riadok 101: | Riadok 86: | ||
* Procedural techniques | * Procedural techniques | ||
* (Motion capture) | * (Motion capture) | ||
− | * Lecture notes: [[media: | + | * Lecture notes: [[media:ca15_lesson02.pdf|lesson02.pdf]] |
− | * | + | * State examination: S1 Animácie pohybu a orientácie, nearest neighbor, lineárna interpolácia, interpolačný spline na animáciu pohybu, Kubická Bézierova interpolačná krivka, C1 spojitosť kompozície kriviek. |
+ | * State examination: S2 Quaternion a orientácia, os rotácie a uhol, reprezentácia quaterniónom, rotácia v priestore pomocou quaterniónov, inverzný quaternión, kompozícia rotácie dvoch quaterniónov, interpolácia SLERP (Sférická lineárna interpolácia), interpolácie dvoch a viacerých quaternionov, Catmull-Rom interpolácia. | ||
Riadok 112: | Riadok 98: | ||
* 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]] |
− | * | + | * State examination: S4 Numerické riešenie diferenciálnych rovníc, ODE prvého rádu separovateľné, Rovnice pohybu prvého rádu rýchlosť, zrýchlenie, Eulerova metóda, MidPoint metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku. |
Riadok 125: | Riadok 111: | ||
* 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]] |
− | + | ||
Riadok 136: | Riadok 121: | ||
* 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]] | + | <!--* 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" === | ||
Riadok 148: | Riadok 138: | ||
** 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]] | + | <!--* Assigment 4: [[media:ca10_assigmentlesson06.pdf|assigment4.pdf]]--> |
+ | |||
=== Lesson07 "Narrow Phase Collision Detection" === | === Lesson07 "Narrow Phase Collision Detection" === | ||
Riadok 159: | Riadok 150: | ||
* 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]] |
− | * | + | * State examination (Lesson 5,6,7): S3 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca 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 | ||
Riadok 175: | Riadok 162: | ||
* 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]] |
− | * | + | * State examination (Lesson 9): S5 Dynamika tuhých telies, definícia problému, Pozícia, ťažisko a orientácia telesa, rovnice pohybu (4 ODE), rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica hybnosti (matica inercie) matica hybnosti pre guľu, pevný kváder, posunutý kváder. |
− | === | + | |
+ | === Lesson09 "Rigid body Collisions and Joints” === | ||
[[File:ca10_lesson09.png]] | [[File:ca10_lesson09.png]] | ||
* Problem definition and motivations | * Problem definition and motivations | ||
Riadok 187: | Riadok 175: | ||
* 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 | ||
Riadok 199: | Riadok 187: | ||
* 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 | ||
− | |||
− | |||
− | + | =EXCERCISES= | |
− | + | ||
*Your presence at the seminar is optional. | *Your presence at the seminar is optional. | ||
− | *On every seminar we will focus | + | *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]''' | ||
+ | * 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 | ||
+ | ** https://reference.wolfram.com/language/tutorial/Lists.html#2534 | ||
+ | * Matrices | ||
+ | * Linear interpolation | ||
+ | <!--*WOLFRAM DEVELOPMENT PLATFORM [https://develop.open.wolframcloud.com/app/]--> | ||
+ | *WOLFRAM NOTEBOOK [https://www.wolfram.com/notebooks/] | ||
+ | * https://www.wolfram.com/language/fast-introduction-for-programmers/en/interactive-usage/ | ||
+ | |||
+ | *resources: | ||
+ | ***[[media:uvod.pdf|uvod.pdf]] | ||
+ | ***[[media:catmull-rom.pdf|catmull-rom.pdf]] | ||
+ | |||
+ | === Excercise02 "Quaternion Interpolation” === | ||
+ | <!-- | ||
+ | * Assigment | ||
+ | **[[media:uloha1C.pdf|uloha1.pdf]] (deadline see Attendance table) | ||
+ | --> | ||
+ | * Euler angles | ||
+ | * Complex numbers and rotations | ||
+ | **resources: | ||
+ | ***[[media:quaternions.pdf|quaternion1.pdf]] | ||
+ | ***[[media:kvaternion.pdf|kvaternion2.pdf]] | ||
+ | ***http://run.usc.edu/cs520-s15/quaternions/quaternions-cs520.pdf | ||
+ | ***[[media:priklad.pdf|example.pdf]] | ||
+ | ***http://www.academia.edu/4095904/Quaternion_calculus_as_a_basic_tool_in_computer_graphics | ||
+ | ***https://www.youtube.com/watch?v=d4EgbgTm0Bg | ||
+ | ***https://reference.wolfram.com/language/Quaternions/tutorial/Quaternions.html | ||
+ | |||
+ | === Excercise03 "Differential Equations” === | ||
+ | * Analitical solution of ODE | ||
+ | * Runge-Kuta method | ||
+ | <!-- | ||
+ | * Assigment | ||
+ | **[[media:uloha_dif_rov.pdf|uloha_dif_rov.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/ | ||
+ | ***[[Media:Derivative.pdf|derivative.pdf]] | ||
+ | ***[[Media:Diferencialne rovnice.pdf|diferencialne_rovnice.pdf]] | ||
+ | ***[[Media:explicit_midpoint.pdf|explicit_midpoint.pdf]] | ||
+ | ***[[Media:system_ode.pdf|system_ode.pdf]] | ||
+ | ***http://terpconnect.umd.edu/~petersd/246/matlabode.html | ||
+ | ***https://computing.llnl.gov/casc/nsde/pubs/u113855.pdf | ||
+ | * Wolfram Mathematica https://reference.wolfram.com/language/ref/NDSolve.html | ||
+ | * 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 | ||
+ | ***[[media:Position based Dynamics.pdf|Position based Dynamics.pdf]] | ||
+ | ***https://www.cs.toronto.edu/~jacobson/seminar/mueller-et-al-2007.pdf | ||
+ | <!-- | ||
+ | * Assigment | ||
+ | **prepare presentation (deadline see Attendance table) | ||
+ | --> | ||
+ | |||
+ | === 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 | ||
+ | --> | ||
+ | === Excercise06 "Collision Detection" === | ||
+ | *GJK Algorithm https://www.youtube.com/watch?v=ajv46BSqcK4 | ||
+ | *https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects | ||
+ | |||
+ | === Excercise07 "Separating Axis Theorem” === | ||
+ | *Principal Components Analysis | ||
+ | * Assigment | ||
+ | **Uloha_SAT on MS Teams (deadline see Attendance table) | ||
+ | **resources: | ||
+ | ***[[media:principal_components.pdf|principal_components.pdf]] | ||
+ | ***[[media:sat.pdf|sat.pdf]] | ||
+ | ***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 | ||
+ | |||
+ | === Excercise08 "Rigid body Dynamics” === | ||
+ | *Rigid body Dynamics | ||
+ | <!-- | ||
+ | * Assigment | ||
+ | **[[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 | ||
− | |||
− | |||
− |
Aktuálna revízia z 12:47, 22. august 2024
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 What you Need to Pass
- 1.2.1 Oral / Written Examination
- 1.2.2 Lesson01 "Introduction to Computer Animation"
- 1.2.3 Lesson02 "Basic methods in Computer Animation"
- 1.2.4 Lesson03 "Particle Systems"
- 1.2.5 Lesson04 "Soft bodies, Cloths and hair”
- 1.2.6 Lesson05 "Broad Phase Collision Detection"
- 1.2.7 Lesson "All Saints' Day (no lesson)"
- 1.2.8 Lesson06 "Mid Phase Collision Detection"
- 1.2.9 Lesson07 "Narrow Phase Collision Detection"
- 1.2.10 Lesson08 "Rigid body Dynamics”
- 1.2.11 Lesson09 "Rigid body Collisions and Joints”
- 1.2.12 Lesson10 "Fluid, Fire and Smoke”
- 1.2.13 Lesson11 "Final term"
- 2 EXCERCISES
- 2.1 Excercise01 "Introductions”
- 2.2 Excercise02 "Quaternion Interpolation”
- 2.3 Excercise03 "Differential Equations”
- 2.4 Excercise04 "Position based Dynamics”
- 2.5 Excercise05 "Particles”
- 2.6 Excercise06 "Collision Detection"
- 2.7 Excercise07 "Separating Axis Theorem”
- 2.8 Excercise08 "Rigid body Dynamics”
- 2.9 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
What you Need to Pass
- Attend lessons. All lessons attended is +0 points. Four and more lectures missed you missed the course Fx.
- Solve all homework problems (mandatory each one >=30%, 60 points). All homework assignments must be solved in Wolfram Mathematica or the online version of Wolfram Cloud. Submit the assignment solutions to MS Teams.
- Pass written Final term exam (mandatory each one >=30%, 30 points), no retakes. Realtime problem solution in Wolfram Mathematica or Wolfram Cloud.
- 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 Fx)
- Homework = +60..+18 or 12..0 (or Fx)
- Excercises = +10..0
- Final term = (better than Fx) +30..0
- Optional oral exam = +20..0
- Grades RESULTS
- A = 92-100, B = 84-91, C = 76-83, D = 68-75, E = 60-67, Fx = 0-59
- Register online to MS Teams Teams Teams code: 1himkdt
Oral / Written Examination
To the oral examination, all the above requirements must be SATISFACTORILY completed. Moodle
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
- State examination: S1 Animácie pohybu a orientácie, nearest neighbor, lineárna interpolácia, interpolačný spline na animáciu pohybu, Kubická Bézierova interpolačná krivka, C1 spojitosť kompozície kriviek.
- State examination: S2 Quaternion a orientácia, os rotácie a uhol, reprezentácia quaterniónom, rotácia v priestore pomocou quaterniónov, inverzný quaternión, kompozícia rotácie dvoch quaterniónov, interpolácia SLERP (Sférická lineárna interpolácia), interpolácie dvoch a viacerých quaternionov, Catmull-Rom interpolácia.
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
- State examination: S4 Numerické riešenie diferenciálnych rovníc, ODE prvého rádu separovateľné, Rovnice pohybu prvého rádu rýchlosť, zrýchlenie, Eulerova metóda, MidPoint 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
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
- State examination (Lesson 5,6,7): S3 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca 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
- State examination (Lesson 9): S5 Dynamika tuhých telies, definícia problému, Pozícia, ťažisko a orientácia telesa, rovnice pohybu (4 ODE), rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica hybnosti (matica inercie) matica hybnosti pre guľu, pevný kváder, posunutý kváder.
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
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 "Introductions”
- Vectors
- Matrices
- Linear interpolation
- WOLFRAM NOTEBOOK [1]
- https://www.wolfram.com/language/fast-introduction-for-programmers/en/interactive-usage/
- resources:
Excercise02 "Quaternion Interpolation”
- Euler angles
- Complex numbers and rotations
- resources:
- quaternion1.pdf
- kvaternion2.pdf
- http://run.usc.edu/cs520-s15/quaternions/quaternions-cs520.pdf
- example.pdf
- http://www.academia.edu/4095904/Quaternion_calculus_as_a_basic_tool_in_computer_graphics
- https://www.youtube.com/watch?v=d4EgbgTm0Bg
- https://reference.wolfram.com/language/Quaternions/tutorial/Quaternions.html
- resources:
Excercise03 "Differential Equations”
- Analitical solution of ODE
- Runge-Kuta method
- https://www.youtube.com/watch?v=p_di4Zn4wz4
- https://emboliform.wordpress.com/test-page/solving-differential-equations-numerically-with-octave/
- derivative.pdf
- 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 https://reference.wolfram.com/language/ref/NDSolve.html
- 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
Excercise05 "Particles”
- modeling particles
Excercise06 "Collision Detection"
- GJK Algorithm https://www.youtube.com/watch?v=ajv46BSqcK4
- https://www.toptal.com/game/video-game-physics-part-ii-collision-detection-for-solid-objects
Excercise07 "Separating Axis Theorem”
- Principal Components Analysis
- Assigment
- Uloha_SAT on MS Teams (deadline see Attendance table)
- resources:
Excercise08 "Rigid body Dynamics”
- Rigid body Dynamics
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