This course will introduce the fundamental concepts for creating and analyzing shapes on the computer. We will start with generating and representing smooth curves in 2d using parametric and implicit (e.g. Bézier) curves. We will then move to various techniques for shape representation in 3d with special emphasis on triangle meshes and associated methods. At the same time, we will introduce methods for shape analysis and in particular defining and computing similarity between shapes, and shape matching (establishing correspondences between points on shapes). Topics will include:
- Real/Homogeneous Coordinates + Affine/Projective Transformations.
- Parametric and Implicit Representations for Curves.
- Bézier curves and the de Calsteljau Subdivision Algorithm.
- Triangles meshes
- Subdivision Surfaces.
- Point cloud representation and processing algorithms.
- Shape Processing and Analysis -- Simplification, segmentation, curvature and feature detection.
- Rigid Registration.
- Shape retrieval, non-rigid matching and correspondence. Data-driven methods.