足郎2シミュレーターの設計

足郎2のシミュレーターを作り始めている。

パーツについてのJAVAのクラスを作り、インスタンス化して、全体を制御して、描画関数の引数に与えるような感じで作ろうとしている。

位置を表すのに座標と角度が用いられる。座標があればある意味全て事足りるのだが、サーボは角度を作るだけなので、角度から座標への変換が必要になる。

座標は、絶対的な座標(初期状態で起立しているときの上板の中心位置を原点とする)と相対座標(上板の中心を座標の原点とした座標)の二つで表せば良い。

各パーツクラスは、それにつながっているバーツとの相対角度を持っている。その角度は、自己を水平として、他者の角度を図にあるような方向で測った角度とする。角度は、すべて座標面に対する傾きである。これらの角度は、全て、前後の角度と左右の角度のペアである。

絶対角度が難しいが、当面は、重心のある足は水平であることを前提にして導き出そう。現実には、重心は、微妙に両足に分散している可能性はあるが、相対的に強く重心が載っている側の足を基準としておく。