• EN

# 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

## 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
• A = 92-100, B = 84-91, C = 76-83, D = 68-75, E = 60-67, Fx = 0-59
• Register online to MS Teams Teams Teams code: 1himkdt

### Oral / Written Examination

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

### Lesson01 "Introduction to Computer Animation"

• Introduction to Computer Animation
• Common animation techniques
• Cutting edge tools and packages
• Gurus and the State of the Art
• Lecture schedule
• "Terms and conditions" of this lecture
• Lecture notes: lesson01.pdf

### Lesson02 "Basic methods in Computer Animation"

• Problem definition and motivations
• Key-framing and parameter interpolation
• Quternions, orientation
• Skeleton and skinning animation
• Forward and inverse kinematics
• Procedural techniques
• (Motion capture)
• Lecture notes: lesson02.pdf
• State examination: S1 Animácie pohybu a orientácie, nearest neighbor, lineárna interpolácia, interpolačný spline na animáciu pohybu, Kubická Bézierova interpolačná krivka, C1 spojitosť kompozície kriviek.
• State examination: S2 Quaternion a orientácia, os rotácie a uhol, reprezentácia quaterniónom, rotácia v priestore pomocou quaterniónov, inverzný quaternión, kompozícia rotácie dvoch quaterniónov, interpolácia SLERP (Sférická lineárna interpolácia), interpolácie dvoch a viacerých quaternionov, Catmull-Rom interpolácia.

### Lesson03 "Particle Systems"

• Newton dynamics of particles
• Ordinary differential equation (ODE) solver
• Particle - obstacle collision detection
• Practical design of particle system
• Demos / tools / libs
• Lecture notes: lesson03.pdf
• State examination: S4 Numerické riešenie diferenciálnych rovníc, ODE prvého rádu separovateľné, Rovnice pohybu prvého rádu rýchlosť, zrýchlenie, Eulerova metóda, MidPoint metóda, Runge-Kuta metóda, podmienka stability na voľbu časového kroku.

### Lesson04 "Soft bodies, Cloths and hair”

• Problem definition and motivations
• Modeling solids with stress and strain
• Extending Mass-spring model for cloth and ropes
• Massive (self) collision and resolution for cloths
• Mesh-less deformations
• Modeling solids with infinitely stiff springs
• Demos / tools / libs
• Lecture notes: lesson04.pdf

### Lesson05 "Broad Phase Collision Detection"

• Problem definition and motivations
• Hierarchical grids and spatial hashing
• Sweep and prune and radix sort
• Pair management – a practical guide
• Demos / tools / libs
• Lecture notes: lesson05.pdf

• No lesson

### Lesson06 "Mid Phase Collision Detection"

• Problem definition and motivations
• Generic Bounding Volume Hierarchy (BVH)
• Tandem BVH traversal
• Proximity evaluation of primitive geometries
• External Voronoi regions
• Sphere x Capsule x Box x triangle collisions
• Approximate convex decomposition
• Lecture notes: lesson06.pdf

### Lesson07 "Narrow Phase Collision Detection"

• Problem definition and motivations
• Proximity queries for convex objects (Minkowski space)
• GJK based algorithms (GJK, EPA, ISA-GJK)
• Voronoi-Clip (V-Clip) Algorithm
• Signed Distance Maps for collision detection
• Demos / tools / libs
• Lecture notes: lesson07.pdf
• State examination (Lesson 5,6,7): S3 Detekcie kolízie, nutná a postačujúca podmienka kedy nie sú dve telesá v kolízii, deliaca rovina, broad phase (hierachycká mriežka), mid phase (hierarchie obálok, Voronoiove oblasti v kolízii, vysvetlujte na príklade kolízie gula x kapsula, dekompozícia telesa na konvexné časti), narrow phase (Minkowskeho priestor a blízkosť konvexných telies).

### Lesson08 "Rigid body Dynamics”

• Problem definition and motivations
• Dynamics of rigid bodies
• The equation of unconstrained motion (ODE)
• User and time control
• Mass properties of polyhedral objects
• Demos / tools / libs
• Lecture notes: lesson08.pdf
• State examination (Lesson 9): S5 Dynamika tuhých telies, definícia problému, Pozícia, ťažisko a orientácia telesa, rovnice pohybu (4 ODE), rýchlosť, zrýchlenie, uhľová rýchlosť a uhľové zrýchlenie, matica hybnosti (matica inercie) matica hybnosti pre guľu, pevný kváder, posunutý kváder.

### Lesson09 "Rigid body Collisions and Joints”

• Problem definition and motivations
• Simplified collision model
• Impulse based collision equation
• Friction-less collision resolution
• Algebraic collision resolution for Coulomb friction
• Linear and angular joint formulations
• Demos / tools / libs
• Lecture notes:lesson09.pdf

### Lesson10 "Fluid, Fire and Smoke”

• Problem definition and motivations
• Navier-Stokes equations for fluid dynamics
• Grid based MAC method
• Particle based SPH method
• Neighbor search for coupled particles
• Modeling smoke and fire with fluid
• Demos / tools / libs
• Lecture notes: lesson10.pdf

### Lesson11 "Final term"

• Don't panic - just few simple questions

# EXCERCISES

• Your presence at the seminar is optional.
• On every seminar we will focus on the selected problems from lessons. We will use the numerical methods to solve specific problems.

• resources:

### Excercise04 "Position based Dynamics”

• proving the distance constraint formulae
• resources

### Excercise07 "Separating Axis Theorem”

• Principal Components Analysis
• Assigment