• ベストアンサー

座標変換

z軸[001]を[111]へ回転座標変換するやり方がわかりません。 どなたか、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#57316
noname#57316
回答No.1

[111] を [001] に移す行列を求め、その逆を取ればよいのですが、 今の場合、長さが 1 から、√(1^2+1^2+1^2)=√3 に変わりますので、 伸び縮みの変換も必要となります。 先ず、z軸の回りに [111] を π/4 回転させ、y-z平面上に移します。 そうすると、 [111] の点の y座標は √2、z座標は 1 となります。 それを、次に、x軸の回りにある角度回転させ、z軸に合わせます。 その角度は、今分かりませんが、それでも構いません。というのは、 y-z平面における y座標、z座標が分かっていて、その角度をθとすると sinθ、cosθが分かるからです。 スペースを節約するため、 sin(π/4) = cos(π/4) = 1/√2 = a sinθ= √2/√3 = b、cosθ= 1/√3 = b と書くことにします。 始めの回転(z軸の回りに [111] を π/4 回転)では、 [ a -a  0 ][1] = [0 ] [ a  a  0 ][1]  [2a] [ 0  0  1 ][1]  [1 ] 後の回転(x軸の回りにθ回転)では、 [ 1  0  0 ][ 0 ] = [0   ] = [ 0 ] [ 0  c -b ][2a]  [2ac-b]  [ 0 ] [ 0  b  c ][ 1 ]  [2ab+c]  [√3] これらの行列の積は、 [ a  -a 0 ] [ ac ac -b] [ ab ab c ] これの逆行列は、 [ ac^2+ab^2    ac   ab ] [-ab^2-ac^2    ac   ab ] [ 0       -2a^2b  2a^2c ] これらに数値を代入すると、 [ 1/√2  1/√6  1/√3 ] [-1/√2  1/√6   1/√3 ] [ 0    -√(2/3) 1/√3 ] これは、1/√3 倍に縮んだものですので、[111] と合わせるには √3 倍すればよいのです。