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
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 you should write a brief summary of each paper describing the key points 2–3 sentences. Then, you should write down the biggest question you have about the paper to discuss in class; this may be something you didn’t understand or that you feel the authors didn’t adequately address.
Topical notesEach student will be assigned to assemble written notes for one of the topics covered in the course. These notes will be posted on the course website.
PresentationsEveryone taking this course will deliver an in-class presentation on one or more of the papers that we will be reading. Nominally, each student will be giving a presentation on one of the papers discussed under the topic for which he/she will be writing notes.
ProjectsThere will be several individual programming project assignments over the course of the semester, and a group final project. The final project requires a written project report formatted as a research paper. The goal is for these the 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/written notes 15%
- Course projects/assignments/presentations 60%
- Final project 25%
TextbookPolygon Mesh Processing
By M. Botsch, L. Kobbelt, M. Pauly, P. Alliez, and B. Lévy
A.K. Peters, Ltd. Natick, MA, 2010