逆運動学を解くプログラム

逆運動学方程式を手計算で解いたが、その答えが問題文を読んだときに、自分の直感で予想した値と大きく異なっていたので、逆運動学を解くプログラムを書いてみた。

使用した言語はPythonで、これが初めての使用です。

CやJavaで書いても良かったんですけど、どうせなら使ったことのないけど、Linuxでよく使われているイメージのPythonを使ってみるのもいいんじゃないかという考えでPythonになりました。

というかJavaはsin(30)を0.5と返さず、0.499999・・・と返してくれました。オレの書き方が悪いんでしょうけど。

でも時点でJavaは選択肢から外れていました。

同じ方法でPythonはちゃんと0.5を返してくれましたし。

初めて触って、数時間で逆運動学を解くプログラムを完成させることができたPythonは非常に扱いやすい言語だと思います。

でも方法は順運動学に総当たりで計算をして、最も近似した時の値を返すというもの。

せっかく作ったのでソースを公開したり、PHPに直してWeb上で実行できるようにしたいのですが、成績評価に関わる問なので、成績評価がされてから公開したいと思います。

結局、Pythonによる計算を行った後、手計算で導いた答えはまだ計算の途中ということが分かりました。

最後まで計算をしたら、Pythonで導いた値と非常に近い値になりました。

※ルート等や円周率が計算に含まれるため、例えばルート3を1.73で計算するか1.732で計算するかや、3.14なのか3.1415なのかで誤差が生じます


コメントをどうぞ

XHTML:You can use these tags:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>