# Xianfeng Gu 顾险峰

## Course Description

Computational geometry is a bridge between mathematics and computer science, it plays a fundamental role in modern technologies, ranging from movie, games to medical imaging. This course will introduce basic concepts, theorems and algorithms in the field, including combinatorial topology, discrete surface geometry, convex geometry, and their applications in geometric modeling, computer graphics and artificial intelligence.

Combinatorial topology includes the concepts of simplical complex, orientation, boundary, genus, manifold, and the algorithm of Sperner’s coloring for fixed point; discrete surface includes combinatorial Gauss-Bonnet theorem, discrete surface harmonic mapping for texture mapping; convex geometry includes convex hull, power diagram, Delaunay triangulation for mesh generation. Deep learning includes auto-encoder and generative model for simple hand-written digits images. For programming, we will learn simple object-oriented sytle coding, and OpenGL for 3D rendering and animation.

As for pre-requisite or background for this course, Mathcampers are not expected to know calculus or advanced linear algebra, but good knowledge of high school algebra, Euclidean geometry, analytic geometry. It will be helpful if the Mathcampers understand basic data structures, such as array, list, pointer, and familiar with memory allocation.

There will be two types of homeworks, hand written mathematical deduction and programming. The students are required to have a laptop with Windows, the coding will be performed using Microsoft Visual Studio. There will be coaches to help set up the coding environment and check the codes. The mathematical deduction homeworks should be accomplished individually. The coding homeworks can be done by groups. Mathcampers will be meeting and working with two Coaches in this course, in addition to the Lecturer. The Coaches will be meeting with Mathcam-pers everyday, to work with them on their homework assignments and their research projects.