首页 > 解决方案 > 在视图协调器中相对于 x 轴的 openGL 旋转

问题描述

假设我有这样的起始视图

在此处输入图像描述 带代码

gluLookAt(eye.x, eye.y, eye.z, ref.x, ref.y, ref.z, viewup.x,viewup.y,viewup.z);

这里

(eye.x, eye.y, eye.z) = (5.0, 5.0, 10.0); (ref.x, ref.y, ref.z) = (0,0, 0) ; (viewup.x, viewup.y, viewup.z) = (0, 1, 0);

我可以知道如何更改 eye.x、eye.y 和 eye.z 的值,以便视图坐标相对于 x 轴旋转,如下面的两个屏幕截图。

在此处输入图像描述 在此处输入图像描述

视图坐标中是否存在旋转矩阵运算,就像模型坐标的旋转一样?

谢谢

标签: opengl

解决方案


你应该改变 eye.x 和 eye.y 的位置,我的意思是你应该在 gluLookAt 函数中改变你的相机位置,并在 (0,0,0) 或立方体的中心保持你的 lookAt 参考。对于第一个屏幕截图,您可以尝试:

eye.x=0.0; 
eye.y=5.0;
eye.z=10.0;

推荐阅读