オイラーの角による回転行列の回転軸と回転角を求めるもう一つの方法

オイラーの角による回転行列の回転軸と回転角を求めるもう一つの方法
2014.9.1
鈴木 実
オイラーの角による回転行列は複雑で,回転軸と回転角を固有値計算で求めるのは少なくとも見た目には骨
が折れそうである.ここでは,ロドリゲスの公式を用いて (もう少し簡単に) 求められことをメモしておこう.
オイラーの角により,座標系を z 軸で ϕ,y 軸で θ,z 軸で ψ 回転したときの,座標系の回転と同じ方向に
e と書かないことに注意),
e とすれば (ここでは tR
回転するベクトル回転の回転行列を R

cos θ cos ϕ cos ψ − sin ϕ sin ψ
e=
R
 cos θ sin ϕ cos ψ + cos ϕ sin ψ
− sin θ cos ψ
− cos θ cos ϕ sin ψ − sin ϕ cos ψ
− cos θ sin ϕ sin ψ + cos ϕ cos ψ
sin θ sin ψ
sin θ cos ϕ


sin θ sin ϕ 
cos θ
(1)
である.一方,ロドリゲスの公式は,回転軸を n,回転角を α として,
e
R
e + (1 − cos α) (n ◦ n) + sin α N
e
= cos α E

cos α + n2x (1 − cos α)
nx ny (1 − cos α) − nz sin α

=  nx ny (1 − cos α) + nz sin α
cos α + n2y (1 − cos α)
nx nz (1 − cos α) − ny sin α ny nz (1 − cos α) + nx sin α

nx nz (1 − cos α) + ny sin α

ny nz (1 − cos α) − nx sin α 
cos α + n2z (1 − cos α)
(2)
(3)
で与えられる.単位ベクトル n と α を ϕ,θ,ψ で表せばよい.
ここで,0 ≥ α ≥ π とし,それ以外の場合は,回転軸 n を反対方向に取ることにする.
まず,(2) で,右辺第 1 項と第 2 項が対称,第 3 項が反対称であることに注意しよう.つまり,(3) からその
転置行列を差し引けば,得られる行列は n の単一成分からなる単純な行列となることがわかる.すなわち,


0
−nz ny

e − tR
e = 2 sin α 
R
(4)
0
−nx 
 nz
−ny
nx
0
(4) の左辺に (1) を代入することにより,
nx
=
=
ny
=
=
nz
=
=
1
R32 − R23
2 sin α
1
2
θ
θ
ϕ+ψ
ϕ−ψ
sin θ(sin ψ − sin ϕ) =
sin cos cos
sin
2 sin α
sin α
2
2
2
2
1
R13 − R31
2 sin α
2
θ
θ
ϕ+ψ
ϕ−ψ
1
sin θ(cos ϕ + cos ψ) =
sin cos cos
cos
2 sin α
sin α
2
2
2
2
1
R21 − R12
2 sin α
1
2
θ
ϕ+ψ
ϕ+ψ
(cos θ + 1) sin(ϕ + ψ) =
cos2 sin
cos
2 sin α
sin α
2
2
2
(5)
(6)
(7)
という関係式が得られる.
(5)–(7) には α が入っているので,この α を求めなければならない.それには,次のような点に着目すれば
良い.まず,回転軸 n と回転行列には次の関係が成り立つ.
en=n
R
(8)
ここで,回転行列 Pe は n を z 軸に回転させるとする.すなわち,
Pe n = ez
1
(9)
(8) に Pe を作用させると,
e Pe−1 ez = ez
Pe R
(10)
e Pe−1 が z 軸を回転軸として,ベクトルを α だけ回転させる回転行列であるこ
となる.これは,明らかに,Pe R
とを示す.この回転行列はわかっていて,

e Pe−1
Pe R
cos α

=  sin α
0
− sin α
cos α
0

0

0 
1
(11)
eB
e = Tr B
eA
e が成り立つので,
である.行列の跡 (trace, Spur) に関しては Tr A
e = 2 cos α + 1
Tr R
(12)
という関係式が得られる.これに,(1) を代入することにより,
cos α =
1
{(cos θ + 1)[cos(ϕ + ψ) + 1] − 2}
2
(13)
となる.あるいは,少し書き換えれば,
α
θ
ϕ+ψ
= cos2 cos2
2
2
2
(14)
θ
ϕ+ψ
θ
α
= cos2 sin2
+ sin2
2
2
2
2
(15)
cos2
あるいは,
sin2
となる.これより,α が得られる.
n は単位ベクトルであるから,正規化しよう.(5)–(7) より n2x + n2y + n2z を計算して,少し整理すると,
n2x
+
n2y
+
n2z
4
θ
ϕ+ψ
=
cos2 cos2
2
2
2
sin α
µ
¶
2 ϕ+ψ
2 θ
2 θ
cos
sin
+ sin
2
2
2
(16)
となる.これと (5)–(7) から,n は次のように表される.

ϕ−ψ
θ
 sin 2 sin 2


1
θ
ϕ−ψ

n= r
 sin cos

2
2
ϕ+ψ
θ
θ
+ sin2 
cos2 sin2

2
2
2
θ
ϕ+ψ
cos sin
2
2









(17)
ここで得られた n は「オイラーの角と回転行列およびその固有値と固有ベクトルに関するメモ (2014.8.10)」の
結果と少し異なるように見えるかもしれない.しかし,(41) を正規化すれば (17) と一致することがすぐわかる.
2