現在、OpenGL(With SDL)を使用して、画面の左クリックした場所に立方体を描画し、画面内の右クリックした位置を指すようにしようとしています。
gluUnprojectを使用して、目的の場所に立方体を正常に描画できます-つまり、立方体が配置されている座標はすでにわかっています。
ただし、立方体を新しい場所に向けるのに必要なすべての角度を計算する方法がわかりません。
もちろん、私はまだgluUnprojectを使用して右クリックの座標を見つけていますが、2Dグラフィックスを使用してZ軸を中心に回転する方法しか知りません。
たとえば、以前は、2DでクワッドをZ軸を中心に回転させたい場合(もちろん、これはZ軸がまだ画面を「通過」しているトップダウンビューになります)、次のようにします。
angle = atan2(mouseCoordsY - quadPosY, mouseCoordsX - quadPosX);
glRotatef(angle*180/PI, 0, 0, 1);
私の質問は、これを3Dでどのように行うのかということです。
- 上記のように各軸の角度を計算する必要がありますか?
- もしそうなら、X軸とY軸の周りの回転角度をどのように計算しますか?
- そうでない場合、希望する結果を達成するためにどのような方法を使用する必要がありますか?
どんな助けでも大歓迎です。