力学のラグランジアン形式を用いて剛体の運動を記述するためには,剛体の方向
を指定する3つの独立なパラメータが必要である.文献には,このようなパラメー
タの組がいくつも述べられているが,もっと普通に用いられ,しかも有用なのは
Eulerの角
である.Eulerの角を用いた剛体の自由運動,
すなわち無重力状態での回転運動の方程式を,以下に述べる[2].
![]() |
![]() |
(1.1) |
![]() |
![]() |
(1.2) |
![]() |
![]() |
(1.3) |
角速度ベクトル
と角運動量ベクトル
との関係は
である.ここで
は
慣性テンソルである.したがって
運動方程式をベクトル形式で表現するためにベクトルとその内積が必要で
ある.勿論座標系の変換行列のためには行列とその逆行列が定義されなければな
らない.このためにはオブジェクト指向言語を使ったほうが,そうでない言語を
使うよりずっと簡潔にプログラムができる.そこで C++ で書くことにした.特
にC++の演算子の多重定義を使えばベクトルや,行列を表現しやすく,使いやす
いものにすることができる.