(Excercise07 "Separating Axis Theorem”)
 
(10 intermediate revisions by 2 users not shown)
Line 41: Line 41:
 
** Fx = 0-59
 
** Fx = 0-59
  
* '''[https://docs.google.com/spreadsheets/d/1JS_ICQv73QpPuyiZ_l7D0E-eKWJG4ToYl_H4xDE_GTw/edit?usp=sharing 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 / Written Examination ===
 
=== Oral / Written Examination ===
Line 92: Line 93:
 
* (Motion capture)
 
* (Motion capture)
 
* Lecture notes: [[media:ca15_lesson02.pdf|lesson02.pdf]]
 
* Lecture notes: [[media:ca15_lesson02.pdf|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.
+
* Š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.
  
  
Line 103: Line 105:
 
* Demos / tools / libs
 
* Demos / tools / libs
 
* Lecture notes: [[media:ca15_lesson03.pdf|lesson03.pdf]]
 
* Lecture notes: [[media:ca15_lesson03.pdf|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).
+
* Š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.
  
  
Line 116: Line 118:
 
* Demos / tools / libs
 
* Demos / tools / libs
 
* Lecture notes: [[media:ca15_lesson04.pdf|lesson04.pdf]]
 
* Lecture notes: [[media:ca15_lesson04.pdf|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.
 
  
  
Line 128: Line 129:
 
* Lecture notes: [[media:ca15_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)" ===
 
=== Lesson "All Saints' Day (no lesson)" ===
Line 157: Line 157:
 
* Demos / tools / libs
 
* Demos / tools / libs
 
* Lecture notes: [[media:ca15_lesson07.pdf|lesson07.pdf]]
 
* Lecture notes: [[media:ca15_lesson07.pdf|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 kolízii, 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).
+
* Š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).
  
  
Line 169: Line 169:
 
* Demos / tools / libs
 
* Demos / tools / libs
 
* Lecture notes: [[media:ca15_lesson08.pdf|lesson08.pdf]]
 
* Lecture notes: [[media:ca15_lesson08.pdf|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).
+
* Š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.
  
  
Line 208: Line 208:
 
*On every seminar we will focus on the selected problems from lessons. We will use the numerical methods to solve specific problems.
 
*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” ===
 
=== Excercise00 "Key Framing” ===
 
* '''[https://www.youtube.com/watch?v=CFFhgutjZQk Blender demo]'''
 
* '''[https://www.youtube.com/watch?v=CFFhgutjZQk Blender demo]'''
Line 217: Line 217:
 
** rigging https://www.youtube.com/watch?v=mJwWTKt12ak
 
** rigging https://www.youtube.com/watch?v=mJwWTKt12ak
 
** motion capture database https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/daz-friendly-release
 
** motion capture database https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/daz-friendly-release
 
+
-->
  
 
=== Excercise01 "Introductions” ===
 
=== Excercise01 "Introductions” ===
Line 225: Line 225:
 
* Linear interpolation
 
* Linear interpolation
 
<!--*WOLFRAM DEVELOPMENT PLATFORM [https://develop.open.wolframcloud.com/app/]-->
 
<!--*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/
 
* https://www.wolfram.com/language/fast-introduction-for-programmers/en/interactive-usage/
  
Line 234: Line 235:
  
 
* Assigment
 
* Assigment
**[[media:uloha1B.pdf|uloha1.pdf]] (deadline see Attendance table)
+
**[[media:uloha1C.pdf|uloha1.pdf]] (deadline see Attendance table)
***HINT: If SLERP does not work, use linear interpolation.
+
  
 
* Euler angles
 
* Euler angles
Line 252: Line 252:
 
* Runge-Kuta method
 
* Runge-Kuta method
 
* Assigment
 
* Assigment
**[[media:uloha2Chaotic.pdf|uloha_diferencialne.pdf]] (deadline see Attendance table)
+
**[[media:uloha_dif_rov.pdf|uloha_dif_rov.pdf]] (deadline see Attendance table)
 
**resources:
 
**resources:
 
***https://www.youtube.com/watch?v=p_di4Zn4wz4
 
***https://www.youtube.com/watch?v=p_di4Zn4wz4
Line 270: Line 270:
 
**resources
 
**resources
 
***[[media:Position based Dynamics.pdf|Position based Dynamics.pdf]]
 
***[[media:Position based Dynamics.pdf|Position based Dynamics.pdf]]
 +
***https://www.cs.toronto.edu/~jacobson/seminar/mueller-et-al-2007.pdf
 
<!--
 
<!--
 
* Assigment
 
* Assigment
Line 291: Line 292:
 
*Principal Components Analysis
 
*Principal Components Analysis
 
* Assigment
 
* Assigment
**[[media:uloha3.pdf|uloha_SAT.pdf]] (deadline see Attendance table)
+
**[[media:Uloha3MMAFP___SAT___matematicke_modelovanie_2022.pdf|uloha_SAT.pdf]] (deadline see Attendance table)
 
**resources:
 
**resources:
 
***[[media:principal_components.pdf|principal_components.pdf]]
 
***[[media:principal_components.pdf|principal_components.pdf]]

Latest revision as of 09:47, 24 November 2022

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 "STAR reports”

Excercise07 "Separating Axis Theorem”

Excercise08 "Rigid body Dynamics”

RESOURCES