2016-04-29 5 views
-2

私は現在、学校向けに自分のraytracerをコーディングしています。私はカメラをセットアップする際に少し問題があります。raytracerでカメラの回転を計算する

は、私は私のカメラは(CX、CY、CZ) ここで知っていると私は、私はそれらのデータを変換する必要があり、それは(LX、LY、LZ)

を見ている場所を知っている:私のカメラがどこにある (cX、cY、cZ) とその回転Xと回転Z

あなたの中には私に少しでも助けてもらえる人がいれば数学ではあまり良くありません。 ありがとう!

+0

のように働いて、私の場合には、それを必要とは、あなたは、オイラー角のことを聞いたことがありますか? [This](http://stackoverflow.com/questions/36604734/rotating-a-pinhole-camera-in-3d)は役に立ちます... – Matso

+0

あなたがそうする前に:私はあなたがしたくないと確信していますオイラー角。代わりにこれらのベクトルから形成された方向ベクトルと行列を使用してください。 –

+0

rotationXとrotationZを指定し、カメラの向きを定義する方法 – MBo

答えて

0

さて、私は私がやったことはある自分

それを考え出した: cam_rot.x = RadienToDegree(ACOS( - (dir.z/SQRT(POW(サンプルプログラムdir.x、2)+ POW(dir.z 、2))))) - 90; cam_rot.y = RadienToDegree((M_PI/2 - acos(dir.y)));

dirは、私のカメラの位置と見ている場所の間の正規化された方向ベクトルです。

私はれるrotationXため-90について完全にはよく分からないが、私は

が魅力 Screenshot1

関連する問題