英吋 C++

ODE – Chapter 4 《Data Types and Conventions》

Chapter 4 《Data Types and Conventions》

     4.1 The basic data types
        ODE可以編譯成單倍或雙倍精確浮點數的版本。單精準版本比較快且較省記憶體,但是模擬時會產生較多的誤差;也就是得到較不準確的結果。
        [必須先說明哪些因素會影響準確度和穩定性]
        浮點數的資料形態為dReal。其他常用的像是dVector3, dVector4, dMatrix3, dMatrix4, dQuaternion。

    4.2 Objects and IDs
        在ODE裡面有下列幾個不同的物件可以產生:
            • dWorld – 動力世界。
            • dSpace – 碰撞空間。
            • dBody – 剛體。
            • dGeom – 用來碰撞的幾何體。
            • dJoint – 關節。
            • dJointGroup – 關節群組。
        相關處理這些物件的方法,都需要傳遞或回傳物件的ID。這些物件ID類別會是dWorldID、dBodyID等等。

    4.3 Argument conventions
        所有的三軸向量(x,y,z)都有『set』的方法,給予X、Y、Z個別的參數。
        所有的三軸向量也都可透過get()方法取得向量的dReal陣列指標。
        更多軸的向量也都支援且,可以回傳向量的dReal陣列指標。
        所有的座標都是相對於世界座標,除了特殊定義的。
        
    4.4 C versus C++
        ODE庫是用C++撰寫,但它的公開介面(Public interface)都是由C的方法構成,並非類別(class)。
        為什麼呢?
            • 使用C的介面只因為簡潔(簡單?) – 使用C++的介面並沒有對ODE有很大的助益。
            • 避免C++在各種編譯器之中不同的mangle(打亂function名稱的動作),以及run-time時的一些問題。
            • 使用者不需要熟稔(詭異的?)C++也可使用ODE。

    4.5 Debugging
        ODE庫可以編譯成『debugging』或『release』模式。除錯模式會比較慢,但是方法會檢查參數和run-time的檢測。釋出版本則會比較快,但會跳過檢查的步驟。

–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.