三維動畫形變算法(Mixed Finite Elements)

  混合有限元方法通入引入輔助變量後能夠將高階微分問題變成一系列低階微分問題的組合。在三維網格形變問題中,咱們考慮以下泛函極值問題:函數

  其中u: Ω0 → R3是變形體的空間座標,上述泛函極值問題對應的歐拉拉格朗日方程就是雙調和方程∆2u = 0。測試

  經過引入額外變量v,咱們能夠將上述無約束高階優化問題轉變爲帶約束的低階優化問題:
優化

  引入拉格朗日函數,並利用格林公式能夠獲得:spa

  將變量vu,λ寫成基函數的線性組合形式,而且基函數選擇爲分段線性帽函數:
3d

  將上式分別對變量viuiλi求偏導能夠獲得:
blog

  這裏討論兩種邊界條件狀況:get

  第一種是固定區域邊界條件,就是說在變形體上存在區域Ωf,其對應的空間位置爲uf
it

  求解形式:io

  消除額外變量後獲得:
變量

  

  第二種是固定曲線邊界條件,就是說在變形體上存在曲線C,其知足:

  求解形式:

  消除額外變量後獲得:

 

效果:

本文爲原創,轉載請註明出處:http://www.cnblogs.com/shushen

 

 

參考文獻:

[1] Jacobson A, Tosun E, Sorkine O, et al. Mixed Finite Elements for Variational Surface Modeling. symposium on geometry processing, 2010, 29(5): 1565-1574.

 

附錄

基於三維網格的微分問題求解

  對於求解三維網格上帶Dirichlet邊界條件的泊松方程:

  將上式寫成等價的弱形式:

其中v是任意的測試函數,可是其知足在邊界處值爲0。

  利用分部積分,能夠將上式等式左邊進行變化:

  因爲測試函數在邊界處值爲0,因此上式中等式右邊第一項爲0:

  而後將待求解函數u和測試函數v表示成基函數的線性組合形式,而且基函數選擇爲分段線性帽函數:

其中I是網格上全部的頂點集合。

  三維網格上分段線性帽函數以下圖所示:

  那麼對於網格內部任意頂點j,咱們都取測試函數v = Φj,這樣能夠造成一個方程:

  將積分裏的求和提取到積分外,獲得:

  因爲邊界處u的數值已知,那麼能夠將已知項移到等式右側:

  這樣就造成了n個方程組,n爲三維網格除邊界外的頂點個數。

 

  對於求解三維網格上帶Neumann邊界條件的泊松方程:

  一樣轉換成弱形式,並利用分部積分:

  在Neumann邊界條件下,咱們選擇邊界處值不爲0的測試函數,那麼能夠獲得:

 

Cotangent權重矩陣L

  將Φi定義爲分段線性帽函數,那麼矩陣L的具體數值就能夠根據三維網格模型惟一肯定了,另外矩陣L之因此稱爲Cotangent權重,是由於其具體表達式是一個三角函數形式。

  下面具體推導下矩陣L的形式,根據其原始定義表達式:

  在每一個三角片內∇Φi是恆定的,而且只有在頂點i相鄰的周邊三角片上是非零值的。對於一個三角片,∇Φi指向的方向與頂點i相對的底邊ei垂直,數值大小爲三角片在底邊ei上高h的倒數,即:

上式中||ei||是邊ei的長度,A是三角片的面積。

  對於相鄰頂點ij,∇Φi與∇Φj的方向分別垂直於各自的底邊eiej,它們之間的夾角記爲θ,因而咱們能夠獲得:

  因爲ΦiΦj只有在相鄰三角片TαTβ內才同時爲非零值,那麼:

 

Mass質量矩陣M

  矩陣M的原始定義表達式爲:

  因爲Φi定義爲分段線性帽函數,因此Mij只有當ij爲三維網格上相鄰頂點或者ij相同時其值才爲非零。

  根據積分規則:

其中A是三角片T的面積,x1x2x3是三角片三條邊的中點。

  因爲Φi在每一個三角片內是個簡單的線性函數,那麼上式能夠進一步表示爲:

  因而能夠獲得矩陣M的表達式:

  一般矩陣M能夠用對角矩陣Md來近似代替,近似過程爲:

  矩陣Md的對角線元素之和等於三維網格Ω的表面積,通常有兩種方式來計算對角線元素,分別爲重心質量矩陣和Voronoi質量矩陣,以下圖所示。

相關文章
相關標籤/搜索