webGLという3Dのライブラリが動かないブラウザ環境では遅くなる場合があります。できるかぎり、webGLの使える環境で動かしてください。
剛体の運動を考えるとき、剛体が今どのような位置関係を持っているかを3つの角度を使って表現するのが「オイラー角」である。3つの角度を表す記号としてφ、θ、ψを使おう。回転を表現するには座標の基底ベクトルを変える変換と成分を変える変換がある。このページではその二つが切り替えられるようになっている。基底ベクトルの方の変換では、座標軸の向きが変わる。成分の方の変換では、座標は動かずにベクトルの成分が変わっていく。
回転させるパラメータがφ、θ、ψであるが、その意味は以下の通りである。
基底の変換の場合
φは、元々のz軸を軸として角度φの回転を行う。
これは、
次に、今の移動が終わった後のx を軸として二つ目の角度θの回転を行う。
これは、
θは、いわば「z軸をどれだけ倒すか」を決める角度である。そしてここで、φが「z軸をどの方向に倒すか」を決める角度であったことがわかる。スライダーを動かしていろいろな値にして、確認しよう。
最後に、以上二つの回転が終わった後のz軸を軸として角度ψの回転を行う。
三つの操作をまとめると、
ここで、紙飛行機の先端を表す列ベクトルは(たとえば)
具体的計算結果は以下の通り。
ここで描いた回し方は「
成分の変換の場合
上の回転の仕方では基底ベクトルが回ることで座標軸が回っていった。同じ内容を「成分が変わる」ことで表現できる。今度は、紙飛行機の先端を表す列ベクトルは
基底の変換と成分の変換は
の操作の順番が逆。- 2つ目以降の操作で、成分の変換のときは座標軸は回ってないので「元のまま、回ってない座標軸」の周りに回す(基底の変換のときはまわった座標軸の周りに回した)。
の2点である。
アニメーションをみながら、違い(しかし、最終的な結果は同じであること)を確認しておいて欲しい。