第1回 ガイダンス

回転行列の計算
回転軸と回転角度から
3次元ベクトルの外積
ax 
bx 




A  a y 、 B  by 
 a z 
bz 
とすると、
したがって、
A  B  a x i  a y j  a z k  bx i  by j  bz k 
 a xbx i  i  a y bx j  i  a z bx k  i 
a xby i  j  a y by j  j  a z bxk  j 
a xbz i  k  a y bx j  k  a z bz k  k
i, j, kはX, Y, Z 軸の単位ベクトルで、iとi, jとj, そしてkと
kは平行である。だから、
i  i  j j  k  k  0
iとj, jとk, そしてkとiは垂直である。したがって、
i  j  k j  i  k
j  k  i k  j   i
k  i  j i  k   j
したがって、
A  B 
(az by  a y bz )i  (az bx  axbz ) j  (a y bx  axby )k
簡単な記述法として、ベクトルの表現なら
i
j
k
A  B  ax
ay
az
bx
by
bz
行列の表現なら、まず A[] を下記のように定義すると
A [ ]
 0

  az
 a y

 az
0
ax
ay 

 ax 
0 
  a z by  a y bz 


A  B  A[]B   a z bx  a x bz 
 a y bx  a x by 


定理: A[]  A[]
T
証明:
A
T
[ ]
 0

  az
 a y

 az
0
ax
T
 0
ay 


 a x    a z
 ay
0 

定理:Aが単位ベクトルの場合、 A
[]
証明:
宿題にする
az
0
 ax
 ay 

a x    A[ ]
0 
A[]  AA  I
T
Y
3次元の回転変換:
回転軸がZ軸の場合
 x'  回転後のx

 y '  回転後のy

z'  z

y’
P’=(x’,y’)

y
P=(x,y)



O
x’
x
 x'   cos(   )  (  cos ) cos  (  sin  ) sin 

 y'   sin(   )  (  sin  ) cos  (  cos ) sin 
したがって
 x'  x cos  y sin 

 y'  x sin   y cos
X
一般的な場合における回転変換
1.まず、回転軸を Z 軸とする座標系の
設定
2.点の座標をその座標系に変換する
3.Z 軸まわりの回転変換を行う
P’
4.変換した後の座標を元の座標系に戻
す
回転後
k

P
回転前
回転軸
j
i
O
ω:回転軸の単位ベクトル、k:新しい座標系のZ軸の単位ベクトル
点Pの新しい座標系でのZ座標は


P’
ω   x  y z k  ω
T
k

z  k  P  kT P
P
回転軸
ベクトルPとkと垂直な方向をY軸の方向とすると、
j
Y軸の単位ベクトルj、そしてPの新しい座標系での
i
O
Y座標は
kP
j

|k  P |
y  k P  0
k [ ] P
k P  k
T
[ ]

[ ] P
k [ ] P
PT k [T]k []P

k [ ] P
 PT k []k []P
i:新しい座標系のX軸の単位ベクトル
点Pの新しい座標系でのX座標は
P’
k

i  j  k  k  j  
x  P i  
k []k []P
P
回転軸
 P k []k []P
T
j
P T k []k []P
 P T k []k []P
O
i
回転後の座標:

P T k []k []P
cos
 x'  x cos  y sin   
T
 P k []k []P

T

P
k []k []P

sin 
 y '  x sin   y cos  
T
 P k []k []P


z'  z  k T P


回転後の座標:
P '  ix' jy 'kz ' 
k []k []PPT k []k []P
 P k []k []P  P k []k []P
T
T
T
k []PP k []k []P

 P k []k []P  P k []k []P
T
T
sin   k kT P
 k []k []P cos  k []P sin   k kT P



 I  k kT cos  k [] sin   k kT P
cos
回転行列:
P'  RP


R  I  ωω cos  ω[] sin   ωω
T
T
単位4次元数
3次元空間における回転変換と
単位4次元数
単位4次元数(Unit Quaternion)は、4次元空間上の単位球面上
の点である。
x 2  y 2  z 2  w2  1
3次元座標系の各軸の単位ベクトルを i, j, k とし、
3次元回転の回転軸の単位ベクトルを ( x ,  y ,  z )
とし、回転角度を とすると、この3次元回転を下記の単位
4次元数で表現できる。
q  cos

 sin

( x i   y j   z k )
2
2
 q0  q x i  q y j  q z k
回転行列
単位4次元数qが表す回転変換の回転行列は、下記のように求
められる。
q02  q12  q22  q32

R (q)   2(q1q2  q0 q3 )
 2(q1q3  q0 q2 )

2(q1q2  q0 q3 )
q02  q22  q12  q32
2(q2 q3  q0 q1 )
2(q1q3  q0 q2 ) 

2(q2 q3  q0 q1 ) 
q02  q32  q12  q22 
3次元空間内の点も4次元数(Quaternion)を用いて表現するkと
ができる。
r  0  xi  yj  zk
点 p を R(q) によって回転変換され、 p’ になったとする。
p' R(q)p
4次元形式で上記の回転変換は次の式で表現できる。
r '  qrq *
q  (q0 ,qx ,q y ,qz )
*
4次元数の掛け算は次のように定義される
ab  (a0b0  a xbx  a y by  a z bz ,
a0bx  a xb0  a y bz  a z by ,
a0by  a x bz  a y b0  a z bx ,
a0bz  a xby  a y bx  a z b0 )