91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)

發布時間:2020-07-16 18:11:20 來源:網絡 閱讀:1324 作者:拳四郎 欄目:開發技術

簡介

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)

      一個模擬變形物體最簡單額方法就是將其表示為彈簧質點系統(Mass Spring Systems),因為方法簡單,這個框架對于學習物理模擬和時間積分的各種技術都比較理想。一個彈簧質點包含了一系列由多個彈簧連接起來的質點,這樣的系統的物理屬性非常直接,模擬程序也很容易編寫。

      但是簡單是有代價了:

1.物體的行為依賴于彈簧系統的設置方法;

2.很難通過調整彈簧系數來得到想要的結果;

3.彈簧質點網格不能直接獲取體效果。

      在很多的應用中這些缺點可以忽略,在這種場合下,彈簧質點網格是最好的選擇,因為夠快夠簡單。

      今天首先說明一下Mass Spring Systems的理論基礎,然后來實現繩子的real-time模擬。


物理模型

      假設有N個質點,質量為mi,位置為xi,速度為vi , 1<i<N.

      這些質點由一組彈簧S連接,彈簧參數為(i,  j, lo, ks, kd). i,j 為連接的彈簧質點,lo為彈簧完全放松時的長度,ks為彈簧彈性系數,kd為阻尼系數,由胡科定律知彈簧施加在兩頂點上的力可以表示為:

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)

         由受力守恒知 fi+fj = 0. fi和fj的大小和彈簧伸長成正比關系。

        對于阻尼的計算,

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)

          大小和速度成正比,并且符合力守恒,則對于一個質點,其受力方程為:

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)


模擬

在模擬算法中,牛頓第二定律是關鍵,f = ma。在已知質量和外力的情況下,通過 a=f/m 可以得到加速度,將二階常微分方程寫成兩個一階方程:

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)

可以得到解析解:

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)


初始狀態為 v(to) = vo, x(to)=xo.

積分將時間t內所有的變化加和,模擬的過程就是從 to 開始不斷地計算 x(t) 和 v(t),然后更新質點的位置。

最簡單的數值解法就是利用有限的差分近似微分:

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)

其中delta t 是為時間步長,t為幀號,帶入之前的公式得:

OpenGL進階(十五) - 彈簧質點系統(Mass Spring Systems)


這個就是顯式的歐拉解法,下一時刻的狀態完全由當前狀態決定。

整個過程的偽代碼如下:

// initialization  forall particles i          initialize xi , vi and mi  endfor // simulation loop  loop         forall particles i                fi ← fg + fcoll + ∑ f(xi , vi , x j , v j )         endfor         forall particles i              vi ← vi + 
													            
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古田县| 东港市| 奈曼旗| 丁青县| 安龙县| 铜梁县| 望谟县| 麻城市| 济南市| 南宫市| 龙川县| 杭锦后旗| 广南县| 岱山县| 乌苏市| 仙游县| 阿克| 凤台县| 新蔡县| 嵩明县| 卢龙县| 株洲市| 华宁县| 安塞县| 中卫市| 西吉县| 同心县| 剑河县| 桑植县| 南城县| 罗源县| 明光市| 怀远县| 兴和县| 临泽县| 阳春市| 克山县| 页游| 宣汉县| 青州市| 同心县|