(212 intermediate revisions by 2 users not shown)
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 9: 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 ==
[http://ukapra.php5.sk/index.php?id=proj-mmca Ráno do práce]
+
* Animácia [https://www.youtube.com/watch?v=j1wR1LN_fU4 Hunger]
[http://www.st.fmph.uniba.sk/~palenikova12/gsvm/mmafp.html The_good_the_bad]
+
* 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]
[http://amigo.sk/www/kiwi/ Web] [http://www.youtube.com/watch?v=DFqMc8JZPA8 KiWi]
+
* 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]
[http://www.st.fmph.uniba.sk/~vidlickova6/stranka/progres.html Web] [http://www.youtube.com/watch?v=pXXa0C74IJk&feature=youtu.be ]
+
* 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]
== D-E-A-D-L-I-N-E-S ==
+
* Written exam (optional): <b>deadline 19.1.2014, 8:00, classroom A</b>
+
** 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.
+
* Scientists (Pxx): <b>deadline 23.1.2010</b>, session: <b>24.1.2010 - 28.1.2010</b>
+
** Choose presentation date [https://spreadsheets.google.com/viewform?formkey=dHFVa3dHNm1BYlZ0bUFuV0FPVWlFTXc6MQ HERE]
+
** Send to onderik@sccg.sk finished presentation (zipped pdf)
+
** Attend presentation session and present your topic
+
** If you send it earlier you can get feedback how to improve your presentation
+
* Coders (Cxx): <b>deadline 30.1.2011</b>
+
** 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): <b>deadline 30.1.2011</b>
+
** 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 ==
 
== 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.
+
* Attend lessons. All lessons attended is +0 points. Four and more lectures missed you missed the course Fx.
* Show your project (mandatory, 60 points) See later.
+
* 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.
* Solve all homework problems (mandatory each one >=30%, 30 points)
+
* Pass written Final term exam (mandatory each one >=30%, 30 points), no retakes. Realtime problem solution in Wolfram Mathematica or Wolfram Cloud.
* Pass final term (mandatory, 10 points) You will need to solve several problems discussed during lessons.
+
* 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, +/-20 points) If you feel you are better, convince me ! You can get +20 points or loose -20 points.
+
 
* Summary
 
* Summary
** Attendance = +10..0 or -100 (Fx)
+
** Attendance = +0 or -100 (or Fx)
** Homework = +30..10 or +10..0 (Fx)
+
** Homework = +60..+18 or 12..0 (or Fx)
** Project = +60..0  
+
** Excercises = +10..0  
** Final term = +10..0
+
** Final term = (better than Fx) +30..0  
** Oral/written exam = +20..-20
+
** Optional oral exam = +20..0
 +
 
 +
* Grades '''[https://docs.google.com/spreadsheets/d/1VFDhtsyvrSIyTcAOuQeWbZYVXYTNyPL8GxDf3jQnIwY/edit#gid=0 RESULTS]'''
 +
** 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 / Written Examination ===
 +
To the oral examination, all the above requirements must be SATISFACTORILY completed. '''[https://moodle.uniba.sk/course/view.php?id=2165 Moodle ]'''
 +
 
 +
<!--== 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
 +
* 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: [[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.
 +
-->
 +
----
 +
 
 +
 
 +
=== Lesson01 "Introduction to Computer Animation" ===
 +
[[File:ca10_lesson01.png]]
 +
* 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: [[media:ca15_lesson01.pdf|lesson01.pdf]]
 +
 
 +
 
 +
=== Lesson02 "Basic methods in Computer Animation" ===
 +
[[File:ca10_lesson02.png]]
 +
* 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: [[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.
 +
 
 +
 
 +
=== Lesson03 "Particle Systems" ===
 +
[[File:ca10_lesson03.png]]
 +
* Newton dynamics of particles
 +
* Ordinary differential equation (ODE) solver
 +
* Particle - obstacle collision detection
 +
* Practical design of particle system
 +
* Demos / tools / libs
 +
* 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.
 +
 
 +
 
 +
=== Lesson04 "Soft bodies, Cloths and hair” ===
 +
[[File:ca10_lesson11.png]]
 +
* 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: [[media:ca15_lesson04.pdf|lesson04.pdf]]
 +
 
 +
 
 +
=== Lesson05 "Broad Phase Collision Detection" ===
 +
[[File:ca10_lesson04.png]]
 +
* 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: [[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" ===
 +
[[File:ca10_lesson05.png]]
 +
* 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: [[media:ca15_lesson06.pdf|lesson06.pdf]]
 +
<!--* Assigment 4: [[media:ca10_assigmentlesson06.pdf|assigment4.pdf]]-->
 +
 
 +
 
 +
=== Lesson07 "Narrow Phase Collision Detection" ===
 +
[[File:ca10_lesson06.png]]
 +
* 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: [[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]]
 +
* 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: [[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]]
 +
* 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:[[media:ca15_lesson09.pdf|lesson09.pdf]]
 +
 
 +
 
 +
=== Lesson10 "Fluid, Fire and Smoke” ===
 +
[[File:ca10_lesson10.png]]
 +
* 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: [[media:ca16_lesson10.pdf|lesson10.pdf]]
 +
 
 +
 
 +
=== Lesson11 "Final term" ===
 +
[[File:ca10_lesson12.png]]
 +
* 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.
 +
 
 +
<!--
 +
=== 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
  
* Grades
+
=== Excercise08 "Rigid body Dynamics” ===
** A = 92-130
+
*Rigid body Dynamics
** B = 84-91
+
<!--
** C = 76-83
+
* Assigment
** D = 68-75
+
**[[media:domaca-uloha-4.pdf|domaca-uloha.pdf]] (deadline see Attendance table)
** E = 60-67
+
-->
** Fx = 0-49
+
  
* '''[https://docs.google.com/spreadsheet/ccc?key=0AguOJecPQwoSdFhRaXF2Y012SGc4OWZzZDRrWFRzM0E&usp=drive_web#gid=0 VIEW RESULTS]'''
+
===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 21:03, 26. november 2023

Ca10 lesson01.png

Physical based Animations and Mathematical Modelling (Course Materials)

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

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"

Ca10 lesson01.png

  • 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"

Ca10 lesson02.png

  • 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"

Ca10 lesson03.png

  • 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”

Ca10 lesson11.png

  • 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"

Ca10 lesson04.png

  • 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)"

Ca10 lesson07.png

  • No lesson


Lesson06 "Mid Phase Collision Detection"

Ca10 lesson05.png

  • 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"

Ca10 lesson06.png

  • 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”

Ca10 lesson08.png

  • 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”

Ca10 lesson09.png

  • 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”

Ca10 lesson10.png

  • 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"

Ca10 lesson12.png

  • 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”

Excercise02 "Quaternion Interpolation”

Excercise03 "Differential Equations”

Excercise04 "Position based Dynamics”

Excercise05 "Particles”

Excercise06 "Collision Detection"

Excercise07 "Separating Axis Theorem”

Excercise08 "Rigid body Dynamics”

  • Rigid body Dynamics

RESOURCES