Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 从右前确定俯仰、偏航和侧倾_Opengl - Fatal编程技术网

Opengl 从右前确定俯仰、偏航和侧倾

Opengl 从右前确定俯仰、偏航和侧倾,opengl,Opengl,在我的说教式openGL应用程序中,我在场景中有一些对象,当我单击其中一个对象时,我希望我的相机看到该对象。在我确定单击的对象后,我计算相机的上、前和右向量,然后我需要能够计算相机的俯仰、偏航和滚动角度。然而,我不知道如何才能做到这一点,所以任何帮助都会很好。您实际上不需要做所有这些计算。只需使用glLookAt()。它获取摄影机的位置、要查看的位置和上方向向量,并相应地确定模型视图矩阵的方向 如果你真的想这么做,看看我的答案。这是一个逆向计算的问题。从前方矢量,您应该能够相对容易地推断偏航和俯

在我的说教式openGL应用程序中,我在场景中有一些对象,当我单击其中一个对象时,我希望我的相机看到该对象。在我确定单击的对象后,我计算相机的上、前和右向量,然后我需要能够计算相机的俯仰、偏航和滚动角度。然而,我不知道如何才能做到这一点,所以任何帮助都会很好。

您实际上不需要做所有这些计算。只需使用
glLookAt()
。它获取摄影机的位置、要查看的位置和上方向向量,并相应地确定模型视图矩阵的方向


如果你真的想这么做,看看我的答案。

这是一个逆向计算的问题。从
前方
矢量,您应该能够相对容易地推断
偏航
俯仰

如果坐标系以x和z作为楼层

yaw = atan2(front.z, front.x);
可通过标准化
front
并使用asin计算螺距

front.normalize();
pitch = asin(front.y);
如果我以后有时间,我将研究计算
滚动


否则,shoosh有一个很好的建议使用
gluLookAt

如果由我决定的话,我会这样做……但我应该通过这样做来学习更多。