(Excercise06 Collision Detection)
(170 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 ==
* Stránka [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]
* Stránka [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]
* Stránka [http://amigo.sk/www/kiwi/ Kiwi] Animácia [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]
* Stránka [http://www.st.fmph.uniba.sk/~vidlickova6/stranka/progres.html Knihy] 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://www.st.fmph.uniba.sk/~franta2/ca.html Motorka]
+
* 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 ==
+
* 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.
+
**Send link to finished application (zipped source + executable.)
+
** If you send it earlier you can get feedback how to improve your application
+
* 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 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): <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 +0 points. Four and more missed 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)
* Solve all homework problems (mandatory each one >=30%, 40 points)
+
* Pass written Final term exam (mandatory each one >=30%, 30 points), no retakes. Realtime problem solution in Wolfram Mathematica or Wolfram Alpha.
 
* 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 = +40..+12 or 12..0 (Fx)
+
** Homework = +60..+18 or 12..0 (or Fx)
** Project = +60..0  
+
** Excercises = +10..0
** Oral/written exam optional = +20..0
+
** Final term = (better than Fx) +30..0  
 +
** Optional oral exam = +20..0
  
 
* Grades
 
* Grades
Riadok 53: Riadok 41:
 
** Fx = 0-59
 
** Fx = 0-59
  
* '''[https://docs.google.com/spreadsheets/d/1qLjrRDJcDR3TAiJYGO6ns1_eE1Rd1395TKixDtwKXPM/edit?usp=sharing VIEW RESULTS]'''
+
* '''[https://docs.google.com/spreadsheets/d/1FrV0g1rqiLCdC-ta7dmMNTBy8ZUN-LaF1HDSnCOtF6I/edit?usp=sharing RESULTS]'''
 +
* In case of online lecture connect 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
* Role2: The Artist
+
** Prepare a written report, at least 2 A4 pages, on the topic of state exam question.
** Choose some authoring tool and create hot physically based demo reel
+
* Role2: The Artist Team
** Present a selected research paper
+
** Choose some authoring tool
* Projects with minimal requirements: [[media:Projects.pdf|Projects.pdf]]
+
** Create hot physically based demo reel
 
+
** Present a selected research paper or tutorial
* Teams fill the '''[https://docs.google.com/forms/d/1rgo9uNlc1AhvSCjpi9OXtB6C3dewOByfVzwQ1pZKrNY/viewform?usp=send_form form]''' (names and project): <b>deadline 5.10.2015</b>
+
** 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" ===
 
=== Lesson01 "Introduction to Computer Animation" ===
[[File:ca10_lesson01.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson01.pdf]]
+
[[File:ca10_lesson01.png]]
 
* Introduction to Computer Animation
 
* Introduction to Computer Animation
 
* Common animation techniques
 
* Common animation techniques
Riadok 82: Riadok 80:
 
* Lecture schedule
 
* Lecture schedule
 
* "Terms and conditions" of this lecture
 
* "Terms and conditions" of this lecture
* Lecture notes: [[media:ca10_lesson01.pdf|lesson01.pdf]]
+
* Lecture notes: [[media:ca15_lesson01.pdf|lesson01.pdf]]
  
  
 
=== Lesson02 "Basic methods in Computer Animation" ===
 
=== Lesson02 "Basic methods in Computer Animation" ===
[[File:ca10_lesson02.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson02.pdf]]
+
[[File:ca10_lesson02.png]]
 
* Problem definition and motivations
 
* Problem definition and motivations
 
* Key-framing and parameter interpolation
 
* Key-framing and parameter interpolation
Riadok 94: Riadok 92:
 
* Procedural techniques
 
* Procedural techniques
 
* (Motion capture)
 
* (Motion capture)
* Lecture notes: [[media:ca10_lesson02.pdf|lesson02.pdf]]
+
* Lecture notes: [[media:ca15_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: 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.
 +
* Štátnicová téma: 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" ===
 
=== Lesson03 "Particle Systems" ===
[[File:ca10_lesson03.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson03.pdf]]
+
[[File:ca10_lesson03.png]]
 
* Newton dynamics of particles
 
* Newton dynamics of particles
 
* Ordinary differential equation (ODE) solver
 
* Ordinary differential equation (ODE) solver
Riadok 105: Riadok 104:
 
* Practical design of particle system
 
* Practical design of particle system
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [[media:ca10_lesson03.pdf|lesson03.pdf]]
+
* 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: 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” ===
 
=== Lesson04 "Soft bodies, Cloths and hair” ===
[[File:ca10_lesson11.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson11.pdf]]
+
[[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 118: Riadok 117:
 
* Modeling solids with infinitely stiff springs
 
* Modeling solids with infinitely stiff springs
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [[media:ca10_lesson04.pdf|lesson04.pdf]]
+
* 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 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|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson04.pdf]]
+
[[File:ca10_lesson04.png]]
 
* Problem definition and motivations
 
* Problem definition and motivations
 
* Hierarchical grids and spatial hashing
 
* Hierarchical grids and spatial hashing
Riadok 129: Riadok 127:
 
* Pair management – a practical guide
 
* Pair management – a practical guide
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [[media:ca10_lesson05.pdf|lesson05.pdf]]
+
* 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" ===
[[File:ca10_lesson05.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson05.pdf]]
+
[[File:ca10_lesson05.png]]
 
* Problem definition and motivations
 
* Problem definition and motivations
 
* Generic Bounding Volume Hierarchy (BVH)
 
* Generic Bounding Volume Hierarchy (BVH)
Riadok 141: Riadok 144:
 
** 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:ca10_lesson06.pdf|lesson06.pdf]]
+
* 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" ===
[[File:ca10_lesson06.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson06.pdf]]
+
[[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 152: Riadok 156:
 
* Signed Distance Maps for collision detection
 
* Signed Distance Maps for collision detection
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [[media:ca10_lesson07.pdf|lesson07.pdf]]
+
* Lecture notes: [[media:ca15_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): 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 "All Saints' Day (no lesson)" ===
 
[[File:ca10_lesson07.png]]
 
* No lesson
 
  
 
+
=== Lesson08 "Rigid body Dynamics” ===
=== Lesson09 "Rigid body Dynamics” ===
+
[[File:ca10_lesson08.png]]
[[File:ca10_lesson08.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson08.pdf]]
+
 
* Problem definition and motivations
 
* Problem definition and motivations
 
* Dynamics of rigid bodies
 
* Dynamics of rigid bodies
Riadok 168: Riadok 168:
 
* Mass properties of polyhedral objects
 
* Mass properties of polyhedral objects
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [[media:ca10_lesson08.pdf|lesson08.pdf]]
+
* 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ť a uhľové zrýchlenie, matica inercie.
+
* Štátnicová téma (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.
 +
 
  
=== Lesson10 "Rigid body Collisions and Joints” ===
+
=== Lesson09 "Rigid body Collisions and Joints” ===
[[File:ca10_lesson09.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson09.pdf]]
+
[[File:ca10_lesson09.png]]
 
* Problem definition and motivations
 
* Problem definition and motivations
 
* Simplified collision model
 
* Simplified collision model
Riadok 180: Riadok 181:
 
* Linear and angular joint formulations
 
* Linear and angular joint formulations
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes:[[media:ca10_lesson09.pdf|lesson09.pdf]]
+
* Lecture notes:[[media:ca15_lesson09.pdf|lesson09.pdf]]
  
  
=== Lesson11 "Fluid, Fire and Smoke” ===
+
=== Lesson10 "Fluid, Fire and Smoke” ===
[[File:ca10_lesson10.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson10.pdf]]
+
[[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 192: Riadok 193:
 
* Modeling smoke and fire with fluid
 
* Modeling smoke and fire with fluid
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [[media:ca10_lesson10.pdf|lesson10.pdf]]
+
* Lecture notes: [[media:ca16_lesson10.pdf|lesson10.pdf]]
  
=== Lesson12 "Final term" ===
+
 
 +
=== 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.
 +
 +
<!--
 +
=== 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: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
 +
**[[media:Uloha3MMAFP___SAT___matematicke_modelovanie_2022.pdf|uloha_SAT.pdf]] (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
  
SEMINARS
+
=== Excercise08 "Rigid body Dynamics” ===
*On every seminar we will implement selected problems from lessons. We will use software Mathematica to solve specific numerical problems.
+
*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.  
+
*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
*Wolfram Mathematica http://www.wolframalpha.com/
+
*Matlab tutorial http://www.tutorialspoint.com/matlab/index.htm
+
*FreeMat http://freemat.sourceforge.net/index.html
+

Verzia zo dňa a času 15:33, 19. január 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)
  • Pass written Final term exam (mandatory each one >=30%, 30 points), no retakes. Realtime problem solution in Wolfram Mathematica or Wolfram Alpha.
  • 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
    • A = 92-100
    • B = 84-91
    • C = 76-83
    • D = 68-75
    • E = 60-67
    • Fx = 0-59
  • RESULTS
  • In case of online lecture connect 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
  • Štátnicová téma: 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.
  • Štátnicová téma: 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
  • Štátnicová téma: 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
  • Štátnicová téma (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
  • Štátnicová téma (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


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 "Introductions”

Excercise02 "Quaternion Interpolation”

  • Assigment

Excercise03 "Differential Equations”

Excercise04 "Position based Dynamics”

Excercise05 "Particles”

Excercise06 "Collision Detection"

Excercise07 "Separating Axis Theorem”

Excercise08 "Rigid body Dynamics”

RESOURCES