函数看起来像这样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.x
和target.z
来解决上面的问题要实现什么数学公式。我想以某种方式操纵这些变量,以便我的相机可以围绕其上矢量/ y轴作圆周运动,并且保持与自己的运动一致(如上一段)。 / p>