團隊專案開發日誌(二)

2022-08-15 01:00:11 字數 432 閱讀 8390

繼續學習ode缸體動力學物理引擎開發庫:

使用drawstuff畫簡單的形狀,在本次工程中主要用於話冰球和機械手動作點(用圓代替)。程式中加入#include 標頭檔案就能使用。以下為繪製球的**。

const dreal *pos1,*r1;    //  繪製球  

dssetcolor(1,0,0); // 顏色的設定(紅,綠,藍)各分量從0到1 dssetspherequality(3); // 讓球的口質高些

pos1 = dbodygetposition(sphere.body); // 獲取位置

r1 = dbodygetrotation(sphere.body); // 獲得姿勢(旋轉矩陣) dsdrawsphere(pos1,r1,radius); // 畫球

團隊專案開發日誌(四)

為了進行動力學計算,用dworldcreate 建立world,在其中生成剛體body,用dworldstep 進行動力學計算。主要用到如下api函式。dspaceid dhashspacecreate 0 建立碰撞檢測用space,返回它的id。djointgroupid djointgroupc...

團隊專案開發日誌(三)

在ode中,動力學計算和碰撞檢測計算是獨立封裝的。其中碰撞檢測庫opcode是標準。在ode中使用碰撞檢測功能的時候需要生成碰撞檢測用的space和動力學計算用的world。物體有兩個屬性 作為動力學計算的對像的body 剛體 和作為碰撞檢測對像的geometry 形狀 body的製作方法 1 bo...

專案開發日誌(其二)

小組討論的結果總結在組長的部落格裡可以看到,我在討論中給出了自己的確定擊球點的方法 由於冰球和擊球器均是有體積的,因此不同的碰撞會導致冰球的返程有不同的角度和速度,但是最終的目的都是將球打進對方的球門,因此,通過數學方法我們是可以計算出在一定範圍內的擊球點是可以使冰球改變角度,朝向對方球門的。至於如...