OverviewComputer representations of piece-wise smooth surfaces have become vital technologies in areas ranging from interactive games and feature film production to aircraft design and medical diagnosis. One of the fundamental requirements for all computer graphics applications is the need for sophisticated techniques for representing and processing geometric object models. Two dominant surface representations are polygon meshes and point clouds. In this course, we will explore some of the more important techniques for working with non-trivial surface meshes and point clouds. Most of the material we will discuss is taken from the recent research literature.
Tentative topics to be covered in the course
- Discrete Curves and Surfaces
- Discrete Representations: Point Clouds, Polygonal Curves and Polygon Meshes
- Connectivity, Topology, and Geometry
- Efficient Data Structures to operate on Discrete Curves and Surfaces
- File Formats to store and transmit Discrete Curves and Curfaces
- Elements of Differential Geometry of Curves and Surfaces
- Isocurve and Isosurface Extraction Algorithms
- Surface Reconstruction Algorithms
- Curve and Surface Smoothing Algorithms
- Signal Processing on Curves and Surfaces
- Point Cloud Decimation
- Polygon Mesh Simplification
- Model Repair
- Geometry Compression
- Numerical Methods
- In-core and Out-of-Core Methods
- Geometry Processing for 3D Printing
PapersDuring the course of the semester, we will read a number of papers drawn from the research literature and we will discuss them in class. The required reading for each class will generally be 1–2 papers. Prior to each class each student should write a brief summary of each paper describing the key points 2–3 sentences, as well as a list of biggest question to discuss in class.
PresentationsEvery student taking this course will deliver an in-class presentation on one or more of the papers to be read.
ProjectsThere will be several individual programming project assignments over the course of the semester, and a final project. The final project requires a written project report formatted as a research paper, and an in-class presentation. The goal is for these final project reports to become publishable conference or journal papers.
EvaluationFinal grades in this course will be based on in-class participation and performance on assignments. There will be no exams. Grades in the individual areas will be weighted as follows:
- Class participation 15%
- Course projects/assignments/presentations 60%
- Final project 25%
Course-Related Work ExpectationsOver 14 weeks, students will spend 3 hours per week in class (42 hours total). Required reading is expected to take approximately 2 hours per week (28 hours). Programming project assignments are estimated to take 6 hours per week (84 hours). Programming for the final project, writing the final report, and preparing slides for the final project presentation is estimated to require 26 hours.
TextbookA textbook is not required, but the following one is suggested as a reference. Polygon Mesh Processing
By M. Botsch, L. Kobbelt, M. Pauly, P. Alliez, and B. Lévy
A.K. Peters, Ltd. Natick, MA, 2010