骨骼蒙皮動畫算法(Linear Blending Skinning)


  交互式變形是編輯幾何模型的重要手段,目前出現了許多實時、直觀的交互式變形方法。本文介紹一種利用線性混合蒙皮(Linear Blending Skinning,LBS)技術來實現網格變形的方法,線性混合蒙皮技術由於計算速度優勢使得其成為商業應用中最主要的方法之一。蒙皮算法一般分兩步:第一步用戶在幾何模型上選擇一系列控制單元,並計算幾何模型受這些控制單元的影響權重;第二步用戶拖動控制單元,幾何模型隨控制單元發生相應變形。第一步中權重的計算決定了蒙皮算法的效果,如果想要幾何模型發生自然、高質量的形變,必須得有一種高效准確的權重計算方法。

  文章[Jacobson et al. 2011]介紹了一種有界雙調和權重(Bounded Biharmonic Weights,BBW)的計算方法,該權重能使得幾何模型發生平滑變形。定義控制單元為Hj∈Ω,j = 1, … , m,每個控制單元Hj的仿射變換為Tj,對於頂點p∈Ω,線性混合蒙皮算法給出變形后p的位置為控制單元仿射變換Tj的加權線性組合:

其中wj(p)為頂點p受控制單元Hj的權重影響。

  對於有界雙調和權重wj的計算方法,其數學表達式如下,最小化問題可以轉化為求解對應的Euler-Lagrange方程,即雙調和方程Δ2wj = 0,而其同時滿足設定的限制條件,因此作者將這種權重命名為有界雙調和權重。

function U = lbs(V,T,W)
    % Inputs:
    %  V  list of vertex positions
    %  T  list of transformations for each controls point, for 2D:
    %    2 by 3 by #controls, for 3D: 3 x 4 by # controls
    %  W  weights, # vertices by # handles matrix of weights
    % Output:
    %  U  list of new vertex positions
  
    dim = size(V,2);
    m = size(T,3);
    TT = reshape(permute(T,[2,1,3]),[dim+1,dim*m])';
    VV = [V(:,1:dim)'; ones(1,size(V,1))];
    VVV = reshape((TT*VV)',[size(V,1),dim,m]);
    WW = permute(repmat(W,[1,1,dim]),[1,3,2]);
    U = sum(WW.*VVV,3);
end
View Code

 

 

 

  但是即使計算得到精確的權重值之后,線性混合蒙皮算法仍會出現皮膚塌陷的問題。例如假設兩個控制單元分別繞z軸旋轉角度-π/2和π/2,並且這兩個控制單元對某個計算點的影響權重是相同的,都為0.5。直覺上我們希望得到一個單位旋轉矩陣,但是實際上得到的是一個x方向和y方向退化的旋轉矩陣,這就使得在該計算點處會出現塌陷現象。

  利用對偶四元數來代替旋轉矩陣可以解決上述塌陷問題。常規四元數只能表示空間旋轉變換,它的數學形式為q = [cos(θ/2) nxsin(θ/2) nysin(θ/2) nzsin(θ/2)],其中單位向量[nx ny nz]表示通過原點的旋轉軸,θ表示旋轉角度。對偶數的概念類似於復數,它的數學形式為 = r + dε並滿足ε2 = 0,其中rd分別表示實部和對偶部,ε表示對偶算子。對偶四元數是實部和對偶部都為四元數的對偶數,又可稱為八元數。常規四元數只能表示空間旋轉,而對偶四元數可以表示空間任意旋轉和平移的組合。

  對偶四元數的數學形式為:

其中qrqd都為四元數,ε表示對偶算子。

  利用旋轉和平移信息計算對偶四元數的方法如下:

其中r代表旋轉單位四元數,t代表平移四元數,t = [0 tx ty tz]。

  利用對偶四元數計算旋轉和平移的方法如下:

 

  當對偶四元數僅表示空間旋轉變換時,其表達式為:

  當對偶四元數僅表示空間平移變換時,其表達式為:

  利用對偶四元數對點p進行轉換后得到點p

其中qq*分別代表對偶四元數及對應的共軛對偶四元數。

 

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

 

 

參考文獻:

[1] Alec Jacobson, Ilya Baran, Jovan Popović, and Olga Sorkine. 2011. Bounded biharmonic weights for real-time deformation. ACM Trans. Graph. 30, 4, Article 78 (July 2011), 8 pages.

[2] Ladislav Kavan, Steven Collins, Jiří Žára, and Carol O'Sullivan. 2008. Geometric skinning with approximate dual quaternion blending. ACM Trans. Graph. 27, 4, Article 105 (November 2008), 23 pages.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM