Copyright © 2014 Hao Li

CSCI 599: Digital Geometry Processing SS 2015


Course Overview




This course provides an introduction to digital geometry processing (DGP), a subfield of computer graphics. With polygonal meshes being the de-facto standard for 3D surface representation and the emergence of 3D scanning, realtime depth sensor, and 3D printing technologies, DGP is gaining increasing importance in applications ranging from visual effects, interactive games, CAD, machine perception, robotics, engineering to biomedicine. This course will cover basic mathematical foundations for studying 3D surfaces from a discrete differential geometric standpoint and present the full geometry processing pipeline: from 3D data capture, mesh smoothing, surface reconstruction, parameterization, registration, shape analysis (correspondence, symmetry, matching), data-driven synthesis, interactive manipulation, to 3D printing. We will also illustrate this course with important applications and recent advances in this field. In analogy to image processing for which inputs are 2D images and video, DGP involves the treatment of 3D depth maps, point clouds, polygonal meshes and volumetric data and involves many techniques from linear algebra, differential geometry, signal processing, and numerical optimization. This course will offer practical coding exercises to understand basic geometry processing algorithms and exciting project around data capture and geometry processing.

This page will be frequently updated with slides, exercises, and additional reading materials. Also, this course the advanced topics are subject to change too depending .

Lecture URL

Exercises / Q&A





Class Number


Lecture, 3 units

11:00 - 12:20 pm

Tuesday, Thursday

KAP 158 (Kaprialian Hall)

3620 S. Vermont Avenue




Office hours




Office hours




Office hours




Prof. Dr. Hao Li

SAL 244

Tue 2:00 PM - 3:00 PM

Pei-Lun Hsieh

GFS 218

Mon 2:00 PM - 4:00 PM

Kyle Olszewski

GFS 218

Wed 11:50 AM - 1:50 PM

Yanqing Liu


Tue Jan 13, 2015

Thu Jan 15, 2015

Tue Jan 20, 2015

Thu Jan 22, 2015

Tue Jan 27, 2015

Thu Jan 29, 2015

Tue Feb 03, 2015

Thu Feb 05, 2015

Tue Feb 10, 2015

Thu Feb 12, 2015

Tue Feb 17, 2015

Thu Feb 19, 2015

Tue Feb 24, 2015

Thu Feb 26, 2015

Tue Mar 03, 2015

Thu Mar 05, 2015

Tue Mar 10, 2015

Thu Mar 12, 2015

Tue Mar 17, 2015

Thu Mar 18, 2015

Tue Mar 24, 2015

Thu Mar 26, 2015

Tue Mar 31, 2015

Thu Apr 02, 2015

Tue Apr 07, 2015

Thu Apr 09, 2015

Tue Apr 14, 2015

Thu Apr 16, 2015

Tue Apr 21, 2015

Thu Apr 23, 2015

Tue Apr 28, 2015

Wed May 6, 2015



Surface Representation & Data-Structures

No Class

Explicit & Implicit Surfaces

Classic Differential Geometry 1 / Exercise 1

Classic Differential Geometry 2

Discrete Differential Geometry

3D Scanning

Surface Registration 1 / Exercise 2

Surface Registration 2 / Capture Session

Shape Matching

Surface Reconstruction / Exercise 3

Surface Smoothing


Decimation / Exercise 4


Remeshing Recap / Exercise 5

Surface Deformation I / Projects

Surface Deformation II / Exercise 6

Space Deformation

Data-Driven Shape Analysis & Synthesis

Dynamic Geometry Processing I

Dynamic Geometry Processing II

Invited Talk: Andrew Selle (Disney Animation)

3D Printing (by AIO robotics)

Facial Performance Capture I

Invited Talk: Lance Williams (Nvidia)

Facial Performance Capture II

Project Presentations at GFS 109 11:00 - 12:20





[slides]   [exercise]




[slides]   [exercise]


[slides]   [exercise]



[slides]   [exercise]




[slides]   [exercise]







[Ex. 1 Due]

[Ex. 2 Due]

[Ex. 3 Due]

[Ex. 4 Due]

[Ex. 5 Due]

[Ex. 6 Due]

Project Due



  1. While this course is self-contained, students should have solid background in linear algebra, numerical optimization, C/C++ programming.

  2. CSCI 420: Computer Graphics is recommended, but not a prerequisite for this course.

Course Material

  1. This course is based on the excellent textbook Polygon Mesh Processing and uses material from
    the courses designed by Prof. Dr. Mario Botsch (Bielefeld University) and Prof. Dr. Mark Pauly (EPFL). The book can be purchased here:
  2. Additional readings from research papers will be posted in the course slides or on this page.

  3. Additional materials are taken from the following relevant conference courses:

  4. Geometric Modeling Based on Polygonal Meshes (summarizes this course):

  5. Computing Correspondences in Geometric Data Sets (provides more detail on 3D scan processing, shape analysis, registration, dynamic geometry processing, and performance capture):

  6. 3D Scan Matching and Registration (another great tutorial on processing 3D scans and how to align them):

  7. Discrete Differential Geometry (excellent reading for a more foundational treatment of discrete differential geometry with practical examples from surface fairing, parameterization, to physics simulation):

  8. Differential Geometry for CS (another wonderful lecture on DDG from our friend Justin):

  9. Differential Geometry of Curves and Surfaces (awesome introduction and simple read to classical differential geometry):

  10. Structure-Aware Shape Processing (cutting edge course notes form SIGGRAPH Asia 2013):

  11. Shape Modeling and Deformation (beautiful survey and tutorial on the latest advances in mesh deformation):

  12. Practical Least-Squares Optimization for Computer Graphics (important basics for solving numerical optimization problems in geometry processing and computer graphics):

  13. Animation Reconstruction of Deformable Surfaces (my PhD thesis):

  14. Build your own 3D scanner (great overview of 3D scanning techniques):


Statement for Students with Disabilities

Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 a.m.–5:00 p.m., Monday through Friday. The phone number for DSP is (213) 740-0776.

Statement on Academic Integrity

USC seeks to maintain an optimal learning environment. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect one’s own academic work from misuse by others as well as to avoid using another’s work as one’s own. All students are expected to understand and abide by these principles. Scampus, the Student Guidebook, contains the Student Conduct Code in Section 11.00, while the recommended sanctions are located in Appendix A: Students will be referred to the Office of Student Judicial Affairs and Community Standards for further review, should there be any suspicion of academic dishonesty. The Review process can be found at:

Emergency Preparedness/Course Continuity in a Crisis

Ahahahaha! In case of a declared emergency if travel to campus is not feasible, USC executive leadership will announce an electronic way for instructors to teach students in their residence halls or homes using a combination of Blackboard, teleconferencing, and other technologies (LOL!).

Please activate your course in Blackboard with access to the course syllabus. Whether or not you use Blackboard regularly, these preparations will be crucial in an emergency. USC's Blackboard learning management system and support information is available at

For Those Who Want to Dive Deeper

If you are curious and interested in doing more research related to digital geometry processing, 3D scanning and depth sensors, or 3D printing, this is a hot field in both Computer Graphics and Computer Vision.

  1. You may want to browse interesting research papers in the top avenues in graphics (Siggraph, Siggraph Asia, ACM TOG, Eurographics) and vision (CVPR, ICCV, ECCV), as well as some more specialized but equally excellent conferences (SGP, SCA, 3DV).

  2. To capture 3D data for processing, you may be interested in experimenting with multi-view stereo software (PMVS, Agisoft, ScannerKiller, Autodesk 123catch), for consumer-level depth sensors (Microsoft Kinect, Primesense sensors (I know it got bought by Apple, but in case u find one), Asus Xtion Pro), and to 3D scan and print yourself with a kinect try For 3D printing, here are some services (Sculpteo, Shapeways).

  3. While the primary applications of depth sensing and geometry processing are in entertainment (VFX/games), there is an increased interest in other domains to replace 2D imaging and image understanding with 3D processing due to the growing availability of such sensors and its effectiveness to analyze data, most notably in: robotics, consumer-level application such as for mobile devices/laptops, biomedicine, behavioral and sports analytics, natural user interfaces, advanced 3D fabrication, architecture, cultural heritage, and surveillance. Consequently, with the ability to capture a large amount of 3D data, there are new research opportunities that combine machine learning, machine perception, and optimization with digital geometry processing techniques.


  1. Best 5 out of 6 exercises contribute to 70% of the final grade

  2. Each exercise counts 20 points.

  3. Late submissions: every 5 minute removes 1 point in each exercise

Geometry Processing Project

  1. Students will conduct a small research project (scope 1 month per person, groups size: up to 2) on an innovative solution around data capture and geometry processing, but not limited to it. The idea is to explore a research problem (e.g., implement a research paper) to apply what they have learned during the course. More details will be provided during the semester.

  2. Final presentation, code, documentation contribute to 30% of the final grade















Or call Dr. Bregler (now at Occulu):