英吋 C++

ODE 運作流程

碰撞真是個麻煩的東西…
最終還是選擇使用現成的Lib來用
之後應該會有一系列ODE的筆記吧~

以下節錄自ODE user guide 3.10 章節。

  1. 創造動力世界(dynamics world)。
  2. 創造在世界中的Body。
  3. 設定所有Body的狀態(座標之類的)。
  4. 創造在世界中的Joint。
  5. 將Joint依附在Body上。
  6. 設定所有Joint的屬性。
  7. 如果需要,創造碰撞世界(collision world)和碰撞幾何體(collision geometry)物件。
  8. 創造一個JointGroup來存放接觸點(contact joint)
  9. 迴圈:
    (a) 如果需要,套用Force到Body上。
    (b) 如果需要,調整Joint的參數。
    (c) 呼叫碰撞偵測。
    (d) 為每個接觸點產生一個接觸點,並將之放進JointGroup。
    (e) 推動模擬器(simulation)。
    (f) 移除JointGroup裡面所有的接觸點。
  10. 摧毀動力世界和碰撞世界。

目前不是很確定Joint和Contact Joint是否有差別…

–End

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.