/dgp

Digital Geometry Processing - Fall 2016 - University of Victoria

Primary LanguageC++

Digital Geometry Processing - Fall'16 @ UVic

Course Objectives And Learning Outcomes

Digital 3D geometric models are widely used in computer graphics, entertainment, CAD, architecture, engineering, bio-medicine, and many related fields. This course will follow the digital 3D content creation pipeline. We will first discuss 3D acquisition methods for scanning physical objects. Given this raw geometric data, we analyze and implement several geometry processing methods for data enhancement and manipulation. We will discuss the fundamentals of geometry representations and cover introductory continuous and discrete differential geometry concepts. Polygon mesh representations will be at the center of our investigations. We derive the core processing methods for triangle meshes, such as surface smoothing, parameterization, decimation, remeshing, deformation and registration. The lectures will cover the theory, with a few live-coding sessions. Practical C++/MATLAB exercises will be performed in the labs and homeworks/projects.

Topics

  • 3D Scanning
  • Mesh Data Structures
  • (Least Squares Optimization)
  • (Spectral Decomposition)
  • Surface Registration
  • Surface Reconstruction
  • Basics of Differential Geometry
  • Smoothing and Fairing
  • Surface Parameterization
  • Surface Decimation
  • Surface Remeshing
  • (Sparse Linear Systems)
  • (Matrix Factorization)
  • Surface Deformation
  • Non-Rigid Registration

Office Hours

Time Location
Tue 05:50pm-06:30pm Classroom or ECS530
Thu 05:50pm-06:30pm Classroom or ECS530

Textbooks

Required: Polygon Mesh Processing
Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, Bruno Levy
October 7, 2010 by A.K. Peters/CRC Press
ISBN 9781568814261 - CAT# K00467
Optional: A Sampler of Useful Computational Tools for Applied Geometry, Computer Graphics, and Image Processing
Daniel Cohen-Or, Chen Greif, Tao Ju, Niloy J. Mitra, Ariel Shamir, Olga Sorkine-Hornung, Hao Zhang
May 21, 2015 by A K Peters/CRC Press
ISBN 9781498706285 - CAT# K24819

Grading

Coursework Weight (out of 100%) Tentative Topic Tentative Timeline
Labs (2h) 5x3% Various Topics (in Matlab) Due before next lab
Homework 0 5% Matlab and C++ Due at the end of week 2
Homework 1 20% Reconstruction Due at the end of week 6
Homework 2 20% Decimation Due at the end of week 10
Homework 3 20% Deformation Due on the last week of class
Midterm 20% Theory + Practice last week of class
  • The topic of Homework 3 is open for graduate students or with instructor permission. Graduate students will also be required to present their project in the classroom on the last day of class.
  • There will be one midterm which will cover the theoretical material covered in lectures and reading. You must pass the midterm to pass the course.

Homeworks

  • Lab, homeworks and projects are in Matlab and C++
  • Homeworks will be turned in via GitHub Classroom (links announced via mailing list)
  • Your assignments (regardless of whether they contain solutions or not) should not be posted in a public repository (on github, bickbucket, etc..), and doing so is a Copyright violation. Inteasd use private github repositories. You can get unlimited private repositories by subscribing to the Student Developer Pack.
  • Code obtained from elsewhere and used as part of an assignment must be documented in the README.md
  • Ideas obtained from elsewhere must be referenced in your assignment README.md

The Freedom of Information and Protection of Privacy Act (FIPPA) dictates that I cannot force you to create a GitHub account, since some of your personal information may then be stored on US servers. As such, if you do not want to use GitHub Classroom I require you to contact me via email within the first week of class