いまさら 超時空要塞マクロス リガード ODE 自由落下

読み込んだSTL形式のデータを表示するところまでは達成しました。今回は、ODEでリガードを自由落下させてみましょう。

リガードのモデルで「質量」に関わるものは球形としています。これは扱いを簡単にするためです。そして、接触の判定に用いられる「形状」についてSTLデータからの三角形を使用しています。動画内の焦げ茶色の平面は地面を表しています。リガードのモデルと地面が接触する面の反発力は0、摩擦係数も0としています。重心を表す球は接触判定の対象外としています。(地面を貫通します。)

リガードのモデルの座標系(局所座標系)の原点を確認してみましょう。赤い球で局所座標系の原点を表示すると、下のように足元のあたりになります。リガードモデルを自由落下させると、着地のショックで少し揺れますが、すぐに静止します。右側に動画をリンクさせていますので見てください。(初めて画面の録画に挑戦したもので、上手くいかなかったのですが、雰囲気はわかって頂けると思います。)

Animation

これを、下の位置に移動させます。球を大きく表示しただけですが、赤いリガードもカッコイイかも。でも結果はあまり変わり映えしませんね。3Dプリンタで製作するためのモデルですから、安定性はそれなりに考えられているのですね。

Animation2

もう少し重心を後ろに移動させてみましょう。今度は見事にスリップダウンしました。

Animation-u

Animation-l

では、今回のCodeを添付します。後方に転倒した時のデータとなっています。CodeについてはこれからPythonを勉強して改善していこうと思います。そしてODEを用いて鳥の脚(逆関節)の2足歩行について検討していく予定です。

Sample_STL_read4