我在开放式GL中有一个立方体。我通过乘以旋转矩阵使立方体旋转。我还使用gluLookAt让相机在x轴上围绕立方体旋转,如下所示。
case 'j':
eyeX = 10*cos(angle);
eyeZ = 10*sin(angle);
centerX = -cos(angle);
centerZ = -sin(angle);
angle -= 0.1;
break;
case'l':
eyeX = 10*cos(angle);
eyeZ = 10*sin(angle);
centerX = -cos(angle);
centerZ = -sin(angle);
angle += 0.1;
break;
,其中
gluLookAt( eyeX, eyeY, eyeZ, centerX, centerY, centerZ, 0.0, 1.0, 0.0);
我正在努力让相机在y轴上绕着它旋转的立方体上方和下方旋转。
答案 0 :(得分:0)
使凸轮绕物体运行
减去对象的世界位置。来自凸轮世界pos。,
cam_pos_os = cam_pos_ws - object_pos_ws
旋转指向cam_pos_os的向量,就像在代码中的世界空间中一样
添加对象的世界pos。再次到凸轮位置。在对象空间中,
cam_pos_ws = cam_pos_os + object_pos_ws