• EN

# Department of Applied Informatics

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

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

• Written exam (optional): deadline 19.1.2014, 8:00, classroom A
• 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.
• Coders (Cxx): deadline 26.1.2015
• 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 (Axx): deadline 26.1.2015
• Create a web page where you write your progress, upload animation, source of animation, images description of your project and all physical effects to be evaluated.
• Upload your animation video on youtube (or some alternative online service)
• If you send it earlier you can get feedback how to improve your animation

## 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.
• Show your project (mandatory, 60 points) See later.
• Solve all homework problems (mandatory each one >=30%, 30 points)
• Pass final term (mandatory, 10 points) You will need to solve several problems discussed during lessons.
• 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
• Attendance = +10..0 or -100 (Fx)
• Homework = +30..10 or +10..0 (Fx)
• Project = +60..0
• Final term = +10..0 (> 30%)
• Oral/written exam = +20..-20
• A = 92-100
• B = 84-91
• C = 76-83
• D = 68-75
• E = 60-67
• Fx = 0-59

## 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
• Role2: The Artist
• Choose some authoring tool and create hot physically based demo reel
• Projects: Projects.pdf

### 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
• Š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.

### 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
• Š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.

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

• 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
• Assigment 3: assigment3.pdf

### 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
• Assigment 4: assigment4.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
• Š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).

• No lesson

### Lesson09 "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
• Š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.

### Lesson10 "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

### Lesson11 "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

### Lesson12 "Final term"

• Don't panic - just few simple questions

SEMINARS

• On every seminar we will implement selected problems from lessons. We will use software Mathematica to solve specific numerical problems.

RESOURCES