- 締切済み
回転と変換の合成(三次元)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- info22_
- ベストアンサー率67% (2650/3922)
回答No.1
参考URLのアフィン変換をご覧ください。 1. 同次座標形式での行列を考えます。 (3,4,z)を(0,0,z)に平行移動する行列M1: M1=[[1,0,0,3],[0,1,0,4],[0,0,1,0],[0,0,0,1]] z軸を中心に反時計回りに90°回転する行列M2: M2=[[cosθ,-sinθ,0,0],[sinθ,cosθ,0,0],[0,0,1,0],[0,0,0,1]] (0,0,z)を(3,4,z)に平行移動する行列M3: M3=[[1,0,0,-3],[0,1,0,-4],[0,0,1,0],[0,0,0,1]] とすると、回転軸をM1によりz軸に移動して、それをz軸の回りにθだけ反時計周りに回転し、その後、回転軸をM3によりもとに戻せば良いから、 求める行列Mは M=M3M2M1 という行列の積によって求められる。行列の積を計算すると M=[[cosθ,-sinθ,0,4sinθ-3cosθ+3],[sinθ,cosθ,0,-3sinθ-4cosθ+41],[0,0,1,0],[0,0,0,1]] =[[r00,r01,r02,tx],[r10,r11,r12,ty],[r20,r21,r22,tz],[0,0,0,1]] となります。 2. θ=90°とおくと M=[[r00,r01,r02,tx],[r10,r11,r12,ty],[r20,r21,r22,tz],[0,0,0,1]] =[[0,-1,0,7],[1,0,0,1],[0,0,1,0],[0,0,0,1]] 3. X=M[[8],[3],[20],[1]]=[[4],[9],[20],[1]] 点(4,9,20)に移る。