这个系列是GAMES001-图形学中的数学(GAMES 001: Mathematics in Computer Graphics)的同步课程笔记。课程旨在总结归纳图形学学习过程中重要的数学概念、理论和方法,并将以索引的形式在每一章节中穿插讲解该数学专题在图形学中的应用。本课程既可以作为GAMES系列其它课程学习的基础或”手册”,也可以作为站在不一样的视角复习图形学知识的平台。本节主要介绍古典微分几何的基本知识。
微分几何是几何学的一个重要分支,主要通过微积分的方法研究几何对象的性质。根据研究对象的不同,微分几何可以粗略地划分为古典微分几何和现代微分几何。其中,古典微分几何主要研究三维空间中曲线和曲面的各种性质,因此也称为曲线与曲面论;而现代微分几何则更加关注各种流形,在广义相对论中有着重要的研究价值。在计算机图形学中,我们一般只关心三维空间中各种形状的表示方法,因此属于古典微分几何的研究范畴。

参数曲线
在古典微分几何的观点下,三维空间中的曲线可以理解为区间\([a. b]\)到\(\mathbb{R}^3\)的连续映射(向量函数)。当这个映射是连续可微时,我们就可以对它进行求导从而得到曲线上的切向量。

弧长参数
我们定义曲线的弧长为切向量模长沿曲线的积分。实际上可以把弧长作为新的参数构建出新的曲线方程,此时的参数称为曲线的弧长参数。弧长参数的一个重要性质在于使用弧长作为参数的曲线具有单位长度的切向量,即曲线的切向量场为单位向量场。

曲率和挠率
在弧长参数下,对曲线的单位切向量进行求导可以得到曲线的曲率向量。曲率向量的模称为曲率,而曲率向量的方向则称为曲线的主法向量。

利用曲线的切向量和主法向量可以再通过叉乘得到一个次法向量,这样相当于在曲线上定义了一个右手单位正交坐标系,称为Frenet标架。


从运动的角度来看,Frenet标架在曲线上的运动方程称为Frenet公式。

曲线论基本定理
曲线论中的一个重要结论是曲线论基本定理,它指出曲线的形状可以由曲线的曲率和挠率来唯一确定。换句话说,如果空间中两条曲线有着相同的曲率和挠率,则它们之间相差至多一个刚体运动。实际上,如果我们把曲率和挠率看作是关于弧长的函数,则通过求解Frenet方程对应的常微分方程组可以唯一地确定一条曲线。

曲线的近似展开
利用Frenet标架,我们还可以定义曲线在一点上的近似曲线、相切以及曲率圆等概念。

参数曲面
我们把参数曲线的概念进行推广,把\(\mathbb{R}^2\)中一个连通开子集\(D\)到\(\mathbb{R}^3\)的连续映射称为参数曲面。一般地,我们还会要求\(D\)和曲面上的点是一个一一对应,且映射不会出现退化的情况。满足这样性质的曲面称为正则参数曲面。

需要注意的是,正则参数曲面要求曲面上的每一点都可以映射到参数域上,但在很多情况下要获得这样的全局映射是比较困难的。因此,我们可以放宽一下要求,将正则参数曲面拼接的结果称为正则曲面。

切面与法线
对曲面求偏导就得到了曲面某一点上的两个切向量\(\boldsymbol{r}_u\)和\(\boldsymbol{r}_v\)。更进一步,这两个切向量在曲面上定义了一个切空间,称为曲面的切平面。同时能够证明,对于曲面上任意通过该点的曲线,其切向量一定位于这个切平面上。除此之外,两个切向量的叉乘还定义了曲面在该点处的法线。显然,这个法线也是垂直于切平面的。

曲面上某一点的切向量以及法向量定义了曲面上的一个标架,称为曲面的自然标架。不过不同于曲线的Frenet标架,曲面的自然标架在绝大多数情况下都不是单位正交标架。

曲面的第一基本型
对曲面上的两个切向量\(\boldsymbol{r}_u\)和\(\boldsymbol{r}_v\)计算内积可以得到三个实数\(E\)、\(F\)、\(G\),实际上这三个实数给出了曲面上微线元长度的计算公式,它们的矩阵形式\(\begin{pmatrix}E & F \\ F & G\end{pmatrix}\)称为曲面的第一基本型。


曲面上的弧长和面积
曲面的第一基本型给出了切向量作为基底时线元点积的度量。因此曲面上曲线的弧长以及曲面的面积都可以从第一基本型来导出。

保长和保角
第一基本型还可以用来判断两个曲面之间是否存在保长或者保角的变换。实际上,如果两个正则参数曲面之间存在参数变换使得它们具有完全相同的第一基本形式,则它们之间可以建立保长变换。

如果经过参数变换后两个曲面的第一基本形式成正比例,则它们之间可以建立保角变换。可以证明,任意两个正则参数曲面在局部上都可以建立保角映射。

可展曲面
能够和平面建立保长对应的曲面称为可展曲面。三维空间中的可展曲面一定是柱面、锥面、切线面以及它们的拼接。

曲面的第二基本型
曲面的第二基本型刻画了曲面在局部偏离切平面弯曲的程度。

平面的第二基本型恒为零,而球面的第二基本型是其第一基本型的非零倍数。

曲面的曲率
曲面上的曲率可以通过曲面上的曲线来进行定义。我们把曲线的曲率向量向曲面的法向作投影就得到了曲面在曲线切线方向上的法曲率,它由曲面的第一基本型以及第二基本型共同决定。

当曲线的曲率向量方向与曲面的法向重合时,曲面的法曲率与曲线的曲率在数值上是相等的,此时的曲线可以在局部看作是由曲面法向定义的平面与曲面本身的交线,称为法截线。这样,曲面的法曲率可以由法截线的方向向量来进行确定。当法截线的方向绕法向旋转时,曲面上法向量与切线方向之间的关系可以由欧拉公式来进行计算。法曲率取最大值和最小值的方向称为曲面在该点的主方向,对应的法曲率称为主曲率。

想要更深入的认识曲面的第二基本型需要首先介绍高斯映射。对于曲面上的法向,我们可以把它看作是具有单位半径的球面上的一个点,这样曲面上的点就通过它的法向和球面建立了一个映射,称为高斯映射。对高斯映射求偏导就得到了Weingarten映射,它给出了原始曲面上切向量到球面上切向量之间的映射。可以证明Weingarten映射同样是一个线性映射,它的特征值就对应了曲面的主曲率。利用Weingarten映射可以相对容易地推导出欧拉公式。


曲面论基本定理
类似于曲线论基本定理,曲面论基本定理指出空间中曲面的形状可以由曲面的第一基本型和第二基本型来确定。但需要注意的是,曲面的第一基本型和第二基本型是存在一定的耦合关系的,即Gauss-Codazzi方程。

几何连续性

