How do you create realistic animations? How do you predict the motion of materials? It’s key to the success of animated films to ensure (was insure) audiences believe in characters.
This course will show you how to create lifelike animations focusing on the technical aspects of CGI animation and also give you a glimpse into how studios approach the art of physically-based animation.
You will learn the fundamental concepts of physical simulation, including:
integration of ordinary differential equations such as those needed to predict the motion of a dress in the wind.
formulation of models for physical phenomena such as crumpling sheet metal and flowing water.
treatment of discontinuities such as fractures and collisions.
simulation of liquids and solids in both Lagrangian and Eulerian coordinates.
artistic control of physically-based animations.
These concepts will be put into practice in the programming assignments spanning:
Discretizing and integrating Newton’s equations of motion
Constrained Lagrangian Mechanics
Collisions, contact, and friction: detection and response
Rigid body simulation
Thin shell and cloth simulation
Elastic rod and hair simulation
The coursework will focus on seven themes. Each theme is divided into weekly assignments, or "milestones." Each milestone will include successful implementation of new technical features, and an artistic scene that demonstrates these features.
Theme 01: Mass-spring systems, in which you will implement point masses, gravity, springs, dampers, time integrators (explicit Euler, symplectic Euler, linearized implicit Euler).
Theme 02: Collision handling, in which you will implement detection against fixed obstacles (discs, half-planes, polygonal objects), response against fixed obstacles (using reflection with a coefficient of restitution, and penalty methods), advanced pairwise detection between polygonal objects, and broad-phase accelerations using spatial hashing and hierarchical bounding volumes.
Theme 03: Rigid bodies, in which you will implement computations of center of mass and moment of intertia for polygonal objects, time integration for rigid bodies, and contact with fixed obstacles.
Theme 04: Elastica, in which you will implement the constant strain finite element, a discrete bending force for polygonal objects, and plastic and viscous flow.
Theme 05: Fluids, in which you will implement a fast and stable fluid simulation including advection, convection, and viscosity, in an Eulerian framework.
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.
The course took much more time than the 8-10 hours per week advertised. Only a handful of us completed it, and the others had an experience similar to mine. It is unsuitable as a part-time MOOC that can be combined with full-time work. The course is technically and intellectually challenging, putting it at the right level for a postgraduate course in computer science. However, the basic problem is that scope of the work is too broad. No matter what one's skills as a computer scientist, there is too much project work to complete in a reasonable amount of time.
On the plus side, Professor Grinspun explains clearly and in an interesting way the concepts and methods that he is teaching. It combines a solid theoretical approach with thoroughly practical computational methods and one can imagine being able to put the whole thing to use in a practical production setting.