陳治國,吳 斌,方艷紅
(西南科技大學 信息工學院,四川 綿陽 621010)
虛擬環境中三維物體的建模主要包括對剛性物體建模,對柔性物體的變形和接觸力建模。對柔性物體的變形和接觸力建模,可以分為基于幾何的力變形建模和基于物理意義的力變形建模兩大類。基于幾何的力變形建模方法通過幾何插值的方法可直接改變物體表面的控制點從而改變物體形狀。接觸力的大小與物體的變形量成正比[2],常見的有基于正方形面片和三角面片的模型,這類模型的建立比較簡單,因而在虛擬現實建模技術中最先得到發展。基于物理意義的力變形模型則基于物體的力學本構方程,通過分析力和形變的關系對柔性物體進行建模[3],最常見的是彈簧質點模型、有限元模型和邊界元模型,但三者都存在著不足之處[4]。
針對這些問題,參考文獻[5]提出了運用絕對節點坐標的方法,即采用基于Hertz接觸碰撞理論,給出了碰撞力計算表達式,對空間中虛擬柔性體進行建模。此方法實現了基于絕對節點坐標的柔性體間、柔性體與剛體間的建模與實時碰撞仿真。本文則在引入球面調和函數理論的基礎上,研究了一種新的基于球面調和函數的虛擬柔性體建模方法,利用球面調和函數的正交歸一性、旋轉不變性重構信號,及其多尺度特性表達物體的細節部分,實現物體的精確建模和實時表達。在準確地表達柔性體、增強虛擬環境沉浸感的同時,大大提高了虛擬環境中交互的實時性。
球面調和函數 (Spherical Harmonics)[6]Ylm(θ,φ)(其中-l≤m≤l)是定義在球面坐標系上的一組正交、完備的函數系。平面上任意連續圖形可以用傅里葉函數表示,同樣作為傅里葉函數的三維擴展,空間中的任意連續曲面可以用球面調和函數的線性組合來表達。通常情況下,球面調和函數定義在復數域上,本文所涉及的主要是實數域上的球面調和函數問題。所以下面首先討論實數域上球面調和函數的概念及相關性質。

圖1 球面坐標系
如圖1所示,對于單位球球面上任一點(x,y,z)可以用球面坐標表示為:

球 面 調 和 函 數 Ylm(θ,φ)的 表達式為:)

其中,Plm是m階l次的連帶勒讓德多項式,K是標量因子,并且:

式(2)中的連帶勒讓德多項式Plm值的遞歸計算式為:

按照式(4),可以計算出球面調和函數的前幾項。
美國Waters公司MICROMASS Quattro Micro API型質譜儀,配有電噴霧離子化源(ESI),數據采集:MassLynx 4.1軟件(美國Waters公司)。島津LC‐20 10CHT高效液相色譜儀,恒溫水浴箱(Heto Holten Denmark),匹配紫外檢測器、熒光檢測器。
為表示球面調和函數產生特定的順序,可以按如下方法變為一維向量的形式:

其中i=l(l+1)m。則球面上的任意一個函數 f(θ,φ)的球面調和系數為:

球面上的函數f(θ,φ)可以通過球面調和函數的線性組合來近似表示:

為了表示任何形狀的物體,可將球面調和描述子參數化,那么任何一個單連通的曲面拓撲結構等價于球面:

其中,x(θ,φ),y(θ,φ)和 z(θ,φ)是 θ和 φ 的坐標函數。

將式(9)中三式合并為單值向量函數如下:



這 里 yi,j=(θi,φi),j=l2+l+m+1,k=(Lmax+1)2。 因 為n≠k 總成立,故(a1,a2,a3,…,ak)T可以通過用最小二乘擬合求解上述線性系統得到。由于 aj≡都是原始的系數的估計,則可以重構出原函數如下:

同樣對 x(θ,φ)和 y(θ,φ)應用最小二乘估計,即可求出與的 估 計和,從而得到重構系數。則可以由所估計出的系數按照式(13)重構出原曲面 s(θ,φ)。

SPHARM的多尺度特性(LOD)使得它可以很好地表達物體的細節部分。應用這個性質開發出一種程序(SHAPE explorer (SphericalHarmonics Parameterization Explorer)),用戶通過交互的方式改變參數可獲得任意形狀。
繪制過程是首先利用 3D max畫出原圖 Orginal,然后經過預處理后在基于Matlab2009a平臺下的SPHARM軟件進行球面調和分析,得到球面調和系數,最后利用得到的系數進行模型重構。本文采用的試驗平臺處理器為2.80 GHz,內存2 GB,顯卡為英特爾G41 Express Chipset的PC機。實驗中3D模型使用模型的頂點作為采樣點,實驗模型中用到的采樣點為10 242個,用Visage Imaging公司的Amira軟件實現對數據的可視化。實驗結果如圖2所示。

圖2 球面調和函數建模效果圖
圖中,L為球面調和函數表達式中的尺度,圖(a)表示原始物體,圖(b)、(c)、(d)分別表示尺度 L 為 3、8、15時物體重構的形狀。可以看出,運用的尺度越大,重構的s?(θ,φ)就越精確,物體形狀的復雜性決定了近似表達物體的尺度高低。基函數的尺度越高越能較好地表達物體形狀的細節部分。
本文在分析球面調和函數理論的基礎上,將球面調和函數的多尺度LOD(Level Of Detail)性引入柔性體建模中,探討了基于球面調和函數的虛擬柔性體建模方法,利用其多尺度特性實現對物體細節部分的精確建模和實時表達。實驗結果表明,該實現方法表達模型效率高、交互性好,為柔性物體可視化觸覺再現系統的深入研究奠定了基礎。
[1]邵延華,吳斌,張紅英,等.一種虛擬現實建模的新方法[J].信息化縱橫,2009(18):46-48.
[2]SALISBURY K, BARBAGLI F, CONTIF.Haptic rendering:introductory concepts[J].IEEE Computer Graphics and Applications Magazine, SpecialIssue on Haptic Rendering, 2004, 20(2):24-32.
[3]潘振寬,高波.手術仿真中基于質點—彈簧模型的人體組織變形仿真[J].青島大學學報,2003,18(3):9-14.
[4]蔡偉,況迎輝.觸覺可視化技術中柔性物體變形模型研究[J].計算機技術與發展,2010,20(3):20-23.
[5]虞磊,趙治華,任啟鴻,等.基于絕對節點坐標的柔性體碰撞仿真[J].清華大學學報(自然科學版).2010,50(7):1135-1140.
[6]PRESS W H,TEUKOLSKY S A,VETTERLING W,et al.C++數值算法(第 2版)[M].胡健偉,趙志勇,薛運華,等譯.北京:電子工業出版社,2005.