[[Open Dynamics Engine]]
 
 #contents
 &br;
 ** [[ODEコード集:http://www.ode.org/ode-latest-userguide.html]] [#mb9698b8]
 『C:\ode-0.7\include』にあるヘッダーファイルを確認することで,『ode.lib』および『drawstuff.lib』で使用できるODEコードを確認できる.
 *** 地面の粘弾性係数設定 - erpとcfmの設定方法 [#k4018909]
  DT: 刻み時間[sec]
  kp: 弾性係数[N/m]
  kd: 粘性係数[Ns/m]
 
  erp = DT*kp/(DT*kp+kd);
  cfm = 1/(DT*kp+kd);
  contact[i].surface.soft_erp = erp;
  contact[i].surface.soft_cfm = cfm;
 &br;
 *** 物体姿勢の初期設定〜角度編 [#d415cb85]
  void dGeomSetQuaternion (dGeomID, const dQuaternion);
 
  // A quaternion is four numbers [cos( theta /2),sin( theta /2)*u] 
  // where theta is a rotation angle and u is a unit length rotation axis.
  // 以下は,y軸(0,1,0)周りのtheta1[rad]回転を示している.
  qrot1[0]=cos(theta1/2);
  qrot1[1]=0*sin(theta1/2);
  qrot1[2]=1*sin(theta1/2);
  qrot1[3]=0*sin(theta1/2);
  dBodySetQuaternion (body[3],qrot1);
 &br;
 *** 『物体中心からの相対位置』の絶対座標 [#zb65a029]
  void dBodyGetRelPointPos (dBodyID, dReal px, dReal py, dReal pz, dVector3 result);
 
  dVector3 rpos3;
  dBodyGetRelPointPos (body[3],0,0,0.5*Thigh_H, rpos3);
 
 *** [#z4959cd7]
 *** 乱数[#z4959cd7]
 
  ■ 0から10までの整数
  (int)(11*dRandReal())
  
  ■ -1.00から+1.00まで0.01刻みの少数
  ((double)((int)(201*dRandReal()))/100.)-1.
  
  ■ 0からNまでの整数
  (int)((N+1)*dRandReal())

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS