3次元の回転角度の求め方について教えてください。
3次元の回転角度の求め方について教えてください。
3軸の加速度センサーがあります。
まず加速度センサーのZ軸を重力方向に置いたときの加速度センサーの値を(x1,y1,z1)=(0,0,1)とします。
加速度センサーのx軸、y軸、z軸をそれぞれ回転させたあとの加速度センサーの値を(x2,y2,z2)とします
(このとき加速度センサーは静止しているので、センサーの値は重力の分力になります)。
(x2,y2,z2)が既知のとき(x1,y1,z1)に戻すためのそれぞれの回転角はどのように求めれば良いのか教えてください。
(x2,y2,z2)→(x1,y1,z1)へ移動するときの回転角を
φ(z軸の回転角)、ψ(x軸の回転角)、θ(y軸の回転角)
とします。
回転行列
(x1) = (cosφ -sinφ 0) (cosθ 0 sinθ) (1 0 0 ) (x2)
(y1) = (sinφ cosφ 0) (0 1 0 ) (0 cosψ -sinψ) (y2)
(z1) = (0 0 1) (-sinθ 0 cosθ) (0 sinψ cosψ ) (z2)
より,3行3列の行列を計算すると
0=cosφcosθx2 + (-sinφcosψ+cosφsinθsinψ)y2+(sinφsinψ+cosφsinθcosψ)z2
0=sinφcosθx2 + (cosφcosψ+sinφsinθsinψ)y2+(-cosφsinψ+sinφsinθcosψ)z2
1=-sinθx2 + cosθsinψy2 + cosθcosψz2
となると思うのですが、この式からφ、ψ、θが導きだせません。
どうすれば求めることができるか教えていただけますか。