我知道在 OpenGL 中,我们使用 gluLookAt 将相机相对于世界放置,从而定义将要绘制的图像。
“眼睛”指定相机的位置,“中心”指定相机指向的点。一旦我们知道了这两个,我们就可以从眼睛到中心画一条直线。相机平面将垂直于这条线。
因为我们知道这个平面,所以向上向量指定了相机的顶部——基本上这个平面中的哪个方向是向上的。因此向上向量总是正交于连接中心和眼睛的向量。
我的问题是,当我们只想知道关于连接“中心”和“眼睛”的线的旋转角度时,为什么我们需要完整的向量。这背后的原因是我不知道的计算优势吗?如果有人指定了一个与视线方向不正交的错误向上向量怎么办?