Digital Geometry Processing

(Spring-Summer 2012)

Graphics&Geometric Computing Laboratory

University of Science and Technology of China

Announcements     General     Description      Course Goals     Topics     Texts     Grading  

Syllabus     Assignments     Requirements on Assignments      Professional Conduct     Resources



Time Tuesday (19:00--)
Venue Room 1218, Management and Research Building, East Campus

Prof. Ligang Liu (

Credit 4
Prerequisite Computer Graphics, CAGD, C/C++



The arrival of 3D scanning has created a new wave of digital media after sound, images, and video, raising the need for digital processing algorithms. Traditionally fine detail geometry is represented through unstructured polygonal meshes. Such meshes are awkward for editing, filtering, and compression applications. This course will focus on Digital Geometry Processing (DGP), which addresses computerized modeling of discrete (digital) geometry, namely polygonal meshes.  We will show how to build semi-regular meshes from unstructured polygonal meshes and raw range data, and how to build applications such as filtering, editing, simulation, and compression using triangular meshes.

Prerequisite: Computer graphics, Computer aided geometric design, C++, MFC, OpenGL/DirectX


Course Goals

In this course, we will explore advanced techniques for representing and processing geometric object models. The goals of this course are to extend and deepen the student's knowledge and understanding of algorithms and data structures and the associated design and analysis techniques. It examines previously studied algorithms and data structures more rigorously and introduces the student to "new" algorithms and data structures. It focuses the student's attention on the design of program structures that are correct, efficient in both time and space utilization, and defined in terms of appropriate abstractions.


This course provides a comprehensive introduction to mesh processing, including their design, analysis, and implementation. Topics include:
·mesh data structure
·3D scanner techniques
·surface reconstruction
·mesh smoothing
·mesh simplification
·geometry compression
·mesh parameterization
·mesh segmentation
·deformation and morphing
·subdivision surfaces
·shape analysis
·discrete differential geometry


            W. Sweldens and P. Schroder. Digital Geometry Processing, SIGGRAPH'2001, course notes.
            Other researchers' courses

            Various journal papers, conference papers, or WWW materials as appropriate.


Credit toward the semester grade will be allocated to each of the components as indicated in the following table.

Programming exercises 20%
Projects (2 or 3) 40%
Literature survey and report 40%

Note: No final examination will be held in the end of this course. Programming projects and literature survey report are both required. More information will be provided in the class.



Note: Please zip your submission stuffs of the assignment into one single file either using WinZip or WinRAR. Name the file name as "" or "ID_Name_Project" where ID is your unique ID number in the class. For Example, my submission file name might be "01_张三".

Requirements on Assignments


Assignment Submission

What constitutes Creativity ?

Creativity is any substantial improvement beyond the basic solution - it can be applied to any part of the project. For example, the following are relevant in most cases :

Professional Conduct

As a student in our class, you are expected to conduct yourself in a professional manner.

Limited Collaboration Policy. Unless otherwise indicated, any homework assignment given in this class will be an individual assignment. The work you submit is to reflect the knowledge, understanding, and skill that you have attained as an individual. However, the instructor does want to encourage the development of a community of scholars who are actively engaged in discussion of the ideas related to this course. With this in mind, you are allowed to discuss solutions of the homework and programming problems with other students if done so according to the following guidelines:


C++ coding styles

Computer Program Documentation Standards

Advices on Researches:

Mesh Models:

Mesh library on the internet:

Model formats:

  • nThe Graphics File Formats Page
  • dxflib — for reading DXF models
  • lib3ds — for reading 3D studio files
  • ply 1.1 — an older version of the PLY library from Stanford
  • PLYtools — Greg Turk’s code for working with PLY files
  • trimesh — a C++ library for working with PLY files from Szymon Rusinkiewicz [not quite as general as the libraries above]
  • Wotsit’s List — as with the image formats, a rather comprehensive list

OpenGL programming:

GUI toolkits:

  • nFLTK — cross-platform toolkit with good OpenGL support
  • GLUT — standard but minimal OpenGL cross-platform toolkit
  • freeglut — Open Source reimplementation of GLUT
  • GLUI — implements typical GUI widgets with OpenGL in GLUT windows
  • GLOW — another OpenGL-based widget set
  • PUI — similar in spirit to GLUI
  • GLGooey — another widgets-in-OpenGL library
  • Cpw — application framework for OpenGL programs (Windows only)


Useful coding related sites on the internet:

Send any comments or suggestions to Prof. Ligang Liu (
Copyright © 2012, Ligang Liu