CCG 08-02:离散共形度量与曲率流

本页只解决一个问题

circle packing 和 vertex scaling 怎样把曲率处方变成顶点变量演化?

本页是原长篇讲义的单概念版本。第一次阅读只追踪本页定义的对象;看见未掌握的前置符号时,先沿链接退回,不要跳过定义硬背结论。

开始前

3. 离散曲率处方问题

给定三角网格和初始内在边长lij0l_{ij}^0,寻找离散共形因子uiu_i,产生新边长lij(u)l_{ij}(u),使

Ki(u)=Kˉi.K_i(u)=\bar K_i.

目标曲率必须满足:

∑i∈V∘Kˉi+∑i∈∂Vkˉi=2πχ(M).\sum_{i\in V^\circ}\bar K_i +\sum_{i\in\partial V}\bar k_i =2\pi\chi(M).

此外还存在局部可实现性不等式;只满足总和通常不够。

4. 两类离散共形度量

4.1 Circle packing / circle pattern

给每个顶点圆半径ri=euir_i=e^{u_i}。在欧氏背景中,一种常见边长模型:

lij2=ri2+rj2+2rirjcos⁡Φij,l_{ij}^2 =r_i^2+r_j^2+2r_ir_j\cos\Phi_{ij},

其中Φij\Phi_{ij} 是交角。相切圆对应Φij=0\Phi_{ij}=0,于是lij=ri+rjl_{ij}=r_i+r_j。

4.2 Vertex scaling

以已有边长为基准:

lij(u)=e(ui+uj)/2lij0.\boxed{l_{ij}(u)=e^{(u_i+u_j)/2}l_{ij}^0.}

它是连续共形缩放的离散对应。每个三角形角度由新边长通过余弦定理计算。

固定 triangulation 时,某些uu 会使三角不等式失效。现代离散共形理论通常允许执行 intrinsic Delaunay flip,使算法跨越不同三角剖分单元。

5. 离散 Ricci/Yamabe 流

最直接的 ODE:

duidt=Kˉi−Ki(u).\boxed{ \frac{du_i}{dt}=\bar K_i-K_i(u). }

显式 Euler:

ui(n+1)=ui(n)+Δt(Kˉi−Ki(u(n))).u_i^{(n+1)} =u_i^{(n)}+\Delta t(\bar K_i-K_i(u^{(n)})).

它直观但步长受稳定性限制。更快方法利用变分能量和 Hessian 做 Newton 迭代。

读完必须能回答

  1. 不看公式,用自己的话回答开头的核心问题。
  2. 指出本页最重要公式中每个符号的类型:标量、向量、矩阵、映射还是集合。
  3. 找出定理成立所需的假设,并举一个删除某条假设后可能失败的例子。
  4. 对最小例子手算一遍;若本页含代码,再比较手算与程序输出。

前后课程

上一课:连续 Ricci 流与 Yamabe 方程 | 下一课:曲率 Jacobian 与 Ricci 能量