MP4: Animation in OpenGL

Assigned: Tuesday, April 14, 2009

Due: Thursday, April 30, 11:59pm, 2009


In this project, you'll be implementing hierarchical modeling and particle animation discussed in class. After completing this project, you should have learned: For this MP, you may use the code you wrote for MP2. You do not necessarily need to preserve all features of MP2. For instance, you can restrict camera motion to be always parallel to a ground plane, as in a walk-through. Although using GLSL you learned from MP3 may greatly improve the performance of your animation system, it is not required for this MP. You can implement everything in the OpenGL fixed pipeline if you find it easier to program.

Requirements

All students must implement the following required features.

[30 points] Hierarchical Modeling and Animation

Create a hierarchical model and animate it. Your hierarchy should have at least 3 levels of relative motion (e.g., (1) shoulder (2) elbow and (3) wrist rotation). You have two different choices for your hierarchical model. You can either implement a solar system with a hierarchy of planets orbiting ( for example, the earth orbits the sun, and the moon orbits the earth ). Or you can create an articulated figure ( for example, robot arms ).

[30 points] Particle System Animation

Create a physically-based animation using the particle system approach. The system should satisfy the following requirements :


[20 points]
Linear Spring Dynamics

Extend your particle system to create an elastic object (e.g., a Jell-O cube) by connecting several point masses together with networked linear springs with damping. Each spring should be characterized by a spring constant and a rest length.  Damping is required.
[10 points]
Wow ! This looks great !

[10 points] Code Design and Documentation
Your code should be well designed and well written. It should be easy to follow the logic of your program. A readme file should explain the features and special instructions ( if any ) to run your code.

Tips and hints

Handing in your Project

Important: Follow all handin instructions carefully. You may lose most or all points for failure to follow these instructions or if you do not hand in all required files.

You must turn in the following files:

To actually turn in your finished project, follow the hand-in instructions that we have provided.

Grading

Code-sharing, working together with peers, and copying code from other sources are only allowed under restricted conditions. Make sure you read the code-sharing policy for details.

Significant reductions will be imposed for projects that do not compile. If a project is handed in late, there will be a 20 percent reduction for every 24-hour period after the deadline.