いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

ロドリゲスの回転公式とは何か、何に使えるか

 空間ベクトルの話です。図でベクトルを、ベクトルを回転の軸としてθだけ回します。例えばθ=60°なら、ベクトルはベクトルのところまで回ります。ベクトルnの終点から始点を眺め、反時計回りに角度を測ります

f:id:Inuosann:20210227181936p:plain

ベクトルからベクトルを求めるための公式があります。ロドリゲスの回転公式と言います。次のようなもの。

f:id:Inuosann:20210227185201p:plain

θを60°ずつ増やせば空間内に6本のベクトルが得られます。この方向に弾を発射するとか、いろいろ使えるでしょう。6本ではないですが、4方向に撃ったのが下の写真です。

f:id:Inuosann:20210227192512p:plain

空間内の回転なので、前に書いたクオータニオンでも実現できますが、ここではベクトル解析の知識、ロドリゲスの回転公式を使いました。

www.omoshiro-suugaku.com

 Unityは左手系の空間座標を使います。通常、数学では右手系です。z軸の向きが反対です。外積は右手系では右ネジの進む向きに定義しますが、左手系では右ネジが進む向きの反対向きです。あまり考えずに、ちゃんと答えは合うようにしていますが、左手系ではベクトルnの終点から始点を眺め、時計回りにθだけ回す公式だと考えればよいようです。

 慣れていないといろいろ分からないことも出てきますが、調べてがっちりサブルーチンを作っておけば心配なし。面倒でも使い方をきちんとコメントにしておきます。これを繰り返せば大きなプログラムを書けます。使えるカードを増やしておくことです。

 

2021年2月28日(日) 7:52 追記:

最初の公式で、右手系と左手系で外積の部分の符号が変わります。式を見ると、θの代わりに-θを使えばその変化をキャンセルできる……と考えられます。