王萬新
摘要:在建立質(zhì)點—彈簧模型的基礎上。借助于Visual C++與OpenGL開發(fā)工具。通過受力分析得到織物變形的動力學方程。實現(xiàn)了織物變形仿真。
關鍵詞:織物質(zhì)點一彈簧模型仿真
1織物模擬的質(zhì)點一彈簧模型
1.1模型描述
在織物模擬中,質(zhì)點一彈簧模型相對簡單,運算效率較高。該模型的主要思想是把一塊織物劃分為mxn的矩形網(wǎng)格,每個網(wǎng)格結(jié)點是一個虛擬質(zhì)點,相鄰的質(zhì)點用彈簧相連,彈簧無質(zhì)量且長度不能為零。質(zhì)點與質(zhì)點之間用彈簧連接,用于模擬布料內(nèi)部纖維的相互作用。一般來說,彈簧分為三種類型彎曲彈簧、結(jié)構(gòu)彈簧、剪切彈簧。
(1)結(jié)構(gòu)彈簧:在質(zhì)點Pi'j和Pi+1'j間,以及Pi'j和Pi'j+1間的彈簧為結(jié)構(gòu)彈簧,結(jié)構(gòu)彈簧是為了保持質(zhì)點間初始狀態(tài)時的距離。
(2)剪切彈簧:在質(zhì)點Pi'j和Pi+1'j+1間,以及Pi+1'j和Pi'j+1間的彈簧為剪切彈簧。剪切彈簧是為了防止織物在自身平面過渡和不真實的變形,而給織物的一個剪切剛性。
(3)彎曲彈簧:在質(zhì)點Pi'j和Pi+2'jj間,以及Pi'j和Pi'j+2間的彈簧為彎曲彈簧,彎曲彈簧是為了防止織物彎曲。
1.2受力分析
在模擬過程中,每一模擬粒子的運動過程就是作用其上的所有內(nèi)力和外力綜合作用效果的反映,而所有粒子運動的綜合就是系統(tǒng)整體對外力作用的變形反應。考察粒子i'j的受力情況如下:
1.3織物變形模型的求解
根據(jù)牛頓動力學原理,質(zhì)點Pi'j隨時間運動的加速度、速度和位移表示如下:
每個質(zhì)點的運動就是隨時間的變化,求解以上方程組并反復迭代生成的。在質(zhì)點一彈簧模型的基礎上,我們把模型按質(zhì)點的排列進行三角分割。其中每個三角形是構(gòu)成織物的基本幾何單元。
2試驗結(jié)果
我們以OpenGL圖形庫為基礎,用C++作為開發(fā)環(huán)境,實現(xiàn)了三維織物動感模擬系統(tǒng)。模擬9×9和20×20方形面料的動態(tài)下落過程,模擬結(jié)果。
3結(jié)束語
本文采用質(zhì)點一彈簧織物動畫模型,對織物進行模擬。該模型通過給每個質(zhì)點附加一個動態(tài)的虛擬體彈簧,巧妙地展示了軟體所含的體積特征,使物理彈性效果比較逼真和更加穩(wěn)健。質(zhì)點一彈簧模型是最接近織物本質(zhì)的一個模型,質(zhì)點網(wǎng)格劃分得越細,就越接近織物內(nèi)部非連續(xù)單元的尺寸,模擬的結(jié)果就越逼真。但這樣無疑增加了計算量,實際上隨著網(wǎng)格劃分的細化,計算時間以幾何級數(shù)增長,所以尋求更加快速、精度更高的計算方法是今后努力的方向。