bambooflow Note

ジョイント

最終更新:

bambooflow

- view
メンバー限定 登録/ログイン

ジョイント



ボディとボディの間に対して動きの制約を与えます。
それは、距離とか角度とか。

ジョイント生成の流れ


  1. ジョイント生成(dJointCreate*)
  2. ジョイント接続(dJoointAttach)
    1. パラメータ設定(dJointSet*)
  3. シミュレーション実行:繰り返し
    1. 必要に応じてパラメータ取得(dJointGet*)
  4. ジョイント破棄(dJointDestroy)



ジョイントの種類




ボールとソケット


ジョイント部のアンカー(固定点)の位置情報を持ちます。
アンカーの位置をボディ1と同じにすると、ちょうど地球と月(衛星)の関係が作れると思います。(見た目がですけど)

  • 生成
dJointID dJointCreateBall (dWorldID, dJointGroupID);


  • パラメータ設定

void dJointSetBallAnchor (dJointID, dReal x, dReal y, dReal z);


  • パラメータ取得

void dJointGetBallAnchor (dJointID, dVector3 result);
void dJointGetBallAnchor2 (dJointID, dVector3 result);


ヒンジ(蝶番状)


扉の蝶番、自動車の車輪の軸。


  • 生成
dJointID dJointCreateHinge (dWorldID, dJointGroupID);



スライダー


  • 生成
dJointID dJointCreateSlider (dWorldID, dJointGroupID);



ユニバーサル


  • 生成
dJointID dJointCreateUniversal (dWorldID, dJointGroupID);



ヒンジー2


  • 生成
dJointID dJointCreateHinge2 (dWorldID, dJointGroupID);


Prismatic and Rotoide(PR)


機関車の車輪やエンジンのピストンを創造できます。


  • 生成
dJointID dJointCreatePR (dWorldID, dJointGroupID);



Prismatic - Universal


  • 生成
dJointID dJointCreatePU (dWorldID, dJointGroupID);



ピストン


  • 生成
dJointID dJointCreatePiston (dWorldID, dJointGroupID);


固定(Fixed)



  • 生成
dJointID dJointCreateFixed (dWorldID, dJointGroupID);



接触(Contact)


  • 生成
dJointID dJointCreateContact (dWorldID, dJointGroupID, const dContact *);



角度モータ(Angular Motor)


  • 生成
dJointID dJointCreateAMotor (dWorldID, dJointGroupID);


リニアモータ(Linear Motor)


  • 生成
dJointID dJointCreateLMotor (dWorldID, dJointGroupID);


Plane 2D


  • 生成
dJointID dJointCreatePlane2d (dWorldID, dJointGroupID);

タグ:

ODE ジョイント
記事メニュー
目安箱バナー