Posts from the “Animation” Category

NLP Reading List

Creation of Computer Animation from Story Descriptions by Kenneth Michael Kahn

This thesis, is a piece of art! It properly addresses the beauty of mathematics and corrects the bias of it from the real world. As for animation, the idea of animating via pure movements means something connected to human intuition.

Favorite quote:

Popular views of mathematics, including the one that informs mathematical education in our schools, exaggerate its logical face and devalue all connections with everything else in human experience. By doing so, they fail to recognize the resonances between mathematics and total human being which are responsible for mathematical pleasure and beauty.

Seymour Paper [Paper 1978] p. 104

Fun discovery:

The Dot and the Line: A Romance in Lower Mathematics

by Chuck Jones and Les Goldman

Steps to Implement Motion Transitions with Spacetime Constraints

I think it would be nice to make anthropomorphic transitions between a few basis motions. So here is the paper I am referring:

Efficient Generation of Motion Transitions using Spacetime Constraints
Charles Rose, Brian Guenter, Bobby Bodenheimer, Michael F. Cohen

Note: every symbol presented in this post can be found in the original paper.

The meat of the idea is described in section 3.1 and 3.2. As what I understood, the joint angles during the transition of support limbs are controlled with inverse kinematics constraints, and other limbs are with spacetime constraints. Here I list the steps to compute the joint angles during the transitions of unsupport limbs.

Basic definitions

Objective function to be minimized:


Gradient of the objective function:


Pseudo-Hessian Matrix, H, is updated with the gradient g.

New step direction:



For each iteration:

Check whether the iteration converges with the sum of the magnitude of the joint torques.

If the objective function converges: exit the iteration.

Else update the joint angles for all the joints.

For each frame t:

Compute velocities, accelerations, net torques, and forces at each joint starting from the root node and working out to the tips of all the chains in the tree. (Appendix A.2)

Compute the joint torques starting from the tips of the chains back to the root node. (Appendix A.3)

Compute gradient. (Appendix A.4)

Update pseudo-Hessian. (TBD)

Update new step direction.

Update the joint angles in current frame with the new step direction.

Sum up the magnitude of the joint torques.


Sum up the magnitude of the joint torques.


Bvh file Player in OpenGL

I found this blog very helpful about describing bvh file parsing and have successfully built my own bvh file player with OpenGL.

One important tip not mentioned in the blog is to use GL_LINES as the kind of primitive to draw when calling glDrawElements with indices and the vertex buffer object.

Here is the screen shot: (the motion capture data is from cmu mocap database)