建立虛擬生物第四部分

2021-10-04 19:22:28 字數 1012 閱讀 1021

4 物理模擬

動態模擬被用來計算生物與乙個虛擬的三維世界的互動的運動。在這個工作中

使用的物理模擬有一些元件,人工的身體動態,數值的積分,碰撞檢測,碰撞

響應,摩擦力,和乙個可選的粘性流體效應。這裡僅有乙個簡明的綜述,因為

物理模擬不是這篇文章的重點。

四塊石的遞迴的人工身體方法被用來計算來自於速度的加速度和連線的剛體

部分的每個層次的外力。積分決定了從這些加速度得到的運動的結果,積分

用乙個方法執行,這個 「龍格-庫塔-範伯格」方法是乙個第四序的龍格-庫塔,

它帶有附加的評估,來估計誤差和採用的步長。對於1/30秒的每乙個幀來說,

執行1到5之間的積分時間步長是經典的。

在這裡部分的形狀被表示為簡單的長方體。邊界盒的層次被用來減少部分之間的

碰撞檢測的次數。對於碰撞,要檢測世界空間的邊界盒的相交情況,如果存在

的話,還有要檢測與地平面的碰撞情況。如果必要的話,之間的時間步長被

縮小來保持任何新的碰撞在乙個一定的誤差範圍之內。連線部分被允許相交,

但不是彼此完全旋轉的。當檢測連線部分的碰撞時,通過調整形狀,可以實現。

較小部分的形狀被從它的到達處,剪掉一半,所以它能自由的動作,直到它轉

動,使得兩個部分相接。

通過乙個超級模型完成碰撞響應,使用了衝量和懲罰彈簧力。在高速時

同時性的衝量力被使用,在低速時,彈簧被使用,來模擬有隨意的彈力和摩擦力

引數的碰撞和連線。

對於水下環境的模擬,乙個粘性的效應被使用。對於每個暴露的移動表面,

乙個粘性的力阻礙著它的速度,正比於它的表面積和正常速度量。沒有包括流體

本身的運動,這是乙個簡單的合適的,但它仍是對於模擬看起來像游泳和划動

動態的現實,是足夠的。

當生物的運動被優化時,物理模擬有合理的準確性是很重要的。任何從非注意的情況下,允許能量洩露的錯誤和捨入誤差將被必然地發現,被虛擬生物利用。

對於高度乙個物理模型系統來說,儘管這能夠是乙個懶的和經常有趣的方法,但

它沒必要最常實踐。

第四部分 方法3

對employee.calculatepay方法的呼叫是問題的原因。我們需要的是晚繫結。晚繫結 latebinging 意味著編譯器到執行時才選擇要執行的方法。為了迫使編譯器呼叫向上型別轉換得到的物件的方法的正確版本。我們使用了兩個關鍵字 virtual 和override.必須在基類方法中使用vi...

第四部分 方法5

linux繼承了unix作業系統結構清晰的特點。在linux下的檔案結構非常有條理。但是,上述的優點只有在對linux相當熟悉時,才能體會到。vmlinuz 我們已經知道,每乙個linux都有乙個核心 vmlinuz 我們在這個核心上新增上可以完成各種特定功能的模組,每個模組就體現在 linux中各...

JavaScript筆記(第四部分)

命 名 空 間 管理變數,防止汙染全域性,適用於模組開發 之 前 的 解 決 辦 方 已經不用 命名空間 var org xuming department2 lisi 了解即可 用 法 org.department1.jicheng.name 簡化 var jc org.department1.j...