dポイントプレゼントキャンペーン実施中!

3次元(x,y,z)物体の回転でよくx軸、y軸、z軸で回転がありますが、xy平面との角度φを回転させたいときはどうすればいいでしょうか?
xy平面との角度をφ回転させた後の座標(X,Y,Z)はどうなるのでしょうか?
また
X     x
Y = T・y
Z     z
このような行列Tが存在するのでしょうか?

A 回答 (3件)

No.1の補足への回答です。


No.1の後半に書いたものでOKです。

元の座標を(x,y,z)とします。xとyは同時に0でないものとします。
θ=arctan(x/y)として、[θ=arctan(x/y)とは、tanθ=x/yとなる角。なお、y=0のときはθ= 90°として計算します。]
z軸のまわりに角度θだけ回転させますと、

x'=x cosθ - y sinθ= (cosθ)(x - y tan θ) = 0
y'=x sinθ + y cosθ
z'=z

x'は0になるので、(x',y',z')はyz平面内に入ります。
つぎに、x軸のまわりに好みの角度φだけ回転させます。

x" = 0
y" = y' cosφ - z' sinφ
z" = y' sinφ + z' cosφ

最後に、z軸のまわりに-θだけ回転させます。

x"' = x" cosθ + y" sinθ
y"' = - x" sinθ + y" cosθ
z"' = z"
    • good
    • 0
この回答へのお礼

わかりやすく説明していただきありがとうございました。

お礼日時:2005/05/21 16:24

回転行列というものがありまして、二次元の場合の行列を紹介します。


cosA sinA
-sinA cosA
だったと思います。これである平面上で角度Aだけ回転できます。三次元の場合は考えてみてください。

この回答への補足

ネットでx軸、y軸、z軸に対する回転は確認しています。
私の質問の仕方もあいまいだったと思いますが、3次元の点A(x,y,z)と原点の直線とxy平面の角度を角度φ回転したいです。
ネットで見つからないんで困っています。
自分で計算しようとしましたが、ちょっとできませんでした。
もし、わかりましたらよろしくお願いします。

補足日時:2005/05/20 16:38
    • good
    • 0

ご質問の意味がわかりません。


>xy平面との角度φを回転させたい

「xy平面との角度」というからには相手があると思うのですが、xy平面と《何との》角度でしょう?

もし、「xy平面内の任意の直線を軸として回転させたい」ということであれば、まずz軸を軸として回転し、傾かせたい方向をy軸に一致させます。つぎにx軸を軸として望みの角度に回転させます。最後にz軸を軸として、最初の回転と逆に回転させればOKです。この回転の全体を表わす行列は、これら3つの行列を右から左に並べて掛けると求められます。

この回答への補足

>ご質問の意味がわかりません。
すいません、質問の仕方があいまいだったと思います。

3次元の点A(x,y,z)と原点を引いた直線とxy平面の角度を角度φ回転したいんです。

補足日時:2005/05/20 16:36
    • good
    • 0

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