CS3451: Project 2

1) Go to the demos page and study Flow Shape and the Fairing programs. Provide an image of a curve that you have designed in each one of these programs and summarize what each program does, how its functionality is implemented, and what that functionality could be used for.

2) Use flow shape to experiment with various combinations of refinement, and smoothing steps and invent a new subdivision scheme that is different from the ones discussed in the handout. Give it a name. Implement it by extending Flow Shape so that the subdivided curve is updated according to your scheme when you are holding the z-key pressed. (The behavir would be similar to what the y-key does now, but with your scheme instead.) Explain in details what your subdivision does and how you have implemented it. State what are its advantages over the other schemes, and show a couple of images illustrating these advantages.

3) Using the result C of your subdivision, when the user presses the Z-key, your program should resample the C curve so that it has half the vertex count and the vertices are distributed uniformly along C (constant arc-length distance). Right now, the d-key does a similar vertex-reduction, but it takes out one vertex out of two. Show your resampling by painting the new vertices as colored dots. The user should be able to press Z more than once, reducing the vertex count by two each time, and interleave this operation with the other refinement and smoothing operations already supported by that program.

Deliver via a P2 link on your PPP.