三維物體變形方法賦予了模擬物體的動態特性,但是隨着物體模型的復雜度慢慢增加,對高質量的實時變形方法也提出了更高的要求。對於高精度的大型三維網格而言,通常會設計一個低精度的子網格,並構建子網格與原始網格之間的映射關系,然后通過控制低精度子網格的變形來驅動高精度原始網格的變形。[Wang et al. 2015]提出了一種線性子網格的構建方法,下面將介紹其主要原理。
通用的網格形變能量函數可以表示成如下二次項形式:
其中A是與網格形狀相關的半正定矩陣,SX刪選出X中控制點所在的行,H是控制點所在的空間位置。
如果選取二階Laplacian形變能量函數,那么A = LTM-1L,L是Laplacian矩陣,對於三角網格而言,常用的矩陣L表達式如下:
但是這種定義方式是有缺陷的,它使得在網格內部滿足線性光滑,而在網格邊界處由於缺失角度信息而非線性光滑。事實上,對於邊界頂點i,矩陣L中的行Li計算的是頂點i的拉普拉斯算子(laplacian)減去該點的法向導數(normal derivative),拉普拉斯算子是線性光滑的,而法向導數並不是。為了修復邊界缺陷問題,對所有邊界點所在的行加上法線導數得到新的線性光滑的Laplacian矩陣:
K = L + N
邊界點的法向導數N定義如下:
式中字母的具體含義如下圖所示。
對於四面體網格,可以得到類似的定義:
式中字母的具體含義如上圖所示。
有了上述理論之后,我們可以將高精度的原始網格通過精簡方法得到低精度的子網格,並保證子網格的所有頂點都位於原始網格上,這樣以子網格頂點為控制點可以得到子網格與原始網格之間的映射關系。
對於子網格的動態模擬,可以用如下能量函數表示,其由E1和E2兩部分組成,其中能量E1使得三維物體在模擬過程中保持細節特征(http://www.cnblogs.com/shushen/p/4977870.html),能量E2則描述了三維物體基於物理模擬的動態特性(http://www.cnblogs.com/shushen/p/5522498.html)。
其中 。
本文為原創,轉載請注明出處:http://www.cnblogs.com/shushen。
參考文獻:
[1] Yu Wang, Alec Jacobson, Jernej Barbič, and Ladislav Kavan. 2015. Linear subspace design for real-time shape deformation. ACM Trans. Graph. 34, 4, Article 57 (July 2015), 11 pages.
[2] Olga Sorkine and Marc Alexa. 2007. As-rigid-as-possible surface modeling. In Proceedings of the fifth Eurographics symposium on Geometry processing (SGP '07). Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, 109-116.