The goal of this homework is to develop algorithms for animating shape changes and applying them to your object. You can use either the explicit vertex transformations of Barr (i.e., taper, twist, bend) or the more general coordinate space transformations found in Free-Form Deformation (FFD).
The Barr transforms are generally specified by indicating the type of transform, the dimension that will control the transform, and a parameter indicating the magnitude of the transform (e.g., how much twist to impart or how gradual or extreme the tapering will be). The animation can be a linear interpolation from the starting shape to the final magnitude (i.e., the degree or magnitude will go from 0 to whatever maximum value you give it).
The specification for Free-Form Deformation (you can assume a single hyperpatch) will involve the movement of one or more of the 64 control points. For this assignment you can assume a straight line motion of the moving control points, with linear interpolation to generate the individual frames.
Requirements:
The homework is due at midnight on Tuesday, April 5.
For this project you can extend your code from earlier projects or start from scratch.
You will submit a zip or tar file containing all of the source code, a Makefile and a README file. The source code must compile (and run) on a CCC machine. Feel free to develop on any platform you like, just make sure things run on a CCC machine before submitting. Submissions that do not compile or run successfully will not be graded and will be given 0 points.
The README file should contain an extensive description of what you are handing in, the layout of your code ( a discussion of the overall algorithm). It should also include instructions on compiling and running your program. This README file will count towards your grade. Submissions without a README or submissions with a worthless README will lose significant points.
Submittal will be made using myWPI.
Each homework assignment is graded on a 10 point scale 6 points will be graded for functionality: the program does what the assignment requests. 2 points will be based on documentation in the README, and 2 points will be based on the quality of your design and coding style. Click here for details on the grading policy. This homework is worth 15% of your homework grade.
You will lose 10 percent per day for handing the assignment in late. The late penalty will increment at noon each day.
Since a grade of 0 will be given if the code does not compile and run, it is in your best interest not to submit anything until you have completely tested and evaluated what you have written.