UCSD CSE291 Physics Simulation

UCSD CSE274 Advanced Topics in Computer Graphics (Discrete Differential Geometry)

Caltech CS177 Discrete Differential Geometry (FA2016, WI2017)

Discrete differential geometry. With prerequisite only in linear algebra and multivariate calculus, this course takes students over the following material. Through the course students are literate in differential geometry and have strong numerical skill in, for example, solving PDEs on surfaces.

  • Geometry of curves and surfaces, including general framed curve theory, curvatures of surfaces and their discrete theories. For implementation, students learn how to generate parallel frame for space curves, and compute different notions of discrete curvatures and normals on discrete surfaces.
  • Exterior calculus, discrete exterior calculus (DEC) and basic finite element methods. Students are able to build the sparse matrices in DEC and use them to solve Poisson equations, heat equations and wave equations on surfaces. Examples also include electromagnetism and geometric problems such as minimal surfaces.
  • Hodge theory and basic algebraic topology (including relative cohomology for boundary conditions). Students are able to compute Hodge decompositions on surfaces, and find homology generators through cotree-tree algorithm based on the Morse homology theory.
  • Conformal parametrization on surfaces and complex geometry.
  • Connections on tangent bundle and complex line bundles. Students are able to find almost-everywhere flat connections for tangent bundles over surfaces with user selected singularities with Poincaré index.

Lecture notes for selected chapters:

Caltech ACM11 Introduction to MATLAB and Mathematica (SP2015)

Introduction to MATLAB and Mathematica.



Houdini is a 3D animation software by SideFX that is broadly used in filming industry. Its built-in shader language (VEX), geometric data structures, and its integration with Python (where one can call numerical linear algebra library such as SciPy) makes it a powerful tool for scientific computing and geometry processing. Moreover Houdini comes with industry standard renderer allowing stunning visualization. Its free apprentice license is fully functional, with only a few limitations in the resolution of rendering preventing commercial uses. Houdini has become a frequently used software for not only research demonstration, but also for teaching and generating illustrations for lectures and talks.