I read this paper 2 months ago, and I have to admit I didn't understand a word. The second time, it was a totally different experience. For some reason, the paper was surprisingly easy to follow I really liked it. This showed me I really learned a lot during this course. Anyway, this should be a summary of the paper, not my diary. :) so, here we go. The idea is quite innovative. Assuming, we can physically model the behavior of a certain character, we can let the animator specify what he wants to happen (e.g. I want the ball to bounce to this exact height at this frame. Or, I want the lamp to be in mid-air in this frame). The overall result of the method, is that it will find us a *physically-correct* animation that satisfies the constraints. (for example, just constraining that the lamp should be in mid air at a certain frame will automatically make the lamp prepare for the jump, and make the correct jump). The way this is achieved is through transforming the whole thing to a non-linear program. We discretize the time and we write the discrete version of the equations. Now, we have a non-linear program. The beauty of it is that it is also a very sparse program. This is because in physics, we go as far as working with the second derivative, which only depends on one previous point and one subsequent point. All other values in that row will simply be zero. The authors solved this program using SQP, which simply models the non-linear program as a series of approximations, each one of them is a quadratic program (we use Taylor exapansion to approximate the non-linear program to a quadratic program). The idea is pretty innovative. The only problem is of course, writing the physical equations for the character. This is extremely hard. Even though, the authors used several methods to automate this, still writing those equations is far from being an easy task. The point not covered in the papar is how to choose how many steps to discretize into! This is not very clear to me. Clearly having too many steps will not give a bad result, but would be very slow. Having a few steps can lead to physically-incorrect behavior. I would have loved to see how to choose the timestep. Do they also have to be uniform? Or can we pick irregular time steps? These are all questions not answered!