相机间距/偏向方向矢量

时间:2012-05-13 06:01:02

标签: java lwjgl raytracing ray-picking

我要做的是从相机中投射光线。我知道相机的x,y和z坐标,以及它的俯仰和偏航。我需要计算它的方向向量,这样我就可以将它传递给我的光线追踪算法。

相机的向上矢量为(0,1,0)。从相机的角度来看,“俯仰”正在向上和向下看。

(我宁愿不使用矩阵,但如果必须,我会这样做)

1 个答案:

答案 0 :(得分:10)

假设您的坐标系已设置为满足以下条件:

(pitch, yaw)  -> (x, y, z)
(0,     0)    -> (1, 0, 0)
(pi/2,  0)    -> (0, 1, 0)
(0,    -pi/2) -> (0, 0, 1)

这将计算(x,y,z):

xzLen = cos(pitch)
x = xzLen * cos(yaw)
y = sin(pitch)
z = xzLen * sin(-yaw)