Submission date: Wednesday, 4/24/19, 23:59




Develop and implement a surface remeshing tool. Base it on everything you learned in class and any additional papers you read. You can start with the list here.




1.      Write down an overview of the algorithm you plan to use and submit it by  Thursday April 4. It should  include the main approach and the description of the tools you plan to use. Use email ( or Piazza to submit your overview.

2.      Implement your method and test it on the standard set of example inputs (sphere, cow, bunny, etc). Your code should be able to use/create meshes of up to 10K triangles in reasonable time.

3.      Develop a user friendly API and an effective visualization mechanism for your algorithm.  The user should be able to give a number of the elements they want in the final mesh and perhaps a few additional parameters your algorithm might require.

4.      After your implementation is complete write a report describing you final algorithm and showing both basic and non-trivial examples of remeshing performed by your method.

5.      There will be a demo session for the entire class for you to demo/discuss your projects (date/time TBD based on student feedback).





1.      You should implement an implicit or explicit remesher of your choice (either based on parameterization or on local operations). You can use any external codes you wish (as long as they do not do the remeshing themselves), such as codes for mesh parameterization, 2-D Delaunay triangulation, linear/non-linear solvers, curvature computation, and so on. Document clearly what external codes you use.  

2.      Visualize the quality of the mesh before and after the remeshing, using, e.g., minimal angle per triangle.  You do not need to measure how well the remeshed model approximates the input, but please pay attention to visual assessment of the approximation quality (distances and normals).

3.      Provide a README explaining clearly how to run your method and activate all the different features it has.

4.      The project can be done in pairs. In this case provide a clear breakdown of who did what. The system complexity should in that case reflect the double effort.

5.      There will be a bonus for the best remesher an potentially for the runners up.




Use the handin software handin your project code and report. The syntax is "handin cs-524 pr".

Do not forget to include a README file with your name and instructions explaining how to run the code.

All assignments should be handed in by Wednesday, 4/24/19, at 23:59.

No late submissions will be accepted.




In addition to a face to face demo for the TA and myself all students will present their projects to the class (location/date TBD). For the presentation you should prepare a slide-deck with your problem statement, motivation, method, and results.