Assignment 1: Introduction to Geometry Processing


This assignment will introduce basic geometry processing for polygonal meshes. After completing this homework you should have a good understanding of the type of algorithms, data structures, and coding practices expected for this course – especially with regard to the Java framework we'll provide. In particular, you'll be implementing a variety of fundamental mesh operations, including: selection, deletion, and classification of vertices, edges, and faces. The methods developed in this problem set will form the foundation for further assignments focusing on more advanced topics such as compression and filtering.

read more...


Assignment 2: 3D Photography with Planar Shadows


The goal of this assignment is to build an inexpensive, yet accurate, 3D scanner using household items and a camera. Specifically, we'll implement the "desktop scanner" originally proposed by Jean-Yves Bouguet and Pietro Perona, composed of five items: a camera, a point-like light source, a stick, two planar surfaces, and a checkerboard. By waving the stick in front of the light source, the user can cast planar shadows into the scene. Afterward, the depth at each pixel can then be recovered using simple geometric reasoning. In the course of completing this homework, you will develop a good understanding of camera calibration, Euclidean coordinate transformations, manipulation of implicit and parametric representations of lines and planes, and efficient numerical methods for solving least-squares problems.

read more...