line.gif (5927 bytes)

CS348a


Breaking News:



This course is an upper level undergraduate / graduate-level introduction to the mathematical methods used in modeling and processing geometric shapes for use in CAD/CAM, computer graphics (gaming / special effects), 3D computer vision, and in many other areas of science, engineering, and commerce. Topics to be covered include material on both designed shapes (classical CAGD) and on shapes acquired through sensors (geometry processing). While the focus of the course is on classical methods, machine learning tools for shape analysis and content creation will also be introduced.

  • Homogeneous Coordinates and Geometric Transformations
  • Quaternions and their Use in Modeling 3D Rotations and Rigid Motions
  • Parametric and Implicit Representations for Curves
  • Algebraic Classification of the Parametric Polynomial Curves of Low Degree
  • Polar Forms and the de Calsteljau Subdivision Algorithm
  • The Bézier Representation and the Bernstein Basis
  • Splines and Continuity Constraints
  • B-Splines and the de Boor Algorithm
  • Rational Curves
  • Parametric Polynomial Surfaces and NURBS
  • Subdivision Curves and Surfaces
  • Triangle Meshes for Surface Representation and Reconstruction
  • The Quad-Edge Data Structure for Manifold Subdivision
  • Scan Alignment and Shape Matching
  • Surface Reconstruction from Scattered Points
  • Machine Learning Approaches to Shape Analysis
  • Mesh Simplification, Smoothing and Fairing
  • Mesh Remeshing and Parametrization
  • Generative Models Based on Learned Shape Representations and Applications

The course requires background in linear algebra and elementary discrete algorithms.

Students taking the course for credit will be expected to:

  • be present and actively participate in class
  • do a number of paper-and-pencil homeworks
  • take the class midterm
  • do a programming assignment or project

These pages are maintained by Leonidas Guibas guibas@cs.stanford.edu.
Last update March 9, 2021.