回転行列 (rotation matrix) は,ユークリッド空間上のベクトルとの積を取ることにより,そのベクトルを回転させる演算子(作用素)として働きます.このことを,2次元回転行列および3次元回転行列に関して,三角関数の加法定理を用いて証明します.また,回転行列の転置行列,逆行列,行列式などの性質とその意味を説明します.
【スマホでの数式表示について】
2次元回転行列
2次元回転行列とは
行列 は,2次元ベクトルに左から作用させることにより,原点の周りでベクトルを角度 だけ回転させる.
(2)
の模式図を示す.
回転行列がベクトルを回転させることの証明(2次元)
2次元直交座標上の任意の実ベクトル は,適当な および を用いて
(3)
と書ける(ただし ).また,このベクトル を原点の周りに角度 だけ回転させたベクトル は,
(4)
と書ける.
他方,ベクトル に,式(1)で定義される2次元回転行列 を掛けると,ベクトルと行列の積,および三角関数の加法定理に注意して,
(5)
(6)
となることがわかる.
結局,式(1)で定義される回転行列 は,2次元直交座標上のベクトル を原点の周りに角度 だけ回転させる作用の,行列表現であることが示された.
2次元回転行列の積
上式(7)は,次のことを意味する.2つの2次元回転行列の積 は,左から作用させることで,ベクトルを角度 だけ回転させた後,さらに角度 だけ回転させる.これは,双方を合わせてベクトルを角度 だけ回転させること,すなわち回転行列 を作用させることに等しい.
上式(7)は,次の通りに確かめることができる:
(8)
2次元回転行列の行列式
(9)
(10)
であるから,2次元回転行列(1)の行列式は
(11)
となり,回転角 の値に関わらず恒等的に 1 である.
このことは,2次元ベクトルに2次元回転行列を作用させてベクトルを回転させても,ベクトルの大きさは変わらないことを意味する.
2次元回転行列の逆行列と逆回転
式(1)より, の逆回転を表す行列 は以下のように表せる:
(14)
式(12)は,次のことを意味する. は,左から作用させることで,ベクトルを角度 だけ回転させた後,さらに角度 だけ回転させる(すなわち元の角度分だけ逆回転させる).これは,双方を合わせてベクトルを角度 だけ回転させたのちに元に戻すこと,すなわち何もしないことに等しく,あるいは単位行列 を作用させることに等しい.またこのことは,行列 が の「逆の操作」であり,逆行列 に等しいことを意味し,式(13)として表せる.
また,式(12)は,次の通りに確かめることができる. について,
(15)
となる. についても,式(15)と同様の計算により, を確かめることができる.
一般の正方行列 に対して, を満たすような正方行列 は, の逆行列といい, で表す. は, に対して,この逆行列の定義を満たしていることから, の逆行列を と書くことにすれば,式(13) を得る.
(16)
(17)
となるので,2次元回転行列(12)にこれを用いることにより,
(18)
のようにして,式(13) を導くこともできる.
2次元回転行列は直交行列である
直交行列とは,以下によって定義される行列である.
(19)
が成り立つとき, を 直交行列(orthogonal matrix) という.
ただし, は の転置行列(the transpose of a matrix ), は の逆行列(inverse matrix) である.
2次元回転行列が直交行列であることは,以下のように簡単に確かめることができる.
行列の行と列を互いに入れ替えたものが転置行列である.一般の2次元正方行列 に対して,その転置行列 は
(20)
となる.
2次元回転行列(1)は
(21)
となる.
これは, の逆行列 に他ならない.
よって,2次元回転行列は直交行列である.
直交行列であるが2次元回転行列ではない行列
行列 が2次元回転行列ならば, は直交行列である.しかし逆は成り立たない.
すなわち,全ての 直交行列が 2次元回転行列(12) として表せるわけではない.
直交行列だが2次元回転行列(12) でない行列として,次のような例を挙げることができる.
左からの作用により2次元ベクトルを 軸に関して鏡像反転させる行列:
(22)
左からの作用により 座標と 座標を入れ替える行列(あるいは 2次元ベクトルを直線 に関して鏡像反転させる行列):
(23)
3次元回転行列
3次元回転行列とは
3次元直交座標上のベクトル を,
軸; あるいは ベクトル
軸; あるいは ベクトル
軸; あるいは ベクトル
の周りで角度 だけ回転させる演算子 ,, は,それぞれ次の 行列で表すことができる:
行列 ,, は,3次元ベクトルに左から作用させることにより,それぞれ 軸, 軸, 軸の周りで,ベクトルを角度 だけ回転させる.
(27)
の模式図を示す.
回転行列がベクトルを回転させることの証明(3次元)
3次元直交座標上の任意の実ベクトル は,円柱座標系 ,, を用いて
(28)
と書ける(ただし ).また,このベクトル を 軸の周りで角度 だけ回転させたベクトル は,
(29)
と書ける.
他方,ベクトル に,式(26)で定義される, 軸周りの回転行列 を掛けると,ベクトルと行列の積,および三角関数の加法定理に注意して,
(30)
(31)
となることがわかる.
結局,式(26)で定義される, 軸周りの回転行列 は,3次元直交座標上のベクトル を, 軸の周りで角度 だけ回転させる作用の,行列表現であることが示された.
軸周りの回転行列 および 軸周りの回転行列 についても,円柱座標系を適当に設定することにより,同様にベクトルの回転を確かめることができる.
式(8)の途中(3番目)が間違っているかと思います。(αとβが入れ替わっているところがある)
最初は自分を疑っていて、3時間ほど真剣に悩みましたが、
他のサイトと比較し、おそらく自分が正しいだろう、と思うようになりました。
細かいところで揚げ足をとるつもりではないのですが、
「回転行列の積」で検索するとこちらのページが一番に上がりますので、
他の人が私と同じように悩まないように、ご確認お願いします。
私の勘違いでしたら、申し訳ありません。
加藤様
ご指摘の通り,式(8)3行目の行列の(1,2)成分および(2,1)成分の第2項にalphaとbetaの入れ違いがありました.
正誤は下記の通りで,本文を修正しました.
ご丁寧なご指摘,ありがとうございました!
(誤)
(正)
いつも,読者の皆様の検算やご指摘で,サイト内容を改善することができ,より良い情報が掲載できることをうれしく思っております.
皆様,ありがとうございます.
引き続き,お気づきの点がありましたら,コメント欄にお寄せください.
大学を卒業してずいぶんたちます。3Dの円柱座標の計算結果をグラフにしようと思い、回転行列を探していて一番わかりやすかったのがここでした。ありがとうございました。
小田様
温かいコメント頂き,ありがとうございます.
お役に立てましたようで何よりです!