ダイナミクスエンジン)を学ぶODE講座の第17回目です。今回は重心の位置を移動する方法について説明します。dGeomSetOffsetPositionというAPIを使うと重心の位置をずらして設定することができます。初期の重心位置からずれした量をオフセット(offset)とよびます。z)だけずらして設定する。このAPIを使用する前にジオメトリはボディと関連づけられていなければいけない。dGeomSetBodyが先に呼び出されている必要あり。サンプルプログラムとして上図の起き上がり小法師を紹介します。ソースコードはここからダウンロードしてください。この例では、小法師の胴体に相当するの球(質量10kg、半径0.4m)の重心を球の中心より0.4m下に設定し、頭に相当する球の質量は1gしかないので、この小法師は必ず起き上がってくれます。具体的には、dBodySetPositionで重心位置を球の中心から半径分(0.4m)下にずらして設定し、dGeomSetOffsetPositionでそのずらした量(オフセット,ここではdz)を設定しています。起き上がり小法師へ左右方向へ100Nの力が加えられますが、復元力があるので起き上がるようすを確認できます。胴体(球)ボディの重心位置を、球の半径分下に設定する。このままでは、胴体のジオメトリ(形状)が地面に埋まるため、球の半径分上に設定する。この移動により球の重心が半径分下に移動し、胴体が復元力を持つ。0;}[/code]おしまい。球と直方体の表示方法を学びます。ダイナミクスエンジン)を学ぶODE講座の第10回目です。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。(3)タイトルとURLをコピーしました。