3次元での回転表示について - koji-kon

3次元での回転表示について
最初に
• 計測データは3次元のベクトルである。
• ベクトルとは
– 物理的な意味は方向と大きさ。
– 記述上は複数の要素(スカラ)を並べたもの。
– 例)(1,2,3) ※3次元の場合。
• スカラとは
– 数字としての大きさを指す。
ベクトルのスカラ倍
・方向が同じで大きさがスカラ倍
k倍
a
k*aで表される。
ベクトルの和
a+bを表現する
赤い直線はaとbを足したものと等しい
b
a
a+b
ベクトルの内積(1)
ベクトルの長さについて
aの長さは|a|で表すことが
できる。
b
a=(a,b,c)とすると
θ(なす角)
|a|=
a^2+b^2+c^2
※直角三角形の定義から求められる。
a
a・b=|a|・|b|・cosθ
Σaj・bj とも表すことができる。
※aとbの各要素をかけた総和・・・理由は次頁
ベクトルの内積(2)
余弦定理より、c^2 =a^2+b^2-2・a・b・cosθ
ベクトル化し、c = a-bとすると、
b
c
|c|^2=|a| ^2 +|b| ^2 -2・|a|・|b|・cosθ
左辺=(ax-bx)^2+(ay-by)^2+(az-bz)^2
θ
右辺=(ax^2+ay^2+az^2)+(bx^2+by^2+bz^2)-2・|a|・|b| ・cosθ
∴ |a|・|b| ・cosθ=ax・bx+ay・by+az・bz
a
∴ 一般的に、内積 a・b=|a|・|b|・cosθ= Σaj・bj
回転表示について(1)
Z
z
←モニタ(動座標)
y
モニタ内の
x=画面の横方向
y=画面の縦方向
x
z=画面の垂直方向
Y
静止座標
=点群
X
ここで静止座標と動座標の相互変換が必要になる。
回転表示について(2)
• 変換の方法
– ロール・ピッチ・ヨー角を用いた3次元座標変換法
– オイラー角を用いた3次元座標変換法
• 一般的にはロール・ピッチ・ヨー角が使われて
いるのでこれを使用する。
回転表示について(3)
• ロール・ピッチ・ヨー角とは
ヨー角 z
ピッチ角 y
船に例えると
xは船の進む方向
yはxに垂直な方向
zは真上方向
ロール角 x
船
変換式
(X,Y,Z)=(x、y、z)・[M]
x
y
z
= [M]・
X
Y
Z
動座標から静止座標への変換
静止座標から動座標への変換
[M]は行列で回転行列と呼ばれている
動座標から静止座標への変換
z
P=x ・ i + y ・ j + z ・ k
P
P(X、Y、Z)=(x,y,z)・
y
x
i
j
k
回転行列
[M]
静止座標から動座標への変換
i
P(X、Y、Z)=(x,y,z)・
を転置すると
j
k
X
Y
Z
=
k
j
k
・
y
z
i
j
i
x
・
X
Y
Z
左から回転行列を乗算すると
i
=
j
k
x
・
i
j
k
・
y
z
x
=
y
z
x
∴
y
z
= [M]・
X
Y
Z
回転行列について
回転行列はα、β、γで表すと
[M]=
Cγ Sγ 0
Cβ 0 –Sβ
1
-Sγ Cγ 0
0
0 Cα Sα
0
0
1
1
Sβ 0
0
Cβ
Sα=Sinα
Cα=Cosα
理由を以下の3ページに示します
0
0
0 –Sα Cα
となる
X軸で回転
Z
Z
’
Y’
α
α
Y
X
i
’
j
’
k
’
1
=
0
0
i
0 Cα Sα
j
0 –Sα Cα
k
Y軸で回転
Z
’
Z’’
β
Y’
β
X’
X’’
i’’
j’’
k’’
Cβ 0 –Sβ
=
0
1
Sβ 0
0
Cβ
i
’
j
’
k
’
Z軸で回転
Z’’
Y’’’
γ
Y’’
γ
X’’
X’’’
i’’’
j’’’
k’’’
=
Cγ Sγ 0
i’’
-Sγ Cγ 0
j’’
0
0
1
k’’