测地线
测地线
等距不变性:
同一个模型,不同的姿势,两个定点之间的测地线距离不会发生变化
梯度 : $\nabla f = (\frac{\partial f}{\partial x_1},\frac{\partial f}{\partial x_2},…,\frac{\partial f}{\partial x_n})$
Input : scalar function $f:\mathbb{R}^n\to\mathbb{R}$
Output : vector field : $\nabla f:\mathbb{R}^n \to \mathbb{R}$
散度 : $divV = \frac{\partial V_x}{\partial x}+\frac{\partial V_y}{\partial y}$
Input : vector field : $V:\mathbb{R}^2 \to \mathbb{R}^2$
Output : scalar function : $divV : \mathbb{R}^2 \to \mathbb{R}$
Laplacian : $\nabla f = div\nabla f = \sum^{3}_{i=1}\frac{\partial f}{\partial x^2_i}$
Input : vector field : $f:\mathbb{R}^n \to \mathbb{R}$
Output : scalar field : $\nabla f:\mathbb{R}^n \to \mathbb{R}$
nbala$\nabla$算子反应的并非本身函数的性质,而是定义域本身的性质,即可以反应曲面本身的性质
网格上的函数
顶点上的值赋值 : $f(x_i) = f_i$
三角形内部的线性插值 : $f(x) = f_iB_i(x) + f_jB_j(x) + f_kB_k(x)$
梯度:
$$
分片线性插值的梯度公式 : \nabla f(x) = f_i\nabla B_i(x) + f_j\nabla B_j(x) + f_k\nabla B_k(x)
= \frac{f_i}{2A_T}(x_k-x_j)^\bot + \frac{f_j}{2A_T}(x_i-x_k)^\bot + \frac{f_k}{2A_T}(x_j-x_i)^\bot
$$
最陡上升方向 $\nabla B_i(x) = \nabla B_i = \frac{(x_k - x_j)^\bot}{2A_T}$
向量场中的散度
一个向量场在三角形内部是分片连续的;
$$
散度定理 : \int_U divV = \int_{\partial U}V.n
$$
即:一个区域内的散度积分等于其边界上的通量。
离散散度表达式:$div(V)_{i} \cdot A(i) = \sum_{ijk}V_{ijk}(xj-xk)^\bot$
顶点面积 : $A(i) = \frac{1}{3}\sum_{i\in T}A_T$
即:顶点 $i$ 的面积等于其关联三角形面积的 $\frac{1}{3}$ 加权和。
网格上的拉普拉斯算子
$$
梯度在三角形 \triangle(x_i, x_j, x_k) 内的表达式:(\nabla f)_{ijk} = \frac{f_{i}}{2 A_{ijk}}(x_{k} - x_{j})^{\bot} + \frac{f_{j}}{2 A_{ijk}}(x_{i} - x_{k})^{\bot} + \frac{f_{k}}{2 A_{ijk}}(x_{j} - x_{i})^{\bot}
$$
是每个顶点函数值与对边法向量的线性组合。
$$
拉普拉斯离散形式:(Lf)_iA(i) = \sum_{ijk}(\nabla f)_{ijk}.(x_j-x_k)^\bot = \sum_{ij}\frac{1}{2}(cot\alpha_{ij}+cos\beta_{ij})(f_i-f_j)
$$
其中 $\alpha_{ij}, \beta_{ij}$ 是边 $(i, j)$ 对应的两个角。
性质: 如果 $f$ 是常函数,则: $Lf = 0$ 。即常函数的拉普拉斯为零。
拉普拉斯矩阵 $L$ 的大小为 $n \times n$,其中 $n$ 是顶点个数。
$$
矩阵系数定义:L_{ij}A(j) = \frac{1}{2}cot(\alpha) + \frac{1}{2}cot(\beta)
$$
矩阵形式(带质量矩阵 $A$): : $AL = -W$
其中 W 是权重矩阵,定义为:$W_{ij}$
当$i$ ~ $j$时
- $W_{ij} = \frac{1}{2}(cot(\alpha)+cot{\beta})$
当$i=j$时
- $ W_{ij}=-\sum_j W_{ij}$
其它情况下$W_{ij} = 0$
质量矩阵 $A(Mass Matrix)$:$A_{ij}$
当$i=j$时,$A_{ij} = A(j)$其它情况下$A_{ij} =0$。
曲面上的热传导方程
给定一个紧致曲面(compact surface),热传导方程为 : $\frac{\partial f}{\partial t} = \nabla f$
时间离散化:$\frac{f_{t+1}-f_t}{dt} = \nabla f_{t+1}$
空间离散化 : $\frac{f_{t+1}-f_t}{dt} = -A^{-1}Wf_{t+1}$
重排得到的线性系统(求解 $f_{t+1}$):$(A+dtW)f_{t+1} = Af_t$
$$
热核定义:k_t(x,y):\mathbb{R}^+\times M \times M \to \mathbb{R}
$$
它表示在时间$t$内,从点$x$传递到点$y$的热量。
$$
热扩散公式:f(x,t) =\int_M k_t(x,y)f(y,0)dy
$$
表示初始热分布$f(y,0)$在时间$t$后在点$x$的热量。
$$
谱展开形式:k_t(x,y) = \sum_iexp(-t\lambda_i)\phi_i(x)\phi_i(y)
$$
其中:
- $\lambda_i,\phi_i$ 表示拉普拉斯算子的特征值和特征函数;
- 在网格上可用离散拉普拉斯算子的本征对进行数值计算。
离散热核
$$
在网格上,热核可以表示为一个矩阵:k_t = \sum_i exp(-t\lambda_i)\phi_i\phi_i^\bot
$$
其中:
- $\phi_i$是拉普拉斯矩阵的本征向量(长度为顶点数的列向量)
- $k_t$是一个$n\times n$的对称矩阵($n$为顶点数)
- $k_t(x,y)$表示从$x$到$y$的热传递量
离散热扩散公式
$$
给定初始热分布f_0,经过时间t后热量分布为:f_t = \sum_i exp(-t\lambda_i)\phi_i\phi_i^\bot Af_0
$$
$$
或用谱展开记忆形式表示:f_0 = \sum_i\phi_i(\phi_i^\bot Af_0)
$$
其中$A$是质量矩阵(常为对角矩阵,表示每个顶点的面积)。
热核签名
$$
定义:HKS(x) = k_t(x,x) = \sum_i exp(-t\lambda_i)\phi_i(x)^2
$$
物理意义:
表示在时间$t$后仍保留在点$x$的热量。
性质:
- 对不同时间梯度$t$的HKS,可以反应局部到整体的几何特征;
- 常用于形状分析、特征点检测、形状匹配等任务。
波核签名
用于衡量某个点在不同频率能量下的响应程度,可以看作是量子力学粒子在形状上驻留的概率分布。
$$
对每个点x和能量水平e,定义为:WKS(x,e) = \sum_{i=0}^{N}exp(-\frac{(e-log\lambda_i)^2}{2\delta^2})\phi_i(x)^2
$$
其中:
- $\lambda_i$:离散拉普拉斯算子的第$i$个特征值;
- $\phi_i(x)$:第$i$个特征函数在点$x$的取值;
- $e$:频率(能量)采样点,通常在$log\lambda$空间中等间距选取;
- $\delta$:带宽控制参数,决定每个频率的范围;
- $N$:使用的特征值/特征函数数量
1 | 今天在写hexo的时候发现了值得注意的一点: |