数学定义
吸收马尔科夫链
基本概念
设马尔可夫链 ${X_n, n \geq 0}$ 的状态空间为 $S$,如果存在状态 $i \in S$ 满足:
- $P_{ii} = 1$(一旦进入就永远停留)
- $P_{ij} = 0$ 对于所有 $j \neq i$(无法转移到其他状态)
则状态 $i$ 称为吸收状态, 其余状态则为瞬时状态。
标准形式
吸收马尔可夫链的转移概率矩阵可以写成如下标准形式:
$$ P = \begin{bmatrix} Q & R \\ 0 & I \end{bmatrix} $$
其中:
- $Q$: 瞬态之间的转移概率子矩阵 ($t \times t$)
- $R$: 瞬态到吸收态的转移概率子矩阵 ($t \times r$)
- $I$: 吸收态之间的转移概率子矩阵 ($r \times r$),为单位矩阵
- $0$: 吸收态到瞬态的转移概率子矩阵 ($r \times t$),为零矩阵
基本性质
$P^1$ 为转移 $1$ 次的转移概率 $P^2$ 为转移 $2$ 次的转移概率 …… $P^\infty$ 为转移 $\infty$ 次的转移概率,可以表示为:
$$ P^\infty = \begin{bmatrix} 0 & (I-Q)^{-1}R \\ 0 & I \end{bmatrix} $$
基本矩阵
$$ N:=\sum_{k=0}^{\infty}Q^{k}=(I_{t}-Q)^{-1} $$
基本矩阵 $N$ 定义为:
$$ N = (I - Q)^{-1} $$
基本矩阵 $N = [n_{ij}]$ 的元素 $n_{ij}$ 表示从瞬态 $i$ 出发,在吸收前访问瞬态 $j$ 的期望次数。
吸收概率
从瞬态 $i$ 出发被吸收态 $j$ 吸收的概率矩阵为: $$B = NR$$
其中 $B = [b_{ij}]$,$b_{ij}$ 表示从瞬态 $i$ 出发最终被吸收态 $j$ 吸收的概率。
MVC 均值坐标
$$ w_i = \frac{tan(\frac{\alpha_i}{2})+ tan(\frac{\beta_i}{2})}{\Vert v_i-v_0 \Vert} $$
广义重心坐标的一种,在2d平面内具备几何上平衡的性质。
拉普拉斯微分坐标 (Laplace Differential Coordinates)
直觉上微分坐标做到了用相对坐标将网格表述出来,数学定义为:
$$\delta_i = v_i - \sum_{j \in N_i} w_{ij} v_j$$
其中权重可以考虑简单的平均、MVC均值坐标、余切权重等,都在一定的范围内可以达到理想的效果,从理论上余切权重应该是最合适的,但是由于可能会存在负权重导致后续的计算困难。
最终得到的坐标形式是具有大小和方向的,可以说拉普拉斯微分坐标记录了网格的所有局部细节,是网格的压缩形式,可以通过这些细节去还原、编辑网格。
Morphing 应用
本文的 morph 算法的核心思想是网格中的每一个节点的位置通过无穷次的迭代转移之后,最后达到各个handle的概率,并计算加权和作为新的坐标。因此点与点之间的权重的计算尤其重要。本方法与 Laplacian Surface Editing 文章中的实现方法基本接近,区别主要在于: a. 优化了权重计算的方式,b. 省略了方程的右端项以及特征旋转的特性。
权重的计算按照均值坐标的形式计算,并且通过加权的方式保证矩阵中每行的和小于等于1
$P$ 构建规则
为了确保整体算法的可行性,矩阵的构建需要满足以下几点要求:
- 对于 handle 点,定义为吸收状态,其余点为瞬时状态
- 对于 edge 点,只能转移到相邻的 edge 点,确定狄利克雷边界条件
- 其余点可以向拓扑邻接的点进行转移
- 转移的概率为邻接网格MVC坐标权重加权
- 所有约束都能够在 $P$ 上被定义
行为
- 状态包含具有哪些 handle 点,哪些是 edge 点,哪些点具备额外的约束,节点间的邻接关系以及每个节点的空间位置
- 每次在确定移动前的状态前需要先构建出 $P^{\infty}$,并存储矩阵 $B$
- 每次移动 hanlde 点,可以根据 $B$ 计算出所有自由点的移动矢量