0
我想实现一个简单的应用程序,用户可以通过更改gluLookAt函数的参数来查看自己。我实现了绕Y轴旋转的方式如下:OpenGL应用程序旋转摄像头
float cx1;
float cz1;
float d1 = cx - eyex;
float d2 = cz - eyez;
cx1 = d2*sin(alfa*PI/180) + d1*cos(alfa*PI/180);
cz1 = d2*cos(alfa*PI/180) - d1*sin(alfa*PI/180);
yRotationAngle = yRotationAngle +alfa;
cx = cx1 + eyex;
cz = cz1 + eyez;
这工作得很好,但是当我试图绕x轴旋转,我没有得到期望的行为。我想将相机“向上”和“向下”旋转,但是按照我当时所处的特定方向旋转。围绕X轴旋转的代码按以下方式实现: float d1 = cy-eyey; float d2 = cz - eyez;
//rotate around x
cy1 = cos(angleToRotate) * d1 - sin(angleToRotate) * d2;
cz1 = sin(angleToRotate) * d1 + cos(angleToRotate) * d2;
cy = cy1 + eyey;
cz = cz1 + eyez;
我需要一定绕Y轴的一些逆向转动之前我x周围旋转?如果是这样,旋转所需角度的值是多少?