Project:
Remesher
Submission date: Wednesday, 5/1/24, 23:59
Objective:
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
Tasks:
-
Write down an overview of the algorithm you plan to use and submit it
by Friday Nov 19. It should include the main approach and the description
of the tools you plan to use. Use email (sheffa@cs.ubc.ca) or Piazza to submit your overview.
-
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.
-
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.
-
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.
-
There will be a demo session for the entire class for you to demo/discuss your
projects (date/time TBD based on student feedback).
Instructions:
-
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.
-
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).
-
Provide a README explaining clearly how to run your method and activate all the
different features it has.
-
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.
-
There will be a bonus for the best remesher an potentially for the runners up.
Submission:
-
Use the same procedure as assignment 1 to use the hand-in system to submit
your code and report. Assignment name: pr
-
Do not forget to include a README file with your name and instructions
explaining how to run the code.
-
All projects should be handed in by Wednesday, 5/1/24, at 23:59.
No late submission will be accepted
Presentation
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.