王萬新
摘要:在建立質點—彈簧模型的基礎上。借助于Visual C++與OpenGL開發工具。通過受力分析得到織物變形的動力學方程。實現了織物變形仿真。
關鍵詞:織物質點一彈簧模型仿真
1織物模擬的質點一彈簧模型
1.1模型描述
在織物模擬中,質點一彈簧模型相對簡單,運算效率較高。該模型的主要思想是把一塊織物劃分為mxn的矩形網格,每個網格結點是一個虛擬質點,相鄰的質點用彈簧相連,彈簧無質量且長度不能為零。質點與質點之間用彈簧連接,用于模擬布料內部纖維的相互作用。一般來說,彈簧分為三種類型彎曲彈簧、結構彈簧、剪切彈簧。
(1)結構彈簧:在質點Pi'j和Pi+1'j間,以及Pi'j和Pi'j+1間的彈簧為結構彈簧,結構彈簧是為了保持質點間初始狀態時的距離。
(2)剪切彈簧:在質點Pi'j和Pi+1'j+1間,以及Pi+1'j和Pi'j+1間的彈簧為剪切彈簧。剪切彈簧是為了防止織物在自身平面過渡和不真實的變形,而給織物的一個剪切剛性。
(3)彎曲彈簧:在質點Pi'j和Pi+2'jj間,以及Pi'j和Pi'j+2間的彈簧為彎曲彈簧,彎曲彈簧是為了防止織物彎曲。
1.2受力分析
在模擬過程中,每一模擬粒子的運動過程就是作用其上的所有內力和外力綜合作用效果的反映,而所有粒子運動的綜合就是系統整體對外力作用的變形反應。考察粒子i'j的受力情況如下:

1.3織物變形模型的求解
根據牛頓動力學原理,質點Pi'j隨時間運動的加速度、速度和位移表示如下:
每個質點的運動就是隨時間的變化,求解以上方程組并反復迭代生成的。在質點一彈簧模型的基礎上,我們把模型按質點的排列進行三角分割。其中每個三角形是構成織物的基本幾何單元。
2試驗結果
我們以OpenGL圖形庫為基礎,用C++作為開發環境,實現了三維織物動感模擬系統。模擬9×9和20×20方形面料的動態下落過程,模擬結果。
3結束語
本文采用質點一彈簧織物動畫模型,對織物進行模擬。該模型通過給每個質點附加一個動態的虛擬體彈簧,巧妙地展示了軟體所含的體積特征,使物理彈性效果比較逼真和更加穩健。質點一彈簧模型是最接近織物本質的一個模型,質點網格劃分得越細,就越接近織物內部非連續單元的尺寸,模擬的結果就越逼真。但這樣無疑增加了計算量,實際上隨著網格劃分的細化,計算時間以幾何級數增長,所以尋求更加快速、精度更高的計算方法是今后努力的方向。