DDG Discrete Curves
平面中的离散曲线
在离散微分几何中,离散曲线被定义为一种分段线性参数化曲线,即由一系列点通过直线段连接而成的几何对象。形式上,给定一组有序点 $\gamma_0, \gamma_1, \ldots, \gamma_n \in \mathbb{R}^2$,离散曲线 $\gamma$ 是由这些点依次相连构成的折线。其参数化表示为:
\[\gamma(s) = (1-t)\gamma_i + t\gamma_{i+1}, \quad \text{其中} \ s \in [s_i, s_{i+1}], \ t = \frac{s-s_i}{s_{i+1}-s_i}.\]为简化记号,常用 $\gamma_i$ 表示 $\gamma(s_i)$,即第 $i$ 个顶点的位置。
关键特性有:
- 分段线性:曲线在每对相邻点之间是直线段,整体呈现折线形态。
- 连续性与参数化:尽管离散,曲线仍是连续的参数化映射,但与传统光滑曲线的解析表达式不同。
- 离散微分形式:可通过抽象单纯复形和离散0-形式(顶点坐标)定义,利用Whitney基函数(如“帽子函数”)实现边上的插值。
示例
一个简单的例子是由两段线段组成的L形曲线:
\[\gamma(s) = \begin{cases} (s, 0), & 0 \leq s \leq 1, \\ (1, s-1), & 1 \leq s \leq 2. \end{cases}\]此曲线从点 $(0,0)$ 水平延伸至 $(1,0)$,再垂直延伸至 $(1,1)$。
离散曲线的微分
在光滑曲线的理论中,微分 $d\gamma$ 描述了曲线在每一点的切向量场。对于离散曲线,这一概念可以通过离散外微积分(Discrete Exterior Calculus)自然地推广:
离散曲线的微分 $d\gamma$ 被定义为边向量的集合。对于相邻顶点 $\gamma_i$ 和 $\gamma_j$,其对应的边向量为:
\[(d\gamma)_{ij} = \gamma_j - \gamma_i.\]这一表达式直接类比于光滑曲线中微分 $d\gamma = \frac{d\gamma}{ds}ds$ 的离散形式,其中边向量 $(d\gamma)_{ij}$ 取代了连续情形下的切向量 $\frac{d\gamma}{ds}$。
离散切线向量
在光滑曲线中,切线方向由导数 $\frac{d\gamma}{ds}$ 给出。对于离散曲线,我们通过归一化边向量来定义切线,但需要特别注意离散几何与连续几何的关键差异:
对于离散曲线的每一条边 $ij$(连接顶点 $\gamma_i$ 和 $\gamma_j$),其离散切线向量 $T_{ij}$ 定义为:
$ T_{ij} = \frac{(d\gamma){ij}}{|(d\gamma){ij}|} = \frac{\gamma_j - \gamma_i}{|\gamma_j - \gamma_i|}. $
这表示该边的单位方向向量,与光滑曲线中切线的局部方向作用类似。
离散法向量
在平面离散曲线中,法向量的定义延续了光滑曲线中的直观几何思想——通过切线旋转90度得到。然而,离散特性为其带来了独特的性质和应用限制。对于离散曲线的每一条边 $ij$,其离散法向量 $N_{ij}$ 由对应的单位切线 $T_{ij}$ 逆时针旋转90度生成:
\[N_{ij} = \mathcal{J}T_{ij}\]在二维平面中,若 $T_{ij} = (a, b)$,则法向量为 $N_{ij} = (-b, a)$。
正则离散曲线与离散浸入
在离散微分几何中,为了保证离散曲线具有与光滑曲线类似的良好性质,我们需要引入正则性(regularity)的概念。对于光滑曲线 其正则性要求等价于参数化是局部单射的(无自交或尖点)。
离散化后,直接推广会面临新问题:
- 边长度非零:
- 若边长度为零($\gamma_i = \gamma_j$),则微分 $(d\gamma)_{ij} = 0$,破坏了正则性。
- 但仅此条件不足,因相邻边可能形成零夹角。
- 局部单射性:
- 更强的要求是曲线作为映射是局部单射的,即排除以下情况:
- 边重叠(如两条边共线且部分重合)。
- 顶点自交(如一条边的端点穿过另一条边)。
- 更强的要求是曲线作为映射是局部单射的,即排除以下情况:
离散曲率
在《DDG(2):Curvature》已经提到了如下的定义:
离散平面曲线的基本定理
对于正则离散平面曲线,在刚体运动(平移/旋转)意义下,曲线由其边长度序列 ${l_{ij}}$ 和转角序列 ${\theta_i}$ 唯一确定。
其中:
- 边长度 $l_{ij} = |\gamma_j - \gamma_i|$
- 转角 $\theta_i$ 为相邻边 $ (i-1,i) $ 与 $ (i,i+1) $ 的有向夹角(逆时针为正)。
给定 ${l_{ij}}, {\theta_i}$ 和初始点 $\gamma_0$,按以下步骤重构曲线:
-
计算累积转角
从初始方向 $T_0 = (1,0)$ 开始,逐顶点计算边的全局方向角 $\varphi_i$:
\[\varphi_i = \varphi_{i-1} + \theta_{i-1}, \quad \text{其中} \ \varphi_0 = 0.\] -
生成单位切向量
将方向角转换为单位切向量:
\[T_i = (\cos \varphi_i, \sin \varphi_i).\] -
逐边积分求顶点坐标
通过累加边长与切向量的乘积得到顶点位置:
\(\gamma_i = \gamma_{i-1} + l_{i-1,i} \cdot T_{i-1}.\)
示例演示
给定数据:
- 边长度:$l_{01} = 1, l_{12} = 1, l_{23} = 1$
- 转角:$\theta_0 = 0°, \theta_1 = 90°, \theta_2 = 0°$
- 初始点:$\gamma_0 = (0,0)$
重建过程:
-
计算方向角:
- $\varphi_0 = 0°$
- $\varphi_1 = 0° + 0° = 0°$
- $\varphi_2 = 0° + 90° = 90°$
- $\varphi_3 = 90° + 0° = 90°$
-
切向量:
- $T_0 = (1,0)$
- $T_1 = (1,0)$
- $T_2 = (0,1)$
- $T_3 = (0,1)$
-
顶点坐标:
- $\gamma_1 = (0,0) + 1 \cdot (1,0) = (1,0)$
- $\gamma_2 = (1,0) + 1 \cdot (0,1) = (1,1)$
- $\gamma_3 = (1,1) + 1 \cdot (0,1) = (1,2)$
最终曲线为直角折线,验证定理正确性。
离散Whitney-Graustein定理
对于局部单射的正则离散平面曲线,其正则同伦类(即在不违反局部单射性的连续变形下的等价类)完全由离散转向数(Discrete Turning Number)决定,完美类比于光滑曲线的Whitney-Graustein定理。
方法 | 提出者 | 核心思想 | 适用场景 |
---|---|---|---|
构造性算法 | Mehlhorn & Yap (1991) | 通过案例分析将曲线逐步变形为标准多边形 | 计算几何实现 |
凸多面体法 | Pinkall (1994) | 将曲线提升到三维空间构造凸包,利用投影性质 | 理论分析 |
共同策略:
- 将目标曲线变形为标准参考曲线(如正多边形)。
- 通过组合两条曲线到参考曲线的路径得到同伦。
离散空间曲线
同理,离散空间曲线是三维空间中的分段线性参数化曲线,由有序顶点序列 ${\gamma_i} \in \mathbb{R}^3$ 通过直线段连接而成,其数学表示为:
\[\gamma(s) = (1-t)\gamma_i + t\gamma_{i+1}, \quad t \in [0,1], \ s \in [s_i,s_{i+1}].\]离散空间曲线基本定理
在刚体运动(平移+旋转)意义下,正则离散空间曲线由以下数据唯一确定:
- 边长度 ${l_{ij}}$(替代弧长参数)
- 顶点曲率 ${\kappa_i}$(相邻边外角)
- 边挠率 ${\tau_{ij}}$(法向量扭转角)
与光滑理论的类比
光滑曲线 | 离散曲线 | 几何意义 |
---|---|---|
弧长参数 $s$ | 边长度 $l_{ij}$ | 局部尺度度量 |
曲率 $\kappa(s)$ | 顶点外角 $\kappa_i$ | 局部弯曲程度 |
挠率 $\tau(s)$ | 边扭转角 $\tau_{ij}$ | 局部扭转程度 |
曲线重构算法
输入:
- 边长度 ${l_{01}, l_{12}, …, l_{n-1,n}}$
- 顶点曲率 ${\kappa_1, \kappa_2, …, \kappa_{n-1}}$
- 边挠率 ${\tau_{01}, \tau_{12}, …, \tau_{n-1,n}}$
- 初始条件:$\gamma_0 \in \mathbb{R}^3$, 初始标架 $(T_0, N_0, B_0)$
逐边递推:
for i in range(n):
# 计算下一顶点位置
γ[i+1] = γ[i] + l[i] * T[i]
# 曲率旋转:绕当前法向量N旋转κ_i
R_κ = rotation_matrix(N[i], κ[i])
T[i+1] = R_κ @ T[i]
B_temp = R_κ @ B[i]
# 挠率旋转:绕新切向量T[i+1]旋转τ_i
R_τ = rotation_matrix(T[i+1], τ[i])
N[i+1] = R_τ @ N[i]
B[i+1] = R_τ @ B_temp
曲率流
曲率流描述曲线随时间演化,其运动速度由曲率函数决定:
\[\frac{\partial \gamma}{\partial t} = V(\kappa)N\]其中 $V(\kappa)$ 是曲率 $\kappa$ 的标量函数,$N$ 为单位法向量。
Length Shortening Flow
长度缩短流是最基础的曲率流,其演化方程由曲线长度的变分直接导出:
\[\frac{\partial \gamma}{\partial t} = \kappa N\]其中曲率 $\kappa$ 和法向量 $N$ 共同决定了曲线的收缩速度。
- 凸性保持
- 初始凸的曲线保持凸性
- 非凸曲线会产生拐点(根据Gage-Hamilton定理)
- 封闭曲线演化
| 阶段 | 现象 | 数学描述 |
|——|——|———-|
| 早期 | 高频振荡快速平滑 | $|\kappa|_{max}$ 递减 |
| 中期 | 渐近圆形化 | $\text{偏心率} \to 0$ |
| 末期 | 收敛到圆点 | $\text{面积} \sim O(t_f-t)$ |
Gage-Grayson-Hamilton
质心守恒定理 渐近圆形化(Round Points) 嵌入性保持(Embeddedness)
离散长度缩短流
给定连续方程:
\[\frac{d}{dt} \gamma(s, t) = -\kappa(s, t) N(s, t)\]离散化为显式欧拉格式,这里的$\tau$是离散下的$\Delta t$:
\[\frac{\gamma^{k+1}(s) - \gamma^k(s)}{\tau} = -\kappa^k(s) N^k(s)\]最终得到顶点更新公式:
\[\gamma_i^{k+1} = \gamma_i^k - \tau \kappa_i^k N_i^k\]Elastic Flow 弹性流
弹性流以弯曲能最小化为目标,其连续形式能量泛函为欧拉-伯努利能量:
\[E(\gamma) = \int_\gamma \kappa^2 \, ds\]对应的梯度流方程为:
\[\frac{\partial \gamma}{\partial t} = -\left( \frac{\partial^2 \kappa}{\partial s^2} + \frac{1}{2}\kappa^3 \right)N\]Isometric Elastic Flow 等距弹性流
通过直接调整离散曲率(转角)实现曲线平滑,同时严格保持边长不变。其优势在于:
- 刚性保持:不改变边长度(等距约束)
- 数值稳定性:避免显式处理高阶导数
- 几何直观:曲率缩放对应物理上的”弯曲刚度”调节
曲线还有很多其他的应用,具体可以查看slides以及对应的videos,比如:
- 弹性杆 (Elastic Rods)
- 核心量:曲率κ + 挠率τ
- 能量:$E = \int (\alpha \kappa^2 + \beta \tau^2) ds$
- 应用:头发/电缆模拟
- 粘性丝线 (Viscous Threads)
- 核心量:曲率κ + 黏度η
- 方程:$\gamma_t = \eta (\kappa N)_t$
- 特性:拉伸时变细,松弛时回弹
- 解结算法 (Untangling Knots)
- 方法:Möbius能量最小化
-
能量:$E = \iint \frac{1}{ \gamma(s)-\gamma(t) ^2} ds dt$ - 用途:分子生物学/拓扑优化
- 排斥曲线 (Repulsive Curves)
- 核心:几何排斥势 $E = \sum e^{-d_{ij}^2/\sigma}$
- 优势:避免自交同时保持光滑
- 烟环流 (Smoke Ring Flow)
- 方程:$\gamma_t = \kappa B$ (Binormal流)
- 特性:保持涡丝环量
- 离散:Hashimoto离散格式
- 气泡环与墨水晶灯 (Bubble Rings & Ink Chandeliers)
- 现象:流体-固体耦合中的三维涡环
- 关键:浸入边界法 + 表面张力模型
总结
- 离散曲线:由顶点序列 ${\gamma_i}$ 和连接它们的直线段(边)构成的分段线性曲线。
- 参数化:$γ(s) = (1-t)γ_i + tγ_{i+1}$,其中 $t \in [0,1]$ 为局部参数。
- 正则性:要求无自交、无退化边(边长 $>0$),且局部单射。
- 长度缩短流:$\gamma_t = -\kappa N$
- 特性:收缩曲线,凸性保持,封闭曲线收敛到圆点(Gage-Grayson-Hamilton定理)。
- 弹性流:最小化弯曲能 $E = \int \kappa^2 ds$,方程为 $\gamma_t = -(\kappa_{ss} + \frac{1}{2}\kappa^3)N$。
- 等距弹性流:缩放曲率但保持边长不变,适用于刚性变形。
Enjoy Reading This Article?
Here are some more articles you might like to read next: