参考讲义:离散 Ricci 流与双曲结构
自动关联目录:离散 Ricci 流与双曲结构
本页是集中复习用的长篇参考。第一次学习请进入 模块 8:离散 Ricci 流与双曲结构,按 6 个单概念短课阅读。
本章目标
参数化可以通过求坐标实现,也可以通过改度量实现:在同一共形类内调节局部尺度,使高斯曲率达到目标分布,然后把所得平坦/球面/双曲度量发展到标准空间。
本章建立:
1. 连续二维 Ricci 流
一般 Ricci 流:
二维中
所以
这是纯共形变化。若,则
故
1.1 归一化 Ricci 流
为了保持面积,使用平均曲率
并令
曲率高于平均处收缩,低于平均处膨胀,最终趋向常曲率度量(在相应条件下)。
2. 共形曲率变换与 Yamabe 方程
若
二维曲率满足
给定目标曲率,求 满足
它是非线性椭圆 PDE。Gauss–Bonnet 给出必要兼容条件:
离散情形也必须满足目标曲率总和约束。
3. 离散曲率处方问题
给定三角网格和初始内在边长,寻找离散共形因子,产生新边长,使
目标曲率必须满足:
此外还存在局部可实现性不等式;只满足总和通常不够。
4. 两类离散共形度量
4.1 Circle packing / circle pattern
给每个顶点圆半径。在欧氏背景中,一种常见边长模型:
其中 是交角。相切圆对应,于是。
4.2 Vertex scaling
以已有边长为基准:
它是连续共形缩放的离散对应。每个三角形角度由新边长通过余弦定理计算。
固定 triangulation 时,某些 会使三角不等式失效。现代离散共形理论通常允许执行 intrinsic Delaunay flip,使算法跨越不同三角剖分单元。
5. 离散 Ricci/Yamabe 流
最直接的 ODE:
显式 Euler:
它直观但步长受稳定性限制。更快方法利用变分能量和 Hessian 做 Newton 迭代。
6. 曲率映射的 Jacobian
在固定组合结构和合法度量区域内,离散曲率对 的导数构成对称矩阵:
在常见欧氏 vertex scaling 约定中, 是余切 Laplace 型矩阵(具体符号和 因子依 定义而异):
因此:
- 对称;
- ,统一加常数只改变整体尺度;
- 固定尺度后通常正定/半正定;
- 曲率处方可写成凸优化。
7. Ricci 能量
若曲率 1-形式
是闭的,则存在势能
满足
求目标曲率等价于最小化。
7.1 Newton 步
解
更新
需要固定一个 或约束
消除尺度零空间。
8. line search 与合法性
Newton 全步可能造成:
- 三角不等式失效;
- 能量上升;
- 曲率残差增大;
- 需要 Delaunay flip 却未执行。
回溯线搜索:从 开始反复减半,直到
- 所有三角形合法;
- 能量满足 Armijo 下降;
- 若使用动态 triangulation,完成必要翻边后重新评估。
停止条件应同时看
和线性求解残差。
9. Intrinsic Delaunay triangulation
内部边 两侧对角 满足 intrinsic Delaunay 条件
等价于
所以 Delaunay 三角剖分保证余切边权非负。度量改变时 Delaunay 条件可能被破坏,需要 flip 对角线。
9.1 Ptolemy 更新
对共圆四边形边长 和对角线:
离散共形 flip 可用 Ptolemy 关系更新新对角线,保持离散共形结构的一致性。
10. 从目标曲率得到标准参数域
10.1 球面型:
闭 genus-0 曲面目标常取常正曲率。得到球面度量后,用发展映射或离散嵌入恢复 上坐标,再用 Möbius 归一化消除自由度。
10.2 欧氏型:
环面目标曲率全为 0,得到平坦度量。沿同调基切开并发展到平面,获得平行四边形周期域。
带边界圆盘常将内部曲率设为 0,并将边界曲率集中或均匀分布,使其展开为平面多边形。
10.3 双曲型:
高亏格闭曲面目标为负曲率。离散双曲三角形边长和角度使用双曲余弦定理:
最终发展到 Poincaré 圆盘或上半平面,并记录 Fuchsian 群边配对。
11. 双曲几何基础
Poincaré 圆盘度量:
距离:
圆盘自同构
既是 Möbius 变换,也是双曲等距。
双曲三角形面积:
(曲率)。角和小于,角亏损直接等于面积。
12. 离散曲率流伪代码
input: triangulation T, initial lengths l0, target curvature K_bar
u <- 0
fix scale gauge, e.g. sum(u) = 0
repeat:
l <- conformal_lengths(l0, u)
while T is not intrinsic Delaunay:
flip offending edge
update intrinsic length with Ptolemy relation
theta <- triangle_angles(l)
K <- angle_defects(theta)
residual <- K - K_bar
if max_abs(residual) < tolerance: break
H <- curvature_jacobian(theta) # Laplace-type Hessian
du <- solve_gauged_system(H, -residual)
step <- backtracking_line_search(u, du)
u <- u + step * du
output: conformal factor u, final intrinsic metric l, triangulation T13. 数值不变量与诊断
每次迭代至少记录:
| 量 | 应满足 |
|---|---|
| 目标曲率总和 | (含边界版本) |
| 当前曲率总和 | 数值上保持 Gauss–Bonnet |
| 最小三角不等式余量 | 严格为正 |
| 非 Delaunay 边数 | 翻边后为 0 |
| 下降至容差 | |
| 或固定点 | 满足尺度规范 |
| Hessian 最小非零特征值 | 不应异常接近 0 |
14. Ricci flow 与调和参数化的区别
| 调和/LSCM | Ricci/Yamabe flow |
|---|---|
| 直接求点的二维坐标 | 先求目标内在度量 |
| 通常是线性或二次优化 | 非线性曲率处方 |
| 边界/锚点强烈影响结果 | 目标曲率与拓扑主导 |
| 适合圆盘参数化 | 可统一球面、环面、高亏格 |
| 输出坐标 | 输出度量,之后还需 development |
15. 常见错误
- 目标曲率不满足 Gauss–Bonnet,问题根本无解。
- 忘记固定尺度,Hessian 奇异。
- 固定原三角剖分不翻边,迭代撞上三角不等式边界。
- 把角度亏损当作曲率密度;二者相差 dual area。
- Newton 不做 line search,远离解时发散。
- 得到目标度量后直接把原三维坐标当作参数坐标;仍需发展映射。
- 球面/双曲参数未做自同构归一化,比较结果会漂移。
16. 习题
计算题
- 从 推导二维 Ricci 流的。
- 给定一个四面体表面,设计满足 Gauss–Bonnet 的均匀目标曲率。
- 对双曲三角形 推导角与边长关系。
- 验证 Poincaré 圆盘距离在圆盘 Möbius 自同构下不变。
证明题
- 证明归一化 Ricci 流保持总面积。
- 用 Gauss–Bonnet 说明闭环面不可能具有处处正曲率的常曲率度量。
- 解释 对应整体尺度自由度。
- 证明 Delaunay 条件等价于余切权重非负。
实现题
- 实现 Euclidean vertex scaling 和三角角度重算。
- 用有限差分验证解析曲率 Jacobian。
- 实现带零均值约束的 Newton 迭代与回溯线搜索。
- 对带孔圆盘指定边界曲率,展开为平面圆域。
- 输出每轮能量、最大曲率残差和 flip 次数的曲线。
17. 本章结论
离散 Ricci 流的核心不是“反复改半径”,而是一个受拓扑约束的凸变分问题:
它将一致化定理变成可计算算法,并自然处理球面、平坦和双曲三类曲面。
下一篇讨论课程最后一条主线:最优输运如何从测度匹配、凸几何和 Monge–Ampère 方程进入几何处理与深度学习:最优输运与几何深度学习。