CSCE 441 – Computer Graphics

Assignment 6 [due by 12/8/2010]

Thisassignmentconsistsoftwoparts. [200 points]

Part I: [75 points] Motion data capture

Students will work as a group and each group should have two students. Each group needs to capture a variety of stylistic walking motions using the 12-camera vicon motion capture system installed in HRBB 505.By the Wednesday (Nov. 24), each group should come to HRBB 505 and schedule a motion capture session withthe TA.

Grading:

1. [30 points] Capturing stylistic walking motions.

-In the motion capture session, one student will work as a mocap subject and another student will work as a mocap operator.The mocap operator will be instructed on how to attach the markers on the subject as well as how to run the mocap system to capture the performance of the subject. Make sure that you do not miss any markers and put all the markers in the right place.

-You are required to capture and animate at least five different human actions, including walking, running, jumping, stylized walking, etc. After each trial, the TAs will commentthe quality of the recorded capture motion. Make sure that you capture at least 3 acceptable motion files for each walking style.

2. [25 points] using vicon mocap software to reconstruct the captured data and export the mocap dataas .c3d files.

3. [10 points] Converting .c3d files to .amc files and .asf fileswith vicon mocap software. You need to submit both .asf and .amc files.

4. You might earn extra points if you can capture and create some cool animations. Use your imagination!

Part II: [125 points] Keyframe interpolation for human-body animation

1. You need to write a program that does the following:

- Allow the user to select several frames in one AMC file as keyframes or key poses. You also need to record the time of each key frame.

- Display all key poses.

- Implement the Catmull-Rom algorithm to interpolate poses for in-between frames.

- Display interpolated motions. To evaluate the quality of interpolated motions, you can compare interpolated motions with the original .amc files.

- Write a ReadMe file. The ReadMe file should describe how to specify key frames and how to play interpolated animations.

2. Grading:

- keyframe selection [10 points]

- keyframe display [5 points]

- keyframe interpolation correct [100 points]

- interpolated animation visualization [10 points]

3. To help you finish your homework, we provide you skeleton code:

The program uses OpenGL library to visualize motion capture data (.asf and .amc files). It also uses the FLTK library ( ) for interface programming. The sample test motion files are put in the “Test Data” sub directory. You can download more mocap data files from the CMU online mocap database:

The “instruction.txt” shows you how to compile the code with Microsoft visual studio. The Class “Explain.doc” shows an overview of every C++ class. To know more details of the code, read the comments in the code.

Note that:

  1. The function “void Display::show()” draws a character pose based on the input joint angle values. The traverse function draws the character pose in a tree structure.
  2. You can put your interpolation routine in the function: void interpolate_callback(Fl_Button *button, void *).
  3. The function “int Motion::readAMCfile(char* name, float scale)” reads an input .amc file. A scale factor is used for scaling the translation data. The default scale factor is 0.6. See the code line: #define MOCAP_SCALE 0.06