This course covers the core technologies required to model and simulate motions for digital humans and robotic characters. Topics include kinematic modeling, physics-based simulation, trajectory optimization, reinforcement learning, feedback control for motor skills, motion capture, data-driven motion synthesis, and ML-based generative models. They will be richly illustrated with examples.



Students will learn how to estimate human pose, shape, and motion from videos and create basic human avatars from various visual inputs. Students will also learn how to represent and algorithmically generate motions for digital characters and their real-life robotic counterparts. The lectures are accompanied by four programming assignments (written in python or C++) and a capstone project.



- Basic concept of 3D representations
- Human body/hand models
- Human motion capture;
- Non-​rigid surface tracking and reconstruction
- Neural rendering
- Optimal control and trajectory optimization
- Physics-based modeling for multibody systems
- Forward and inverse kinematics
- Rigging and keyframing
- Reinforcement learning for locomotion


Lecture Notes

Lecture recordings and slides will be available on moodle



Experience with python and C++ programming, numerical linear algebra, multivariate calculus and probability theory. Some background in deep learning, computer vision, physics-based modeling, kinematics, and dynamics is preferred.



IMPORTANT: In case you don’t want to complete this course, please deregister by May 1st. Deregistration after the deadline will lead to fail.

LecturerProf. Dr. Stelian CorosProf. Dr. Siyu Tang

Dongho Kang

Dr. Sergey Prokudin (Head TA)

Miguel Angel Zamora (Head TA)

Fatemeh Zargarbashi

Dr. Yan Zhang 

Kaifeng Zhao

Location and Time


Wed    14:15-16:00    HG E 1.2

Thu    10:15-11:00    CAB G 61


Thu    16:15-18:00   ETF E1



Lecture recordings and slides will be available on moodle

ECTS Credits8
Exam40% mandatory assignments and 60% final project presentation and report




WeekDate (Wed 14-​16pm)Date (Thu 10-​11am)Topic
021-​Mar2-​MarInverse Kinematics, Motion Capture, etc.
038-​Mar9-​MarOptimal Control, Trajectory Optimization, etc.
0415-​Mar16-​MarReinforcement Learning and policy gradients methods
0522-​Mar23-​MarParametric body/hand models
0629-​Mar30-​MarHuman motion estimation
075-​Apr6-​AprGenerative Models (Human motion synthesis)
0919-​Apr20-​AprNeural Fields in Visual Computing (Human avatar reconstruction)
1026-​Apr27-​AprProject presentation
113-​May4-​MayNo lecture 
1210-​May11-​MayGuest lecture: Prashanth Chandran 
1317-​May18-​MayGuest lecture: Rafael Wampfler
1424-​May25-​MayGuest lecture: Barbara Solenthaler
1531-​May1-​JunProject presentation



WeekDate (16pm-​18pm)Topic
0123-​FebGetting started with the codebase
022-​MarAssignment 1 out
039-​MarAssignment 1 Q&A + Intro to using Euler cluster
0416-​MarAssignment 2 out
0523-​MarLISST tutorial/multiview
0630-​MarAssignment 3 out
076-​AprPyTorch 3D & Project announcement
0820-​AprAssignment 4 out & Final project overview
1027-​AprOffice hours for projects
114-​MayOffice hours for projects
1211-​MayOffice hours for projects
1318-​MayOffice hours for projects
1425-​MayOffice hours for projects
151-​JunOffice hours for projects