Introduction to curves and surfaces, in particular splines, subdivision surfaces, polygonal meshes. Principles and mathematical foundations for representing complex geometry for computer graphics and numerical simulations. Practical applications of different modeling techniques.

- Course policies
- Slides
**Students are expected to be aware of all the policies and other course details outlined in the slides.** - Assignments
- Tutorials

Instructor | Alla Sheffer use email: sheffa@cs.ubc.ca for personal questions and discussion group for everything else (see note below) |

Office hour |
Alla: Friday, 2-3 PM (or by appointment) X651 (ICICS/CS) See Piazza for TA office hours. |

TA | Jerry Yin; Jinfan Yang; Enrique Rosales; Willis Peng (Please use Piazza to contact the TAs) |

Lectures | Mon, Wed, Fri, 12PM-1PM, Dempster 110 |

Tutorial | Mon 1PM-2PM or Mon 2PM-3PM or Tue 4PM-5PM Dempster 101 |

First class | September 4, 2019 |

Discussion Board | We will use a Piazza discussion group for non-personal communications. Note: If students have privacy concerns about the use of Piazza, let me (instructor) know and we will consider an alternative. Piazza is hosted outside Canada, thus if you use the current setup we will proceed on the assumption that you do not object to Piazza potentially identifying you personally, and that you are consenting to the storage of personal information on Piazza servers outside Canada |

Weekly Quizzes | The course will have weekly quizzes which will be posted on our Canvas page. The questions for the quizes will be selected among the review questions submitted by the students the week before. The deadline for submitting questions (via Piazza cpsc424.) is Monday noon. The deadline for answering the quizes is Friday noon. |

Midterms | October 4, 2019 and November 1, 2019 |

Discussion Board | link |

Optional Textbooks | Curves and Surfaces in Geometric Modeling: Theory and Algorithms Polygonal Mesh Processing, |

Prerequisites | CPSC 320 and one of MATH 152, MATH 221, MATH 223 and one of MATH 200, MATH 217, MATH 226, MATH 253. |

- Part 1: Curves
- Implicit vs. explicit vs. parametric curves
- Polynomials
- Bezier curves, De Casteljau algorithm
- Continuity
- B-Splines
- Rational B-Splines, NURBS
- Subdivision Curves

- Part 2: Properties of Curves and Surfaces
- Curvature (Gauss, min/max...)
- Frenet frame
- Elementary differential geometry for curves and surfaces
- Discrete curvature

- Part 3: Surfaces and Meshes
- Tensor product surfaces
- Subdivision surfaces, Loop and Butterfly subdivision
- Mesh data structures
- Polygonal meshes, progressive meshes, mesh simplification
- Mesh parameterizations, texturing of triangle meshes

- Part 4: Modern Modeling Aplications
- 3D printing/Fabrication constraints
- Capture and Reconstruction
- Other (student choice)