使用gluLookAt()的潜望镜模拟?

时间:2019-11-28 22:08:12

标签: c opengl 3d camera

函数看起来像这样gluLookAt(camera.x, camera.y, camera.z, target.x, target.y, target.z, 0, 1, 0);

就像潜艇上的潜望镜一样,如果我旋转潜艇以观察太空中的某个点,然后再移动潜艇,那么它现在应该注视着另一个点。

在我的程序中,如果我旋转相机以查看空间中的某个点然后平移相机,则它仍会朝我之前旋转的方向看。

理想情况下,如果我的相机正对着点(target.x, target.z),并由(deltaX, deltaZ)进行平移,那么它现在应该正对着(target.x + deltaX, target.z + deltaZ)

我当前的问题是,我不知道要更改target.xtarget.z来解决上面的问题要实现什么数学公式。我想以某种方式操纵这些变量,以便我的相机可以围绕其上矢量/ y轴作圆周运动,并且保持与自己的运动一致(如上一段)。 / p>

0 个答案:

没有答案