LoginSignup
sukai3201
@sukai3201

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

OpenGlでのカメラ移動について

解決したいこと

OpenGlでのカメラ移動について
現在、下記のpdfを参考にして、立方体を表示するプログラムを書いています。最終的にはblenderの様なカメラの動きを実装したいです。
Lookat()でビュー変換の行列を作る際に、マウスカーソルの縦横の移動を入力として、球面座標でカメラを回転させながら立方体の周りを移動させることはできました。
次にカメラの平行移動もできました。
しかし、カメラを回転させた後、平行移動をさせると意図した通りにできません。
どのように実装したらよいでしょうか。
それと、これ関連の参考資料も紹介したいただければ幸いです。

補足として、平行移動と回転を実装する際に、カメラの座標や目標点から独自の座標軸を作成しています。

参考資料
https://tokoik.github.io/GLFWdraft.pdf

平行移動のみ(成功)
Hello 2023_06_02 4_06_35.png

初期値の座標で回転(成功)
Hello 2023_06_02 4_10_12.png

回転したのちに平行移動(失敗)
Hello 2023_06_02 4_07_14.png

回転したのちに平行移動(このような結果を得たい)

初期値で回転
Hello 2023_06_02 4_10_12.png

平行移動
Hello 2023_06_02 4_10_12a.png

補足
カメラの姿勢が変わると、平行移動がぐるりとうねるように動いてしまいます。回転や平行移動をする際に、独自の座標軸を設定しているので、回転するときに新たな座標軸を設定して、その座標軸に沿った平行移動をさせないといけないのかもしれません。

0

No Answers yet.

Your answer might help someone💌