Physical-based Animations and Mathematical Modeling Material: Rozdiel medzi revíziami

 
(69 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených)
Riadok 1: Riadok 1:
 
[[File:ca10_lesson01.png|link=#Lectures]]
 
[[File:ca10_lesson01.png|link=#Lectures]]
 +
= Physical based Animations and Mathematical Modelling (Course Materials) =
 +
__TOC__
  
 
This lecture ...
 
This lecture ...
Riadok 18: Riadok 20:
  
 
== D-E-A-D-L-I-N-E-S ==
 
== D-E-A-D-L-I-N-E-S ==
* Written exam (optional): <b>deadline 19.1.2014, 8:00, classroom A</b>
+
* Animators team (Axx): <b>deadline 14.12.2015 the last lecture</b>
** Instead of (optional) oral exam, you can get (-20 ... +20) points due to a written exam.
+
** Show your animation, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx.  
** It will be similar to final term, but less complicated.
+
* Coders team (Cxx): <b>deadline 17.12.2015 the last exercise</b>
* Coders (Cxx): <b>deadline 26.1.2015</b>
+
** Show the short DEMO of your project, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx.
** 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.
+
* 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.)  
 +
**Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose.
 
** If you send it earlier you can get feedback how to improve your application
 
** If you send it earlier you can get feedback how to improve your application
* Animators (Axx): <b>deadline 26.1.2015</b>
+
* Animators team (Axx): <b>deadline 26.1.2016</b>
** Upload your animation video on youtube (or some alternative online service)
+
** 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.
** Send to onderik@sccg.sk link to your animation (link to youtube)
+
** 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
 
** 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 +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 missed is Fx.
* Show your project (mandatory, 60 points) See later.
+
* Show your project (mandatory, 60 points). See later.
* Solve all homework problems (mandatory each one >=30%, 30 points)
+
* Solve all homework problems (mandatory each one >=30%, 40 points)
* 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 (Fx)
** Homework = +30..10 or +10..0 (Fx)
+
** Homework = +40..+12 or 12..0 (Fx)
 
** Project = +60..0  
 
** Project = +60..0  
** Final term = +10..0
+
** Oral/written exam optional = +20..0
** Oral/written exam = +20..-20
+
  
 
* Grades
 
* Grades
** A = 92-130
+
** A = 92-100
 
** B = 84-91
 
** B = 84-91
 
** C = 76-83
 
** C = 76-83
 
** D = 68-75
 
** D = 68-75
 
** E = 60-67
 
** E = 60-67
** Fx = 0-49
+
** Fx = 0-59
 +
 
 +
* '''[https://docs.google.com/spreadsheets/d/1qLjrRDJcDR3TAiJYGO6ns1_eE1Rd1395TKixDtwKXPM/edit?usp=sharing VIEW RESULTS]'''
 +
 
 +
=== Oral Examination ===
 +
To the oral examination all the above requirements must be SATISFACTORILY completed.
 +
 
 +
== How to Arrange your Project ==
 +
 
 +
* Take 1 friend and Team up
 +
* Role1: The Coder
 +
** Choose a given animation algorithm
 +
** Code up hot demo app and show it
 +
** Present a selected research paper
 +
* Role2: The Artist
 +
** Choose some authoring tool and create hot physically based demo reel
 +
** Present a selected research paper
 +
** Prepare a written report, at least 2 A4 pages, on the topic of state exam question.
 +
* Projects with minimal requirements: [[media:Projects.pdf|Projects.pdf]]
 +
 
 +
* Teams fill the '''[https://docs.google.com/forms/d/1rgo9uNlc1AhvSCjpi9OXtB6C3dewOByfVzwQ1pZKrNY/viewform?usp=send_form form]''' (names and project): <b>deadline 5.10.2015</b> Submit a link to created web page with project description or animation story board where you write your progress, continually.
 +
----
  
* '''[https://docs.google.com/spreadsheet/ccc?key=0AguOJecPQwoSdFhRaXF2Y012SGc4OWZzZDRrWFRzM0E&usp=drive_web#gid=0 VIEW RESULTS]'''
 
  
 
=== 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 62: Riadok 89:
 
* Lecture schedule
 
* Lecture schedule
 
* "Terms and conditions" of this lecture
 
* "Terms and conditions" of this lecture
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/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 74: Riadok 101:
 
* Procedural techniques
 
* Procedural techniques
 
* (Motion capture)
 
* (Motion capture)
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/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, interpolačný spline na animáciu pohybu, splinu podľa dĺžky krivky, quaternion a orientácia, interpolácie dvoch a viacerých quaternionov.
  
  
 
=== Lesson03 "Particle Systems" ===
 
=== Lesson03 "Particle Systems" ===
[[File:ca10_lesson03.png|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 85: Riadok 112:
 
* Practical design of particle system
 
* Practical design of particle system
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/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: S2 Numerické riešenie diferenciálnych rovníc, Eulerova metóda, MidPoint metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku, sily odozvy (response forces).
  
  
 
=== Lesson04 "Soft bodies, Cloths and hair” ===
 
=== Lesson04 "Soft bodies, Cloths and hair” ===
[[File:ca10_lesson11.png|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 98: Riadok 125:
 
* Modeling solids with infinitely stiff springs
 
* Modeling solids with infinitely stiff springs
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson11.pdf lesson11.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.
+
* Štátnicová téma (Lesson 3,4): S3 Časticové systémy, rovnice pohybu prvého rádu, integračné metódy na výpočet rýchlosti a pozície, stavový vektor systému, vonkajšie sily, obmedzujúce podmienky – constraints, sily odozvy, kolízie častica - rovina.
  
  
 
=== Lesson05 "Broad Phase Collision Detection" ===
 
=== Lesson05 "Broad Phase Collision Detection" ===
[[File:ca10_lesson04.png|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 109: Riadok 136:
 
* Pair management – a practical guide
 
* Pair management – a practical guide
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson04.pdf lesson04.pdf]
+
* Lecture notes: [[media:ca15_lesson05.pdf|lesson05.pdf]]
 +
<!--* Assigment 3: [[media:ca10_assigmentlesson05.pdf|assigment3.pdf]]-->
 +
 
 +
 
 +
=== Lesson "All Saints' Day (no lesson)" ===
 +
[[File:ca10_lesson07.png]]
 +
* No lesson
  
  
 
=== Lesson06 "Mid Phase Collision Detection" ===
 
=== Lesson06 "Mid Phase Collision Detection" ===
[[File:ca10_lesson05.png|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 121: Riadok 154:
 
** Sphere x Capsule x Box x triangle collisions
 
** Sphere x Capsule x Box x triangle collisions
 
* Approximate convex decomposition
 
* Approximate convex decomposition
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson05.pdf lesson05.pdf]
+
* Lecture notes: [[media:ca15_lesson06.pdf|lesson06.pdf]]
 +
<!--* Assigment 4: [[media:ca10_assigmentlesson06.pdf|assigment4.pdf]]-->
  
  
 
=== Lesson07 "Narrow Phase Collision Detection" ===
 
=== Lesson07 "Narrow Phase Collision Detection" ===
[[File:ca10_lesson06.png|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 132: Riadok 166:
 
* Signed Distance Maps for collision detection
 
* Signed Distance Maps for collision detection
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson06.pdf lesson06.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): S4 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v rovina, broad phase (hierachycká mriežka), mid phase (hierarchie obálok, Voronoiove oblasti v kolízii, vysvetlujte na príklade kolízie gula x kapsula, dekompozícia telesa na konvexné časti), narrow phase (Minkowskeho priestor a blízkosť konvexných telies).
 
+
=== Lesson08 "All Saints' Day (no lesson)" ===
+
[[File:ca10_lesson07.png]]
+
* No lesson
+
  
  
=== Lesson09 "Rigid body Dynamics” ===
+
=== Lesson08 "Rigid body Dynamics” ===
[[File:ca10_lesson08.png|link=http://www.sccg.sk/~onderik/phd/ca2010/ca10_lesson08.pdf]]
+
[[File:ca10_lesson08.png]]
 
* Problem definition and motivations
 
* Problem definition and motivations
 
* Dynamics of rigid bodies
 
* Dynamics of rigid bodies
Riadok 148: Riadok 178:
 
* Mass properties of polyhedral objects
 
* Mass properties of polyhedral objects
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/ca10_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).
  
  
=== 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 160: Riadok 191:
 
* Linear and angular joint formulations
 
* Linear and angular joint formulations
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes:[http://www.sccg.sk/~onderik/phd/ca2010/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 172: Riadok 203:
 
* Modeling smoke and fire with fluid
 
* Modeling smoke and fire with fluid
 
* Demos / tools / libs
 
* Demos / tools / libs
* Lecture notes: [http://www.sccg.sk/~onderik/phd/ca2010/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.
 +
 +
=== Excercise01 "Key Framing” ===
 +
* '''[https://www.youtube.com/watch?v=CFFhgutjZQk Blender demo]'''
 +
* Blender https://www.blender.org/
 +
 +
=== Excercise02 "Quaternion Interpolation” ===
 +
* Assigment
 +
**[[media:uloha1.pdf|uloha1.pdf]] (deadline 8.10.)
 +
**resources:
 +
***[[media:catmull-rom.pdf|catmull-rom.pdf]]
 +
***http://run.usc.edu/cs520-s15/quaternions/quaternions-cs520.pdf
 +
***http://www.academia.edu/4095904/Quaternion_calculus_as_a_basic_tool_in_computer_graphics
 +
* Blender tutorial for skeleton modelling
 +
** rigging https://www.youtube.com/watch?v=mJwWTKt12ak
 +
 +
=== Excercise03 "Differential Equations” ===
 +
* Analitical solution of ODE
 +
* Runge-Kuta method
 +
* Assigment
 +
**[[media:uloha2.pdf|uloha2.pdf]] (deadline 22.10.)
 +
**resources:
 +
***[[media:diferencialne_rovnice.pdf|diferencialne_rovnice.pdf]]
 +
***http://terpconnect.umd.edu/~petersd/246/matlabode.html
 +
* Wolfram Mathematica http://mathworld.wolfram.com/
 +
* FreeMat http://freemat.sourceforge.net/index.html
 +
* Matlab tutorial http://www.tutorialspoint.com/matlab/index.htm
 +
 +
=== Excercise04 "Position based Dynamics” ===
 +
* proving the distance constraint formulae
 +
**resources
 +
***[[media:Position based Dynamics.pdf|Position based Dynamics.pdf]]
 +
* Assigment
 +
**prepare presentation (deadline 29.10.)
 +
 +
=== Excercise05 "Particles” ===
 +
*modeling particles
 +
**resources
 +
***https://www.youtube.com/watch?v=azXFwQWXjyQ
 +
 +
=== Excercise06 "STAR reports” ===
 +
*STAR reports and paper presentations
 +
**animation resources
 +
***[[media:production.pdf|production.pdf]]
 +
***https://www.youtube.com/playlist?list=PL-bOh8btec4CXd2ya1NmSKpi92U_l6ZJd
 +
 +
=== Excercise07 "Separating Axis Theorem” ===
 +
*Principal Components Analysis
 +
* Assigment
 +
**[[media:uloha3.pdf|uloha3.pdf]] (deadline 26.11.)
 +
**resources:
 +
***http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf
 +
***http://www.sosmath.com/matrix/eigen2/eigen2.html
 +
***https://www.scss.tcd.ie/Rozenn.Dahyot/CS1BA1/SolutionEigen.pdf
 +
 +
===RESOURCES===
 +
*Roman Ďurikovič, Vladimír Ďurikovič. Numerical Mathematics for Computer Science (in Slovak Numerická matematika pre informatika, Riešené príklady v programe MATHEMATICA).  ISBN 978-80-8105-271-2, University of Saint Cyril and Metod Press, Trnava, Slovakia, pages 162, 2011. https://www.researchgate.net/publication/256681458_Numerick_matematika_pre_informatika_Rieen_prklady_v_programe_MATHEMATICA

Aktuálna revízia z 10:47, 13. november 2015

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

Student Projects

D-E-A-D-L-I-N-E-S

  • Animators team (Axx): deadline 14.12.2015 the last lecture
    • Show your animation, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx.
  • Coders team (Cxx): deadline 17.12.2015 the last exercise
    • Show the short DEMO of your project, how far have you made it. It should be 30% of the work done, otherwise your team gets Fx.
  • Coders team (Cxx): deadline 26.1.2016
    • Create a web page where you write your progress, upload source code, executable, images description of your project and short manual.
    • Send link to finished application (zipped source + executable.)
    • Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose.
    • If you send it earlier you can get feedback how to improve your application
  • Animators team (Axx): deadline 26.1.2016
    • Create a web page where you write your progress, upload animation, source of animation, images description of your project and describe all physical effects to be evaluated.
    • Upload your animation video on youtube (or some alternative online service)
    • Send link to your webpage
    • If you send it earlier you can get feedback how to improve your animation
  • Oral/written exam (optional): deadline 18.1.2016, 8:00, classroom A
    • Instead of (optional) oral exam, you can get (0..+20) points due to a written exam.
    • It will be similar to final term, but less complicated.

What you Need to Pass

  • Attend lessons. All lessons attended is +0 points. Four and more missed is Fx.
  • Show your project (mandatory, 60 points). See later.
  • Solve all homework problems (mandatory each one >=30%, 40 points)
  • Pass oral/written exam: (optional, +0 .. +20 points) If you feel you are better, convince me ! You can get +20 points max.
  • Summary
    • Attendance = +0 or -100 (Fx)
    • Homework = +40..+12 or 12..0 (Fx)
    • Project = +60..0
    • Oral/written exam optional = +20..0
  • Grades
    • A = 92-100
    • B = 84-91
    • C = 76-83
    • D = 68-75
    • E = 60-67
    • Fx = 0-59

Oral Examination

To the oral examination all the above requirements must be SATISFACTORILY completed.

How to Arrange your Project

  • Take 1 friend and Team up
  • Role1: The Coder
    • Choose a given animation algorithm
    • Code up hot demo app and show it
    • Present a selected research paper
  • Role2: The Artist
    • Choose some authoring tool and create hot physically based demo reel
    • Present a selected research paper
    • Prepare a written report, at least 2 A4 pages, on the topic of state exam question.
  • Projects with minimal requirements: Projects.pdf
  • Teams fill the form (names and project): deadline 5.10.2015 Submit a link to created web page with project description or animation story board where you write your progress, continually.


Lesson01 "Introduction to Computer Animation"

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, interpolačný spline na animáciu pohybu, splinu podľa dĺžky krivky, quaternion a orientácia, interpolácie dvoch a viacerých quaternionov.


Lesson03 "Particle Systems"

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: S2 Numerické riešenie diferenciálnych rovníc, Eulerova metóda, MidPoint metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku, sily odozvy (response forces).


Lesson04 "Soft bodies, Cloths and hair”

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
  • Štátnicová téma (Lesson 3,4): S3 Časticové systémy, rovnice pohybu prvého rádu, integračné metódy na výpočet rýchlosti a pozície, stavový vektor systému, vonkajšie sily, obmedzujúce podmienky – constraints, sily odozvy, kolízie častica - rovina.


Lesson05 "Broad Phase Collision Detection"

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): S4 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v rovina, broad phase (hierachycká mriežka), mid phase (hierarchie obálok, Voronoiove oblasti v kolízii, vysvetlujte na príklade kolízie gula x kapsula, dekompozícia telesa na konvexné časti), narrow phase (Minkowskeho priestor a blízkosť konvexných telies).


Lesson08 "Rigid body Dynamics”

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, rovnice pohybu (4 ODE), rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica hybnosti (matica inercie).


Lesson09 "Rigid body Collisions and Joints”

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 "Key Framing”

Excercise02 "Quaternion Interpolation”

Excercise03 "Differential Equations”

Excercise04 "Position based Dynamics”

Excercise05 "Particles”

Excercise06 "STAR reports”

Excercise07 "Separating Axis Theorem”

RESOURCES