プロが教えるわが家の防犯対策術!

fortranで任意の軸と回転角を指定して回転を行うルーチンを作成したいのですがどう作ればいいでしょうか?

A 回答 (1件)

こんにちは、AEと申します。



アドバイス程度ですが(^^;。

任意の軸A(x,y,z)に対してrラジアン回転させる行列は次のようになります。

|Ax*Ax*(1-cos(r))+cos(r) ,Ax*Ay*(1-cos(r))-Az*sin(r),Ax*Az*(1-cos(r))+Ay*sin(r)|
|Ay*Ax*(1-cos(r))+Az*sin(r),Ay*Ay*(1-cos(r))+cos(r) ,Ay*Az*(1-cos(r))-Ax*sin(r)|
|Az*Ax*(1-cos(r))-Ay*sin(r),Az*Ay*(1-cos(r))+Ax*sin(r),Az*Az*(1-cos(r))+cos(r) |

これを回転させたい座標点(X,Y,Z)に掛ければ、回転後の座標値を得られます。

がんばってください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!