CMSC 435/634: Introduction to Computer Graphics

Assignment 6
Due December 9, 2014

The Assignment

For this assignment, you will start with your OpenGL code for assignment 4, or my code (in the "Walk" directory in your repository). While the user is walking around the scene, you should record their position (x/y) and view orientation every second. When the user hits the "r" key, you will play back a smoothed version of the path they walked over the past five seconds using Catmull-Rom spline interpolation. Do not worry about the final partial second (so your final position will not quite reach your location when you pressed "r").

Since Catmull-Rom splines need additional samples before and after the path, you will repeat the first point twice (to give a starting velocity of zero) and repeat the last point twice (to give an ending velocity of zero).

Required for 634

Each time the user presses the "x" key, record the position, direction, and time. Construct a new non-uniform spline using the Catmull-Rom rules for endpoint position and velocity, but with using the actual recorded time values recorded t=0 and t=1 for the start and end time of each segment. Your project should run all the way to the end position when the user pressed "r", since you can deal with non-uniform control point spacing.

What to turn in

Turn in this assignment electronically by pushing your source code to your assn6 GIT directory by 11:59 PM on the day of the deadline. We will be looking for multiple checkins documenting your development process.

As always, double check that you have submitted everything we need to build and run your submission, but no generated files (.o's, executables, or images). Be sure to include a readme.txt file telling us about your assignment. Do not forget to tell us what (if any) help did you receive from books, web sites or people other than the instructor and TA.

Be sure to include the details of the system you used for the assignment in your README in case we have problems.