The assignment is to write a program that performs Mesh Fairing. Your program will read a file in a simplified obj format and write an obj file of a smoothed mesh. Your program should support the following usage:
./smoothing input.obj output.obj stepsize niterations
For 50 additional points, implement implicit integration (command line option -i eps). eps is a small constant error threshold used by the linear solver. A simple LinearSolver package is in ~adamb/public/LinearSolver. implicit.cpp is some sample code to use the conjugate gradient solver assuming a Laplacian operator has been defined.
For 15 additional points, implement global volume preservation (command line option -v).
For 50 additional points, implement Loop subdivision (command line option -s number_of_subdivision_passes).
Turn in this assignment electronically by pushing your source code to your proj4 GitHub 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 Makefile that will build your project when we run 'make', and 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.