3D geometry is fundamental to many applications, including virtual characters for movies, interactive design of cars and air planes, and complex simulations. This course covers the whole 3D geometry processing pipeline from scanning real objects to printing them. In the first part we review methods for measuring points on the surface of an object and learn how to align the resulting point clouds. We then discuss how to convert this data into a triangle mesh and study different data structures for handling the latter. The second part explains the main processing tasks for 3D geometry, including smoothing, parameterization, remeshing, decimation, and compression of triangle meshes. In the last part, we talk about 3D printing. We not only cover the relevant theory, but also implement all techniques. For all programming tasks we provide a framework, so that you can concentrate on implementing the core methods and algorithms. The whole pipeline will come to life as you apply it to an object of your choice.