CSC 533B      Topics in Computer Graphics:      Algorithmic Animation

Course Projects, January 2003

Teaching Agents to Drive
Asher Lipson

A probabilistic model approach is taken to solving the problem of an agent driving on a race track and dodging obstacles. The model uses game logs from humans driving on the race track in order to try and get the agent to emulate human-like play. Results are presented for the agent driving the same track that humans drove on as well as for the agent driving on a different track.
Simulation of a Standing Jump
Dan Xiao

The aim of this project is to add control to a 2D simulator and then simulate the dynamics (forces, torques) of human’s vertical jump. Due to the time limit, in this project, I only simulate vertical jumping. Cyclic pose control graphs are used and the method for choosing the jump parameters are discussed, followed by a summary of the results.
Dynamics of a Floating Object
Ken Deeter

The simple goal of this project was to build a dynamics simulator that models the interaction of solid objects with water (or other liquids). Although there has been much work in the areas of simulating rigid body dynamics, as well as water, there has not been a significant amount studying the interaction of the two. Only the most complex of commercial particle system simulators provide support for modeling the complicated interaction between solid objects, with non-solid fluids.
Variability in Walking Cycles
Dana Sharon

In this project, I have implemented a method for introducing variability into a 2D walk cycle. Starting with an initial cycle, the animator can create alternative poses for each of the keyframes. While animating, the animator can toggle back and forth between the different pose options. Since animation sequences are created in real time, each animation session may result in a unique and possibly interesting motion.
Rigid Body Simulation
Fang Gao

In this project, I implemented a rigid body simulator. My focus is to simulate the accurate contacts and responses among multiple moving rigid bodies. I use Baraff's analytical approach. It consists of four main critical steps: how to detect all contact points, how to deal with the colliding contact and the resting contact, and the implementation of a fast solver in order to compute the rest force. Friction is not included in this project.
3D Spring and Damper Simulation
Fred Kimberley

A major problem that can occur when working with systems of springs, dampers and point masses is a stiff system of equations. I implement a backward Euler solver for my system based on the methods described by Baraff and Witkin. This approach uses a Taylor series expansion of the force vector to achieve a first order approximation.
Motion Doodles for Quadrupeds
Claus Beringer and Karl Matthias Hamel

This project presents a technology that enables an untrained user to draw and animate a quadruped in tens of seconds. The system recognizes a quadruped drawn by a user and creates a skeleton from the sketch. Following a few simple rules the user is able to draw the movement she wants the quadruped to do. The system will parse the sketch and interpret it to let the quadruped walk, jump, trot, gallop or sit. To do all of this the system uses several techniques to understand the drawings, as well as key framing, controller based animation and inverse kinematics to animate the quadruped.
Creature Builder
Helen Li

The goal of this project is to create a tool that allows users create their own moving creature of periodic motions by defining its body structures and attributes. This idea came from the two paper, "Virtual Wind-up Toys" and "Sensor-Actuator Networks", and the SodaPlay mass-spring creature builder (
3-D Physics-Based Interaction
Matt Williams

Motions generated by human interaction in a physics-based simulation can produce realistic motions. The guiding question for this research was whether a user can coordinate more DOFs than was attempted in the previous research. The increased input DOFs can provide the user with more control and provide an increased sense of embodiment only if she is capable of competently manipulating them. The implementation presented here shows promising results, as users were capable of generating many different motions for various 3-dimensional figures using up to 6 simultaneous continuous DOFs.
Spring Net Controllers for Articulated Figures
Ken Alton

Simulation is a good way of creating physically realistic computer animations. The trouble is creating controllers for characters to perform useful motions under the mandate of the laws of physics. The periodic dynamic of a network of springs makes it a natural choice for a periodic motion controller. The controllers are optimized for movement speed using a combination of random generation, hand selection of useful motions, and artificial evolution. Several interesting methods of locomotion are discovered for each creature.
Spacetime Constraints
Lin Zhong

Spacetime constraints are a physical-based method for creating character animation. The solution to this problem is a physically valid motion satisfying the "what" constraints and optimizing the "how" criteria. I experiment as examples a simple accelerate particle and discuss the solution for a swing pendulum and a luxo lamp.
Crowd Simulator
Rod McFarland

A Java application was developed to explore the dynamics of movements of large collections of independently moving agents. The simulation is highly geometry-based. Much effort was spent in making the interface pleasant to use. The result is an amusing "toy" application with potential for future development.
Human Walking Control
Peng Zhao

How to control a creature’s muscles in order to obtain a desired motion is a great challenge to computer animation. The goal of my project is to synthesize a controller for dynamical simulation of walking. Starting from some very simple human motions, such as quiet standing, I implemented the control strategies that can keep balance for a 3D human model. These strategies were finally used on the controlling of complicated motions, such as crouching and walking.
Keyframing with Puppets
Xiaojing Wu

This project addresses the difficulty of keyframing. Model based computer vision techniques is utilized to aid in automatic model parameter generation of human figure models. Instead of trying-and-testing with unintuitive body configuration parameters, an animator will focus on animation itself rather than on learning and fighting with conventional animation tools. This is a good illustration of how computer vision techniques could potentially aid in efficient computer animation generation.
Motion compression using PCA combined with high-degree polynomial regression
Vadym Voznyuk

Motion data storage is an important issue in video games. Thus far only the simple techniques, such as delta compression, have been employed. In this project we present a simple framework for more advanced compression methods. Our work introduces a notion of compression pipeline as a chain of data processing modules. By combining low-pass filtering, principal component analysis and polynomial regression, we can achieve substantial data compression, although not without some drawbacks.