• ベストアンサー

任意の軸による回転

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

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

  • ベストアンサー
回答No.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)に掛ければ、回転後の座標値を得られます。 がんばってください。

関連するQ&A