问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

余切拉普拉斯算子推导:从散度定理到点拉普拉斯公式

创作时间:
作者:
@小白创作中心

余切拉普拉斯算子推导:从散度定理到点拉普拉斯公式

引用
CSDN
1.
https://m.blog.csdn.net/chenbb1989/article/details/131884364

余切拉普拉斯算子是一种在网格平滑、参数化等算法中经常被用到的算子,它考虑了网格底层的几何联系。本文将详细推导余切拉普拉斯算子,帮助读者更好地理解其原理和应用。

基本思路及原理

余切拉普拉斯算子的推导受到了有限元方法的启发,主要利用了有限元中的散度定理。目标是对三角平面分片线性函数的梯度进行散度的面积积分。

散度定理表述如下:

∫ A i d i v    F ( u ) d ⁡ A = ∫ ∂ A i F ( u ) ⋅ n ( u ) d ⁡ s \int_{A_i}div;F(u)\operatorname dA = \int_{\partial A_i}F(u) \cdot n(u) \operatorname ds∫Ai divF(u)dA=∫∂Ai F(u)⋅n(u)ds

其中,n代表与三角形共面并垂直于边界向外的单位向量。这个定理将对区域A_i的面积积分和对A_i边界的积分联系起来。

拉普拉斯积分推导

将散度定理应用于拉普拉斯算子,可以得到:

∫ A i Δ f ( u ) d ⁡ A = ∫ A i d i v ∇ f ( u ) d ⁡ A = ∫ ∂ A i ∇ f ( u ) ⋅ n ( u ) d ⁡ s \int_{A_i}{\Delta f(\boldsymbol u) \operatorname d A} = \int_{A_i}{div \nabla f(\boldsymbol u) \operatorname dA} =\int_{\partial A_i}{\nabla f(\boldsymbol u) \cdot \boldsymbol {n(u)} \operatorname d s}∫Ai Δf(u)dA=∫Ai div∇f(u)dA=∫∂Ai ∇f(u)⋅n(u)ds

对于单个三角形,积分可以进一步简化:

∫ ∂ A i ∩ T ∇ f ( u ) ⋅ n ( u ) d ⁡ s = ∇ f ( u ) ⋅ ∫ ∂ A i ∩ T n ( u ) d ⁡ s = ∇ f ( u ) ⋅ ( a − b ) ⊥ = 1 2 ∇ f ( u ) ⋅ ( x j − x k ) ⊥ \int_{\partial A_i \cap T}{\nabla f(\boldsymbol u) \cdot \boldsymbol {n(u)} \operatorname d s} = \nabla f(\boldsymbol u) \cdot \int_{\partial A_i \cap T}{\boldsymbol {n(u)} \operatorname d s}= \nabla f(\boldsymbol u) \cdot (\boldsymbol a-\boldsymbol b)^\perp\ =\frac 1 2 \nabla f(\boldsymbol u) \cdot (\boldsymbol {x_j}-\boldsymbol {x_k})^\perp∫∂Ai ∩T ∇f(u)⋅n(u)ds=∇f(u)⋅∫∂Ai ∩T n(u)ds=∇f(u)⋅(a−b)⊥=21 ∇f(u)⋅(xj −xk )⊥

其中,(a-b)的计算可以通过旋转线的法向量与小三角形平齐,然后计算积分结果。

转化成余切形式

将三角形的梯度代入上式,得到:

∫ ∂ A i ∩ T ∇ f ( u ) ⋅ n ( u ) d ⁡ s = ( f j − f i ) ( x i − x k ) ⊥ ⋅ ( x j − x k ) ⊥ 4 A T + ( f k − f i ) ( x j − x i ) ⊥ ⋅ ( x j − x k ) ⊥ 4 A T \int_{\partial A_i \cap T}{\nabla f(\boldsymbol u) \cdot \boldsymbol {n(u)} \operatorname d s} = (f_j-f_i)\frac {(x_i-x_k)^\perp \cdot (x_j-x_k)^\perp}{4A_T} + (f_k-f_i)\frac {(x_j-x_i)^\perp \cdot (x_j-x_k)^\perp}{4A_T}∫∂Ai ∩T ∇f(u)⋅n(u)ds=(fj −fi )4AT (xi −xk )⊥⋅(xj −xk )⊥ +(fk −fi )4AT (xj −xi )⊥⋅(xj −xk )⊥

通过向量的点乘和叉乘与余弦、正弦的关系,可以进一步推导出:

∫ ∂ A i ∩ T ∇ f ( u ) ⋅ n ( u ) d ⁡ s = 1 2 ( c o t γ k ( f j − f i ) + c o t γ j ( f k − f i ) ) \int_{\partial A_i \cap T}{\nabla f(\boldsymbol u) \cdot \boldsymbol {n(u)} \operatorname d s} = \frac 1 2 (cot \gamma_k(f_j-f_i)+cot \gamma_j(f_k-f_i))∫∂Ai ∩T ∇f(u)⋅n(u)ds=21 (cotγk (fj −fi )+cotγj (fk −fi ))

将所有三角形的积分结果相加,可以得到最终的点拉普拉斯公式:

Δ f ( v i ) = 1 2 A i [ ∑ v j ∈ N ( v i ) ( c o t α i , j + c o t β i , j ) ( f j − f i ) ] \Delta f(v_i) = \frac {1} {2A_i} \left [\displaystyle \sum_{v_j\in N(v_i)}(cot \alpha_{i,j}+cot \beta_{i,j})(f_j-f_i)\right ]Δf(vi )=2Ai 1 vj ∈N(vi )∑ (cotαi,j +cotβi,j )(fj −fi )

其中,权重wij定义为:

w i j = c o t α i , j + c o t β i , j 2 A i w_{ij}=\frac {cot \alpha_{i,j}+cot \beta_{i,j}}{2A_i}wij =2Ai cotαi,j +cotβi,j

这个公式在计算机图形学和数值计算中具有重要应用,特别是在网格平滑和参数化算法中。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号