在物理模擬中,固體對象通常分為1)剛體(Rigid body),2)軟體(Soft body),3)布料(Cloth)。從底層的物理原理來看,這三者并沒有什么區(qū)別——純剛體在自然界中是無法找到的,所有物體在某種情況下都是可形變的,布料其實是一個三維的軟體,因為它是有一定厚度的。但從算法和模擬的角度來看,把這三種對象分開是非常有意義的;比如假設(shè)石頭是無限硬的剛體并不會造成視覺上的錯誤,反而簡化了處理和模擬此類物體,又比如將布料模擬成2d的物體而不是3d的物體將會增加模擬效率,并且能夠減小內(nèi)存消耗。
有限單元法(Finite Element Methods)是最廣泛的應(yīng)用于固體模擬的技術(shù)之一。這個方法將一般的偏微分方程轉(zhuǎn)化為線性方程組系統(tǒng),通常這些方程組是非線性的。求解非線性方程組對于實時的模擬來說當(dāng)然太慢了,在實際的應(yīng)用中通常使用的是線性的近似,特別是變形非常小的情況,比如建筑物的分析。但是,對于大變形的物體,這樣的處理方式得到的效果就會非常的假,一個能夠提速FEM的方法就是將變形分為線性變換和旋轉(zhuǎn)變換兩部分分別進行求解。
在實時應(yīng)用中,固體通常并不是用FEM Mesh來處理,而是被表示為質(zhì)量彈簧網(wǎng)格(Mass Spring Networks)。質(zhì)量彈簧網(wǎng)格相比于FEM更易于編程,并且運行起來會更快,同時也會有一些缺點 - 很難調(diào)整,當(dāng)網(wǎng)格空間到0的時候很難得到真實的收斂解,不過在實時模擬的場景中,這些都不是很嚴(yán)重的問題。布料大部分的時候都是用質(zhì)量彈簧網(wǎng)格系統(tǒng)來模擬的,因為這樣的網(wǎng)格用2d結(jié)構(gòu)的布料非常簡單。在FEM框架中,特殊的可以表示彎曲的單元可以用于布料的模擬,但是沒必要那么復(fù)雜,并且也太慢了。由于模擬應(yīng)當(dāng)是無條件穩(wěn)定的,簡單的顯示積分不能保證,而復(fù)雜的隱式積分很難去用代碼實現(xiàn),跑起來也很慢,還要考慮到阻尼。
當(dāng)物體被假設(shè)為一個剛體的時候,它的狀態(tài)就可以被描述為一個質(zhì)點+朝向+線速度+角速度。這樣就可以模擬大量的剛性的物體。剛體的模擬在每一個游戲的物理引擎中都是極其重要的一個部分,因為大部分游戲中的物體都可以被當(dāng)作剛性的。
原文
Real Time Physic Class - http://www.matthiasmueller.info/realtimephysics/
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。