Shape Analysis课程笔记06-Smooth Surface Curvature
这个系列是MIT 6.838: Shape Analysis的同步课程笔记。本课程会介绍几何方法在图形学、机器学习、计算机视觉、医疗图像以及建筑设计等相关领域的原理和应用。本节主要介绍曲面的第二基本形式以及曲率的相关内容。
Second Fundamental Form
High-Level Questions
曲面上的一个基本问题是如何去衡量曲面偏离平面的程度,要回答这样的问题我们就需要引入曲面上曲率的概念。
实际上利用曲率我们不仅可以区分不同的曲面,也可以描述曲面是如何嵌入到空间中,甚至可以发现曲率可能是不依赖于空间邻近空间的。
Gauss Map
在正式介绍曲面上的曲率之前我们先来回忆一下曲面上的法向。对于可定向曲面,曲面上每一点都可以定义一个单位法向量。尽管在整个曲面上计算法向量是比较困难的,但至少在曲面的局部是可行的。这里我们记曲面(流形)为\(\mathcal{M}\),曲面上\(\mathbf{p}\)点的单位法向量为\(\mathbf{n}\),切空间为\(T_\mathbf{p} \mathcal{M}\)。
接下来我们利用曲线上曲率的概念来引出曲面上的曲率。回忆(平面)曲线上的Gauss映射将曲线上的点映射到单位圆上,同时(空间)曲线可以通过Frenet方程进行描述。
对于可定向曲面我们可以类似地定义(可定向)曲面上的Gauss映射,它将曲面上的点映射到单位球上:
同时为了方便后面的推导,我们引入映射微分的定义。对于流形\(\mathcal{M}\)到流形\(\mathcal{N}\)的映射\(\varphi\)以及\(\mathbf{p}\)点切空间上的曲线\(\gamma\),\(\varphi\)的微分\(d \varphi_\mathbf{p} : T_\mathbf{p} \mathcal{M} \rightarrow T_{\varphi(\mathbf{p})} \mathcal{N}\)可以表示为:
\[d \varphi_\mathbf{p} (\gamma'(0)) = (\varphi \circ \gamma)' (0)\]其中,曲线\(\gamma\)需要满足\(\gamma(0) = \mathbf{p}\)以及\(\gamma'(0) = \mathbf{v} \in T_\mathbf{p} \mathcal{M}\)。
Shape Operator
接下来我们开始推导曲面上Gauss映射的微分。在\(\mathbf{p}\)点的切平面上取向量\(\mathbf{v} \in T_\mathbf{p} \mathcal{M}\),进而定义曲面上的曲线\(\gamma(t): (-\varepsilon, \varepsilon)\)使得\(\gamma(0) = \mathbf{p}\)且\(\gamma'(0) = \mathbf{v}\)。利用微分公式可以得到:
\[d \mathbf{n}_\mathbf{p} (\mathbf{v}) = (\mathbf{n} \circ \gamma)' (0)\]由于Gauss映射\(\mathbf{n}\)的像是一个单位向量,等式右侧需要满足:
\[(\mathbf{n} \circ \gamma)' \perp \mathbf{n}_\mathbf{p}\]这表示\(d \mathbf{n}_\mathbf{p} (\mathbf{v})\)一定位于切平面\(T_\mathbf{p} \mathcal{M}\)上,即
\[d \mathbf{n}_\mathbf{p} (\mathbf{v}) \in T_\mathbf{p} \mathcal{M}\]实际上\(d\mathbf{n}_\mathbf{p}\)也称为shape operator。
Second Fundamental Form
利用shape operator我们可以定义曲面的第二基本形式(second fundamental form):
\[\mathbf{II} (\mathbf{v}, \mathbf{w}) = -\mathbf{v} \cdot d \mathbf{n}_\mathbf{p} (\mathbf{w})\]如果我们将切平面上两个相同的向量\(\gamma'(0) = \mathbf{T} \in T_\mathbf{p} \mathcal{M}\)送入第二基本形式\(\mathbf{II}\),可以发现第二基本形式连接了曲线与曲面的法向。首先利用切平面和曲面法向的定义有:
\[\gamma'(s) \in T_\mathbf{p} \mathcal{M} \Leftrightarrow \gamma'(s) \cdot \mathbf{n} (\gamma(s)) = 0\]对两边同时微分可以获得:
\[\kappa \mathbf{N}(s) \cdot \mathbf{n} (\gamma(s)) + \mathbf{T}(s) \cdot d \mathbf{n}_{\gamma(s)} (\gamma'(s)) = 0\]式中,\(\mathbf{T}(s)\)和\(\mathbf{N}(s)\)分别为曲线\(\gamma(s)\)的切向和法向,\(\kappa\)则是曲线的曲率。注意到左边第二项的形式可以改写为曲面的第二基本形式:
\[\mathbf{T}(s) \cdot d \mathbf{n}_{\gamma(s)} (\gamma'(s)) = \mathbf{T}(s) \cdot d \mathbf{n}_{\gamma(s)} (\mathbf{T}(s)) = -\mathbf{II} (\mathbf{T}, \mathbf{T})\]因此有
\[\mathbf{II} (\mathbf{T}, \mathbf{T}) = \kappa \mathbf{N} \cdot \mathbf{n}\]Relationship to Curvature of Curves
在曲面的第二基本形式基础上我们还可以对曲线的曲率进行分解,得到法曲率(normal curvature)以及测地曲率(geodesic curvature)。其中法曲率\(\kappa_\mathbf{n}\)等于曲面的第二基本形式,表示曲线依附于曲面所导致的加速度;而测地曲率则描述了曲线在切平面上的弯曲程度。
曲面的第二基本形式的另一个重要性质是对称性,这里我们简单推导一下。假设曲面上\(\mathbf{p}\)点存在局部参数化\(\phi\),参数平面上的一对基向量分别记为\(\mathbf{x}^1\)和\(\mathbf{x}^2\)。利用法向量的概念有:
\[\mathbf{n} \cdot \frac{\partial \phi}{\partial \mathbf{x}^1} = 0\] \[\mathbf{n} \cdot \frac{\partial \phi}{\partial \mathbf{x}^2} = 0\]对等式进行微分有:
\[\frac{\partial}{\partial \mathbf{x}^2} \bigg( \mathbf{n} \cdot \frac{\partial \phi}{\partial \mathbf{x}^1} \bigg) = \frac{\partial \mathbf{n}}{\partial \mathbf{x}^2} \cdot \frac{\partial \phi}{\partial \mathbf{x}^1} + \mathbf{n} \cdot \frac{\partial^2 \phi}{\partial \mathbf{x}^1 \partial \mathbf{x}^2} = 0\] \[\frac{\partial}{\partial \mathbf{x}^1} \bigg( \mathbf{n} \cdot \frac{\partial \phi}{\partial \mathbf{x}^2} \bigg) = \frac{\partial \mathbf{n}}{\partial \mathbf{x}^1} \cdot \frac{\partial \phi}{\partial \mathbf{x}^2} + \mathbf{n} \cdot \frac{\partial^2 \phi}{\partial \mathbf{x}^1 \partial \mathbf{x}^2} = 0\]因此有:
\[\frac{\partial \mathbf{n}}{\partial \mathbf{x}^2} \cdot \frac{\partial \phi}{\partial \mathbf{x}^1} = \frac{\partial \mathbf{n}}{\partial \mathbf{x}^1} \cdot \frac{\partial \phi}{\partial \mathbf{x}^2}\]令\(t_1 = \frac{\partial \phi}{\partial \mathbf{x}^1}\),\(t_2 = \frac{\partial \phi}{\partial \mathbf{x}^2}\),上式可以重新记为:
\[t_1 \cdot d\mathbf{n} (t_2) = t_2 \cdot d\mathbf{n} (t_1)\]上式表明对于基向量\(\mathbf{x}^1\)和\(\mathbf{x}^2\),第二基本形式\(\mathbf{II}\)满足对称性。进一步利用\(\mathbf{II}\)的双线性性质可以证明对于任意向量\(\mathbf{v}\)和\(\mathbf{w}\),对称性同样成立:
\[\mathbf{II} (\mathbf{v}, \mathbf{w}) = \mathbf{II} (\mathbf{w}, \mathbf{v})\]我们还可以定义一个矩阵\(l_{ij}=\mathbf{II}(t_i, t_j)\),显然矩阵\(l_{ij}\)是一个对称矩阵。
Curvatures
Principal Directions and Curvatures
利用曲面的第二基本形式可以定义曲面上的曲率。我们假设切平面上存在一组正交基\(\mathbf{e}_1, \mathbf{e}_2 \in T_\mathbf{p} \mathcal{M}\),因此切平面上的任意单位向量可以表示为:
\[\mathbf{v}_\theta = \mathbf{e}_1 \cos{\theta} + \mathbf{e}_2 \sin{\theta}\]我们把\(\mathbf{v}_\theta\)带入曲面的第二基本形式就得到了该方向上的曲率:
\[\kappa_\theta = \mathbf{II} (\mathbf{v}_\theta, \mathbf{v}_\theta)\]当我们旋转角度\(\theta\)时会得到不同的曲率,其中最小和最大的两个曲率\(\kappa_{\min}\)和\(\kappa_{\max}\)称为曲面的主曲率(principal Curvature),对应的方向则称为主方向(principal direction)。
实际上两个主方向还是相互正交的,因此我们可以把\(\mathbf{e}_1\)和\(\mathbf{e}_2\)的方向取为主方向。此时可以得到更简洁的曲率表达式:
\[\kappa_\theta = \kappa_{\min} \cos^2 \theta + \kappa_{\max} \sin^2 \theta\]Curvature Measures
利用主曲率我们还可以定义曲面的Gauss曲率(Gaussian curvature)和平均曲率(mean curvature),它们同样与曲面的第二基本形式有深刻的联系:
\[K = \kappa_{\min} \cdot \kappa_{\max} = \det \mathbf{II}\] \[H = \frac{1}{2} (\kappa_{\min} + \kappa_{\max}) = \frac{1}{2} \text{tr} \ \mathbf{II}\]Interpretation
Gauss曲率和平均曲率在工程中有着大量的应用。Gauss曲率描述了曲面凹凸的行为,而平均曲率则描述了曲面和法向之间的关系。
还可以证明上面定义的平均曲率实际也是字面意义的「平均」曲率。
对于二次曲面,我们可以使用Gauss曲率和平均曲率来判别曲面的形式。
除此之外,我们还可以从曲面测地圆(geodesic circle)的角度来理解Gauss曲率。
曲面论基本定理指出,曲面可以由第一基本形式和第二基本形式唯一确定。
Mean Curvature Normal
平均曲率与曲面的面积有深刻的联系,这里我们用variational calculus来推导它们之间的关系。首先我们引入局部参数化\(f_t(u, v): U \subseteq \mathbb{R}^2 \rightarrow \mathbb{R}^3\),此时可以定义三个导数\(T_u = \frac{\partial f_t}{\partial u}\)、\(T_v = \frac{\partial f_t}{\partial v}\)以及\(w_t = \frac{\partial f_t}{\partial t}\)。
我们可以把\(w_t\)理解为一个向量场,它会引导曲面局部的变形。我们的目标是计算Gateaux导数\(dA_{\mathcal{M}} (w)\),首先根据曲面面积公式有:
\[A(t) = \int \int_U \bigg\Vert \frac{\partial f_t}{\partial u} \times \frac{\partial f_t}{\partial v} \bigg\Vert_2 \ du dv = \int \int_U \Vert T_u \times T_v \Vert_2 \ du dv\]对\(A(t)\)求导有:
\[\begin{aligned} A'(t) &= \int \int_U \frac{d}{dt} \Vert T_u \times T_v \Vert_2 \ du dv \\ &= \int \int_U \Vert T_u \times T_v \Vert^{-1}_2 (T_u \times T_v) \cdot \frac{d}{dt} (T_u \times T_v) \ du dv \\ &= \int \int_U \mathbf{n} \cdot \bigg( \frac{\partial T_u}{\partial t} \times T_v + T_u \times \frac{\partial T_v}{\partial t} \bigg) \ du dv \\ &= \int \int_U \mathbf{n} \cdot \bigg( \frac{\partial w_t}{\partial u} \times T_v + T_u \times \frac{\partial w_t}{\partial v} \bigg) \ du dv \\ \end{aligned}\]利用混合积的性质\(a \cdot (b \times c) = b \cdot (c \times a)\),有:
\[\begin{aligned} A'(t) &= \int \int_U \mathbf{n} \cdot \bigg( \frac{\partial w_t}{\partial u} \times T_v + T_u \times \frac{\partial w_t}{\partial v} \bigg) \ du dv \\ &= \int \int_U \bigg( \frac{\partial w_t}{\partial u} \cdot ( T_v \times \mathbf{n} ) + \frac{\partial w_t}{\partial v} \cdot( \mathbf{n} \times T_u ) \bigg) \ du dv \end{aligned}\]接下来使用分部积分可以得到:
\[\begin{aligned} A'(t) &= \int \int_U \bigg( \frac{\partial w_t}{\partial u} \cdot ( T_v \times \mathbf{n} ) + \frac{\partial w_t}{\partial v} \cdot( \mathbf{n} \times T_u ) \bigg) \ du dv \\ &= -\int \int_U w_t \cdot \bigg( \frac{\partial}{\partial u} ( T_v \times \mathbf{n} ) + \frac{\partial}{\partial v} ( \mathbf{n} \times T_u ) \bigg) \ du dv \end{aligned}\]对括号内的部分进行展开有:
\[\begin{aligned} \frac{\partial}{\partial u} ( T_v \times \mathbf{n} ) + \frac{\partial}{\partial v} ( \mathbf{n} \times T_u ) &= \frac{\partial T_v}{\partial u} \times \mathbf{n} + T_v \times \frac{\partial \mathbf{n}}{\partial u} + \frac{\partial \mathbf{n}}{\partial v} \times T_u + \mathbf{n} \times \frac{\partial T_u}{\partial v} \\ &= \frac{\partial T_v}{\partial u} \times \mathbf{n} + T_v \times \frac{\partial \mathbf{n}}{\partial u} + \frac{\partial \mathbf{n}}{\partial v} \times T_u - \frac{\partial T_u}{\partial v} \times \mathbf{n} \\ &= T_v \times \frac{\partial \mathbf{n}}{\partial u} + \frac{\partial \mathbf{n}}{\partial v} \times T_u \end{aligned}\]然后整理得到:
\[\begin{aligned} A'(t) &= -\int \int_U w_t \cdot \bigg( T_v \times \frac{\partial \mathbf{n}}{\partial u} + \frac{\partial \mathbf{n}}{\partial v} \times T_u \bigg) \ du dv \\ &= -\int \int_U w_t \cdot \bigg( T_v \times d\mathbf{n} (T_u) - T_u \times d\mathbf{n} (T_v) \bigg) \ du dv \end{aligned}\]注意到\(d\mathbf{n} (T_u)\)和\(d\mathbf{n} (T_v)\)都位于切平面上,根据叉乘的几何意义括号内的部分一定垂直于切平面。因此整个积分可以重新表示为:
\[\begin{aligned} A'(t) &= -\int \int_U w_t \cdot \bigg( T_v \times d\mathbf{n} (T_u) - T_u \times d\mathbf{n} (T_v) \bigg) \ du dv \\ &= -\int \int_U (w_t \cdot \mathbf{n}) \ \bigg( \big( T_v \times d\mathbf{n} (T_u) - T_u \times d\mathbf{n} (T_v) \big) \cdot \mathbf{n} \bigg) \ du dv \\ &= \int \int_U (w_t \cdot \mathbf{n}) \ ( \mathbf{II}(T_u, T_u) + \mathbf{II}(T_v, T_v) ) \ du dv \\ &= 2\int \int_U w_t \cdot (H \mathbf{n}) \ du dv \end{aligned}\]式中向量\(H \mathbf{n}\)称为mean curvature normal,它的方向为曲面法向而大小等于该处的平均曲率。
最后我们来计算Gateaux导数:
\[dA(w) = \int_\mathcal{M} w \cdot (H \mathbf{n}) \ dA\]这里我们可以把\(H \mathbf{n}\)看做曲面面积的梯度,这样就可以通过设计\(w\)来调整曲面的面积。平均曲率流(mean curvature flow)就是利用的微分方程mean curvature normal来调整曲面上点的位置并逐步减少曲面面积的算法:
\[\frac{\partial \mathbf{x}}{\partial t} = - H \mathbf{n}\]通过平均曲率流可以使曲面收敛到极小曲面(minimal surface),即给定边界条件下面积最小的曲面。