Please enable Javascript to view the contents

几何处理(2):微分几何基础

 ·  ☕ 7 分钟

1. 连续曲线

image-20220305213041172

设有参数曲线$\pmb C(u)$,点$\pmb p$在曲线的$u_0$处,即:
$$
\pmb p=\pmb C(u_0)
$$
曲线在$u_0$处的切线与$\pmb C(u)$的一阶导数相关:
$$
\pmb C_u=\frac{\partial \pmb C(u)}{\partial u}
$$
切线方向:
$$
\pmb T=\frac{\pmb C_u}{\|\pmb C_u\|}
$$
副法向量:
$$
\begin{aligned}
\pmb C_{uu}&=\frac{\partial^2\pmb C(u)}{\partial u^2}\\\\
\pmb B&=\frac{\pmb C_u\times\pmb C_{uu}}{\|\pmb C_u\times\pmb C_{uu}\|}
\end{aligned}
$$
主法向量:
$$
\begin{aligned}
\pmb N&=\frac{\pmb C_{uu}-(\pmb T\cdot \pmb C_{uu})\cdot\pmb T}{\|\pmb C_{uu}-(\pmb T\cdot \pmb C_{uu})\cdot\pmb T\|}\\\\
&=\pmb B\times \pmb T\\\\
&=\frac{(\pmb C_u\times\pmb C_{uu})\times\pmb C_u}{\|\pmb C_u\times\pmb C_{uu}\|\|\pmb C_u\|}
\end{aligned}
$$
image-20220305215512222

曲线曲率的计算:
$$
\begin{aligned}
\pmb N_T&=\pmb N_s=\pmb N_u\frac{\partial u}{\partial s}\\\\
\pmb T&=\pmb C_s=\pmb C_u\frac{\partial u}{\partial s}=\frac{C_u}{\|\pmb C_u\|}=\pmb C_u\frac{1}{\sqrt{\pmb C_u\cdot\pmb C_u}}\\\\
\kappa&=-\pmb T\cdot\pmb N_T\\\\
&=-\pmb C_s\cdot\pmb N_s\\\\
&=-\left(\pmb C_u\frac{\partial u}{\partial s}\right)\cdot\left(\pmb N_u\frac{\partial u}{\partial s}\right)\\\\
&=-(\pmb C_u\cdot\pmb N_u)\left(\frac{\partial u}{\partial s}\right)^2\\\\
&=-\frac{\pmb C_u\cdot\pmb N_u}{\pmb C_u\cdot\pmb C_u}\\\\
&=\frac{\|\pmb C_u\times\pmb C_{uu}\|}{\|\pmb C_u\|^3}
\end{aligned}
$$

2. 连续曲面

2.1. 基本性质

image-20200820160808444

设有参数曲面$\pmb S(u,v)$,点$\pmb p$在曲面的$(u_0, v_0)$处,即:
$$
\pmb p=\pmb S(u_0,v_0)
$$
$u$方向的切向量$\pmb S_u$:
$$
\pmb S_u=\frac{\partial\pmb S(u,v)}{\partial u}
$$
$v$方向的切向量$\pmb S_v$:
$$
\pmb S_v=\frac{\partial\pmb S(u,v)}{\partial v}
$$
切平面$\pmb T$则为切向量$\pmb S_u$和$\pmb S_v$张成的平面:
$$
\pmb T=u\pmb S_u+v\pmb S_v
$$
曲面第一基本形式$\pmb I_s$:
$$
\begin{aligned}
\pmb T\cdot\pmb T
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}\pmb S_u\\\pmb S_v\end{pmatrix}\cdot\begin{pmatrix}\pmb S_u&\pmb S_v\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}\pmb S_u\cdot\pmb S_u&\pmb S_u\cdot\pmb S_v\\\pmb S_u\cdot\pmb S_v&\pmb S_v\cdot\pmb S_v\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}\pmb E&\pmb F\\\pmb F&\pmb G\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\pmb I_S\begin{pmatrix}u\\v\end{pmatrix}
\end{aligned}
$$
第一基本形式使得曲面的曲率和度量性质(比如长度与面积)可与参数空间一致地计算。

法向量$\pmb N$垂直于两条切向量:
$$
\pmb N=\frac{\pmb S_u\times\pmb S_v}{\|\pmb S_u\times\pmb S_v\|}
$$
曲率计算:
$$
\begin{aligned}
\kappa&=-\pmb T\cdot\pmb N_T\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}-\pmb S_u\\-\pmb S_v\end{pmatrix}\cdot\begin{pmatrix}\pmb N_u&\pmb N_v\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}-\pmb S_u\cdot\pmb N_u&-\pmb S_u\cdot\pmb N_v\\-\pmb S_v\cdot\pmb N_u& -\pmb S_v\cdot \pmb N_v\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}\pmb S_{uu}\cdot\pmb N_{u}&-\pmb S_{uv}\cdot\pmb N_v\\\pmb S_{vu}\cdot\pmb N_u& \pmb S_{vv}\cdot \pmb N_v\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\begin{pmatrix}\pmb L&\pmb M\\\pmb M&\pmb N\end{pmatrix}\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\pmb{II}_s\begin{pmatrix}u\\v\end{pmatrix}
\end{aligned}
$$
过曲面上某点会有无穷个正交曲率,其中极大值$\kappa_\max$和极小值$\kappa_\min$称为主曲率

若$\kappa_\min\neq\kappa_\max$,则能够找到两个唯一的单位切向量$\pmb t_1$和$\pmb t_2$,称为主方向,与主曲率相关联。

对曲面上满足$\kappa_\min=\kappa_\max$的点,该点的所有切向量均为主向量。

2.2. 曲率张量与局部性质

取曲面$\pmb S$的切平面并构造正交基

image-20200820162049612
$$
\begin{pmatrix}
\pmb S_u\\\pmb S_v
\end{pmatrix}=
\begin{pmatrix}
a&0\\b\cos\theta&b\sin\theta
\end{pmatrix}
\begin{pmatrix}
\pmb S_s\\\pmb S_t
\end{pmatrix}=
\pmb A\begin{pmatrix}
\pmb S_s\\\pmb S_t
\end{pmatrix}
$$
第一基本形式:
$$
\begin{aligned}
\pmb I_s
&=\begin{pmatrix}
\pmb S_u\\\pmb S_v
\end{pmatrix}\cdot\begin{pmatrix}
\pmb S_u&\pmb S_v
\end{pmatrix}\\\\
&=\pmb A\begin{pmatrix}
\pmb S_s\\\pmb S_t
\end{pmatrix}\cdot\begin{pmatrix}
\pmb S_s&\pmb S_t
\end{pmatrix}\pmb A^T\\\\
&=\pmb A\pmb A^T=\begin{pmatrix}a^2&ab\cos\theta\\ab\cos\theta&b^2\end{pmatrix}
\end{aligned}
$$
image-20200820162506319

用$(u,v)$和$(s,t)$表示点$T$
$$
\begin{aligned}
T&=\begin{pmatrix}u&v\end{pmatrix}
\begin{pmatrix}\pmb S_u\\\pmb S_v\end{pmatrix}=
\begin{pmatrix}s&t\end{pmatrix}
\begin{pmatrix}\pmb S_s\\\pmb S_t\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\pmb A
\begin{pmatrix}\pmb S_s\\\pmb S_t\end{pmatrix}=
\begin{pmatrix}s&t\end{pmatrix}A^{-1}
\begin{pmatrix}\pmb S_u\\\pmb S_v\end{pmatrix}
\end{aligned}
$$
因此有:
$$
\begin{aligned}
\begin{pmatrix}s&t\end{pmatrix}&=\begin{pmatrix}u&v\end{pmatrix}\pmb A\\\\
\begin{pmatrix}u&v\end{pmatrix}&=\begin{pmatrix}s&t\end{pmatrix}\pmb A^{-1}
\end{aligned}
$$
曲率计算:
$$
\begin{aligned}
\kappa_T&=-\pmb T\cdot\pmb N_T\\\\
&=\begin{pmatrix}u&v\end{pmatrix}
\begin{pmatrix}-\pmb S_u\\-\pmb S_v\end{pmatrix}\cdot
\begin{pmatrix}\pmb N_u&\pmb N_v\end{pmatrix}
\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}u&v\end{pmatrix}\pmb {II}_s
\begin{pmatrix}u\\v\end{pmatrix}\\\\
&=\begin{pmatrix}s&t\end{pmatrix}\pmb A^{-1}\pmb {II}_s(\pmb A^{-1})^T
\begin{pmatrix}s\\t\end{pmatrix}\\\\
&=\begin{pmatrix}s&t\end{pmatrix}\pmb{II}_{\tilde s}
\begin{pmatrix}s\\t\end{pmatrix}
\end{aligned}
$$
其中,
$$
\pmb{II}_{\tilde s}=\pmb A^{-1}\pmb {II}_s(\pmb A^{-1})^T
$$
image-20200820164650368

对$\pmb{II}_{\tilde s}$进行特征分析:

  • 特征值:${\kappa_1,\kappa_2}$
  • 特征向量:${\pmb E_1,\pmb E_2}$

$\pmb{II}_{\tilde s}$的特征分解
$$
\pmb{II}_{\tilde s}=\hat{\pmb V}\pmb \Lambda\hat{\pmb V}^{-1}=
\begin{pmatrix}s_1&s_2\\t_1&t_2\end{pmatrix}
\begin{pmatrix}\kappa_1&0\\0&\kappa_2\end{pmatrix}
\begin{pmatrix}s_1&s_2\\t_1&t_2\end{pmatrix}^{-1}
$$

$$
\begin{pmatrix}\pmb E_1&\pmb E_2\end{pmatrix}=
\begin{pmatrix}\pmb S_s&\pmb S_t\end{pmatrix}
\begin{pmatrix}s_1&s_2\\t_1&t_2\end{pmatrix}
$$

其中,特征值$\kappa_1$和$\kappa_2$称为主曲率,对应特征向量称为主方向,过曲面上某个点上具有无穷个正交曲率,而主曲率则对应正交曲率的极值,主方向张成该正交曲率下法向量对应的切平面

image-20200820165156343

设给定法向量下切平面内的任一切向量$\pmb t$在坐标系$\{\pmb S_t,\pmb S_s\}$下的坐标为$(s,t)$,设
$$
\begin{aligned}
s=\cos(\alpha+\varphi)\\
t=\sin(\alpha+\varphi)
\end{aligned}
$$
则有:
$$
\begin{aligned}
\begin{pmatrix}s\\t\end{pmatrix}
&=\begin{pmatrix}\cos(\varphi+\alpha)\\\sin(\varphi+\alpha)\end{pmatrix}
=\begin{pmatrix}\cos\varphi\cos\alpha-\sin\varphi\sin\alpha\\
\sin\varphi\cos\alpha+\cos\varphi\sin\alpha\end{pmatrix}\\\\
&=\begin{pmatrix}\cos\varphi&-\sin\varphi\\\sin\varphi&\cos\varphi\end{pmatrix}\begin{pmatrix}\cos\alpha\\\sin\alpha\end{pmatrix}\\\\
&=\pmb V\begin{pmatrix}\cos\alpha\\\sin\alpha\end{pmatrix}
\end{aligned}
$$
因此$\pmb t$对应的法向曲率为:
$$
\begin{aligned}
\kappa_\alpha&=
\begin{pmatrix}s&t\end{pmatrix}\pmb{II}_{\tilde s}\begin{pmatrix}s\\t\end{pmatrix}\\\\
&=\begin{pmatrix}\cos(\varphi+\alpha)&\sin(\varphi+\alpha)\end{pmatrix}\pmb{II}_{\tilde s}\begin{pmatrix}\cos(\varphi+\alpha)\\\sin(\varphi+\alpha)\end{pmatrix}\\\\
&=\begin{pmatrix}\cos\alpha&\sin\alpha\end{pmatrix}\pmb V^{-1}\pmb{II}_{\tilde s}\pmb V\begin{pmatrix}\cos\alpha\\\sin\alpha\end{pmatrix}\\\\
&=\begin{pmatrix}\cos\alpha&\sin\alpha\end{pmatrix}
\begin{pmatrix}\kappa_1&0\\0&\kappa_2\end{pmatrix}
\begin{pmatrix}\cos\alpha\\\sin\alpha\end{pmatrix}\\\\
&=\kappa_1\cos^2\alpha+\kappa_2\sin^2\alpha
\end{aligned}
$$
上式又称为欧拉定理,描述了主方向和切线向量之间的定量关系

定义Weingarten映射:
$$
\begin{aligned}
\pmb W
&=\pmb I_s^{-1}\pmb{II}_s\\\\
&=((\pmb A^{-1})^T\pmb A^{-1})(\pmb A\pmb{II}_{\tilde s}\pmb A^T)\\\\
&=(\pmb A^{-1})^T\pmb A^{-1}\pmb A\pmb{II}_{\tilde s}\pmb A^T\\\\
&=(\pmb A^{-1})^T(\hat{\pmb V}\pmb\Lambda\hat{\pmb V}^{-1})\pmb A^T\\\\
&=((\pmb A^{-1})^T\hat{\pmb V})\pmb\Lambda((\pmb A^{-1})^T\hat{\pmb V})^{-1}\\\\
&=\pmb V\pmb \Lambda\pmb V^{-1}
\end{aligned}
$$
其中,$\pmb \Lambda=\begin{pmatrix}\kappa_1&0\\0&\kappa_2\end{pmatrix}$,$\pmb V=(\pmb A^{-1})^T\hat{\pmb V}=(\pmb A^{-1})\begin{pmatrix}s_1&s_2\\t_1&t_2\end{pmatrix}=\begin{pmatrix}u_1&u_2\\v_1&v_2\end{pmatrix}$


$$
\begin{aligned}
\pmb W&=\pmb I_s^{-1}\pmb{II}_s\\\\
&=\frac{1}{{EG}- F^2}\begin{pmatrix} G&- F\\- F& E\end{pmatrix}\begin{pmatrix} L& M\\- M& N\end{pmatrix}\\\\
&=\frac{1}{ {EG}- F^2}\begin{pmatrix} {GL}-{FM}&{GM}-{FN}\\{EM}-{FL}&{EN}-{FM}\end{pmatrix}
\end{aligned}
$$

因此可得:

$$
\begin{aligned}
\kappa_{1,2}&=\frac{GL-2FM+EN\pm\sqrt{(GL-2FM+EN)^2-4(EG-F^2)(LN-M^2)}}{2(EG-F^2)}
\end{aligned}
$$
高斯曲率:
$$
\kappa_G=\kappa_1\kappa_2=\det(\pmb W)=\frac{LN-M^2}{EG-F^2}
$$
平均曲率:
$$
\kappa_M=\frac{\kappa_1+\kappa_2}{2}=\frac{trace(\pmb W)}{2}=\frac{GL-2FM+EN}{2(EG-F^2)}
$$

2.3. 内蕴几何

微分几何中仅依赖于第一基本形式的性质称为内蕴性质,直观地说,一个表面的内蕴几何结构可以被生活在表面上的2D生物感知,而不需要了解第三维,例如曲面上曲线的长度和角度为内蕴量。高斯曲率在局部等距下是不变的,因此也为内蕴量。而平均曲率在等距下不是不变的,取决于嵌入。

2.4. Laplace算子

二维参数函数$f(u,v)$的Laplace算子表示为二阶导数:
$$
\Delta f=\mathrm{div}\nabla f=\mathrm{div}\begin{pmatrix}f_u\\f_v\end{pmatrix}=f_{uu}+f_{vv}
$$
Laplace-Beltramis算子对定义在曲面上的函数进行扩展,对于定义在流形曲面$\mathcal S$上的函数$f$,Laplace-Beltrami算子定义为:
$$
\Delta_{\mathcal S}f=\mathrm{div}_\mathcal S\nabla_\mathcal Sf
$$
这需要对流形上的散度和梯度算子有一个合适的定义。应用在曲面坐标函数$\pmb X$上,Laplace-Beltrami算子计算平均曲率法线:
$$
\Delta_\mathcal S\pmb X=-2H\pmb n
$$
尽管该方程将Laplace-Beltrami算子与曲面的(非内蕴)平均曲率联系起来,但算子本身是一个内蕴属性,仅取决于曲面的度量,即第一基本形式。

3. 离散微分算子

3.1. 局部平均域

image-20220306112523300

  • 基本思想:计算网格上点$\pmb x$的局部邻域$\mathcal N(\pmb x)$
  • 局部邻域大小决定了计算的稳定性与精度
    • 大范围局部平均:平滑化
    • 小范围局部平均:网格数据更精确
  • 计算方法
    • Barycentric cell:三角形重心(三角形中线交点)
    • Voronoi cell:三角形外心
    • 混合Voronoi cell:对于Voronoi cell中的钝角三角形,使用边的中点

3.2. 法向量

对网格中单独三角形$T=(\pmb x_i,\pmb x_j,\pmb x_k)$,法向量通过三角形两边的叉积进行定义:
$$
\pmb n(T)=\frac{(\pmb x_j-\pmb x_i)\times(\pmb x_k-\pmb x_i)}{\|(\pmb x_j-\pmb x_i)\times(\pmb x_k-\pmb x_i)\|}
$$
将顶点法线计算为局部单环邻域中法向量的空间平均值,即对邻域三角形法向量归一化加权求平均值:
$$
\pmb n(v)=\frac{\sum_{T\in\mathcal N_1(v)}\alpha_T\pmb n(T)}{\|\sum_{T\in\mathcal N_1(v)}\alpha_T\pmb n(T)\|}
$$
权重$\alpha_T$有多种选择:

  • $\alpha_T=1$:常数加权,计算高效,但不考虑边的长度、三角形区域或角度,因此对于非规则网格可能出现奇怪的结果
  • $\alpha_T=|T|$:基于三角形面积进行加权,计算高效,但有时也可能出现反直觉结果
  • $\alpha_T=\theta_T$:与邻域三角形角度相关的足够小测地圆盘,虽然计算代价增加,但总体会得到更好的结果

如下图所示,中间为常数加权和面积加权,右边为角度加权

image-20220306153845495

3.3. 梯度

假定每个网格顶点对应一个分段线性函数满足$f(v_i)=f(\pmb x_i)=f(\pmb u_i)=f_i$,对每个三角形$(\pmb x_i,\pmb x_j,\pmb x_k)$进行线性插值:
$$
f(\pmb u)=f_iB_i(\pmb u)+f_jB_j(\pmb u)+f_kB_k(\pmb u)
$$
其中$\pmb u=(u,v)$为网格的参数化坐标,则$f$的梯度给定为:
$$
\nabla f(\pmb u)=f_i\nabla B_i(\pmb u)+f_j\nabla B_j(\pmb u)+f_k\nabla B_k(\pmb u)
$$
由于基函数满足重心坐标关系,即对任意$\pmb u$,有:$B_i(\pmb u)+B_j(\pmb u)+B_k(\pmb u)=1$,因此基函数的梯度之和为零:$\nabla B_i(\pmb u)+\nabla B_j(\pmb u)+\nabla B_k(\pmb u)=0$,则$f$的梯度能够表示为:
$$
\nabla f(\pmb u)=(f_j-f_i)\nabla B_j(\pmb u)+(f_k-f_i)\nabla B_k(\pmb u)
$$
观察三角形重心插值的线性基函数:

image-20220306161506363

$B_i$表示为三角形投影所占的面积比,即:
$$
B_i(\pmb u)=\frac{A_i}{A_T}=\frac{\left((\pmb u-\pmb x_j)\cdot\dfrac{(\pmb x_k-\pmb x_j)^\perp}{\|\pmb x_k-\pmb x_j\|_2}\right)\|\pmb x_k-\pmb x_j\|_2}{2A_T}=\frac{(\pmb x-\pmb x_j)(\pmb x_k-\pmb x_j)^\perp}{2A_T}
$$
因此有:
$$
\begin{aligned}
\nabla B_i(\pmb u)=\frac{(\pmb x_k-\pmb x_j)^\perp}{2A_T}\\
\nabla B_j(\pmb u)=\frac{(\pmb x_i-\pmb x_k)^\perp}{2A_T}\\
\nabla B_k(\pmb u)=\frac{(\pmb x_j-\pmb x_i)^\perp}{2A_T}
\end{aligned}
$$
其中$\perp$表示在三角形平面内选择90°,$A_T$表示三角形$T$的面积,因此三角形$T$的分段线性函数的导数为:
$$
\begin{aligned}
\nabla f(\pmb u)&=
f_i\frac{(\pmb x_k-\pmb x_j)^\perp}{2A_T}+
f_j\frac{(\pmb x_i-\pmb x_k)^\perp}{2A_T}+
f_k\frac{(\pmb x_j-\pmb x_i)^\perp}{2A_T}\\\\
&=(f_j-f_i)\frac{(\pmb x_i-\pmb x_k)^\perp}{2A_T}+(f_k-f_i)\frac{(\pmb x_j-\pmb x_i)^\perp}{2A_T}
\end{aligned}
$$

3.4. 离散Laplace-Beltramis算子

3.4.1. Uniform Laplacian

$$
\Delta f(v_i)=\frac{1}{|\mathcal N_1(v_i)|}\sum_{v_j\in\mathcal N_1(v_i)}(f_j-f_i)
$$

  • 仅依赖于连接性:简单、高效
  • 对于非规则三角化逼近效果较差

3.4.2. Cotangent formula

image-20220306170029336

在相邻平均域上对$\Delta f$进行积分:
$$
\int_{A_i}\Delta f(\pmb u)\mathrm dA=\int_{A_i}\mathrm{div}\nabla f(\pmb u)\mathrm dA=\int_{\partial A_i}\nabla f(\pmb u)\cdot\pmb n(\pmb u)\mathrm ds
$$
将积分拆分成各个三角形上结果之和,由于局部Vorionoi域经过两个三角形边的中点$\pmb a$和$\pmb b$,因此有
$$
\begin{aligned}
\int_{\partial A_i\cap T}\nabla f(\pmb u)\cdot\pmb n(\pmb u)\mathrm ds
&=\nabla f(\pmb u)\cdot(\pmb a-\pmb b)^\perp\\
&=\frac{1}{2}\nabla f(\pmb u)\cdot(\pmb x_j-\pmb x_k)^\perp
\end{aligned}
$$
代入离散梯度有:
$$
\begin{aligned}
\int_{\partial A_i\cap T}\nabla f(\pmb u)\cdot\pmb n(\pmb u)\mathrm ds
&=(f_j-f_i)\frac{(\pmb x_i-\pmb x_k)^\perp\cdot(\pmb x_j-\pmb x_k)^\perp}{4A_T}+
(f_k-f_i)\frac{(\pmb x_j-\pmb x_i)^\perp\cdot(\pmb x_j-\pmb x_k)^\perp}{4A_T}
\end{aligned}
$$
设$\gamma_j$和$\gamma_k$为三角形顶点$v_j$和$v_k$处的内角,则三角形面积有:
$$
A_T=\frac{1}{2}\sin\gamma_j\|\pmb x_j-\pmb x_i\|\|\pmb x_j-\pmb x_k\|
=\frac{1}{2}\sin\gamma_k\|\pmb x_i-\pmb x_k\|\|\pmb x_j-\pmb x_k\|
$$

$$
\cos\gamma_j=\frac{(\pmb x_j-\pmb x_i)\cdot(\pmb x_j-\pmb x_k)}{\|\pmb x_j-\pmb x_i\|\|\pmb x_j-\pmb x_k\|}\quad \cos\gamma_j=\frac{(\pmb x_i-\pmb x_k)\cdot(\pmb x_j-\pmb x_k)}{\|\pmb x_i-\pmb x_k\|\|\pmb x_j-\pmb x_k\|}
$$
因此原表达式可简化为:
$$
\begin{aligned}
\int_{\partial A_i\cap T}\nabla f(\pmb u)\cdot\pmb n(\pmb u)\mathrm ds=
\frac{1}{2}(\cot\gamma_k(f_j-f_i)+\cot\gamma_j(f_k-f_i))
\end{aligned}
$$
整个积分则将所有三角形上的结果加起来即可:
$$
\int_{A_i}\Delta f(\pmb u)\mathrm dA=\frac{1}{2}\sum_{v_j\in\mathcal N_1(v_i)}(\cot\alpha_{i,j}+\cot\beta_{i,j})(f_j-f_i)
$$
取离散平均可得顶点$v_i$上函数$f$的离散Laplace-Beltramis算子:
$$
\Delta f(v_i):=\frac{1}{2A_i}\sum_{v_j\in\mathcal N_1(v_i)}(\cot\alpha_{i,j}+\cot\beta_{i,j})(f_j-f_i)
$$
依旧存在的问题:

  • 可能出现负权重
  • 与三角化相关

3.5. 离散曲率

image-20220306165729294

离散平均曲率:
$$
\Delta\pmb x=-2H\pmb n
$$
其中$H$即为所求。

离散绝对平均曲率:
$$
H(v_i)=\frac{1}{2}\|\Delta\pmb x_i\|
$$
离散高斯曲率:
$$
G(v_i)=\frac{1}{A_i}\left(2\pi-\sum_{v_j\in\mathcal N_1(v_i)}\theta_j\right)
$$
由$\kappa_G=\kappa_1\kappa_2$和$\kappa_M=(\kappa_1+\kappa_2)/2$可得主曲率:
$$
\kappa_{1,2}(v_i)=H(v_i)\pm\sqrt{H(v_i)^2-K(v_i)}
$$

3.6. 离散曲率张量

$$
\pmb C(v)=\frac{1}{A(v)}\sum_{\pmb e\in A(v)}\beta(\pmb e)\|\pmb e\cap A(v)\|\overline{\pmb e}\overline{\pmb e}^T
$$

其中,$\beta(\pmb e)$为的边$\pmb e$的两个相邻面法向的夹角,$\|\pmb e\cap A(v)\|$为在局部邻域$A(v)$中的$\pmb e$的部分长度,$\overline{\pmb e}=\pmb e/\|\pmb e\|$

分享

Wenbo Chen
作者
Wenbo Chen
CG Student

目录