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 splines and 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:

  • Polynomial, Spline and Hermite interpolation for 2D curves
  • Bézier curves and the de Calsteljau Subdivision Algorithm.
  • Triangles meshes and Subdivision Surfaces
  • Point cloud representation and processing algorithms
  • Shape reconstruction from point cloud data.
  • Shape Processing and Analysis -- Simplification, segmentation, curvature and feature detection.
  • Rigid Registration.
  • Shape retrieval, non-rigid matching and correspondence.