cos526.jpg (39279 bytes)

Advanced Computer Graphics, Fall 2010


Programming Assignment 3: Mesh Segmentation

Due on Wed, Nov 24 at 11:59PM


Overview

In this assignment you will implement a mesh segmentation algorithm of your own design and then evaluate yoru result with respect to the metrics in the Mesh Segmentation Benchmark.


Code Infrastructure

To implement your algorithm, you can use the infrastructure code provided for assignment 2 (cos526_assn2.zip) or any other software library that supports basic mesh operations (e.g., trimesh2). You should create a new "app" called "seg" that can be run as follows:

seg input.off output.seg <-nsegment N>
The seg program should read in a mesh file (e.g., input.off) and output a segmentation file (e.g., output.seg), an ASCII file with a segment number for each face of the mesh on its own line. It should take one optional program argument "-nsegment N". If that command line argument is provided, then the algorithm should produce exactly N segments. Otherwise, it should predict/determine the number of segments automatically. To test and evaluate your algorithm, you should use the code and scripts provided with the mesh segmentation benchmark. Specifically, you will want to edit "util/scripts/runAlgorithm/config.py" to run your program on all the examples in the benchmark and then "util/scripts/runAlgorithm/evalAlgorithm.py" to produce evaulation metrics. Please see the README.txt files in the benchmark for detailed instructions.


What to Submit

You should submit one zip file named PUID_cos526_assn3.zip (i.e. funk_cos526_assn3.zip) with the following internal directory structure:

The src directory should have all code required to compile and link your program (including the files provided with the assignment), along with a Visual Studio Solution file and a Makefile to rebuild the code.

Please submit images in JPEG format to save space. Also, to further save space, please remove binaries and backup files from the src directory (i.e., run make distclean (under Mac OS) and execute "Clean Solution" on the "Build menu" in MS Visual Studio) before submitting.


Useful resources