openGL - 使用 gluLookAt 在对象上方和下方旋转
openGL - Rotating above and below an object using gluLookAt
我在 Open 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 轴上环绕它的立方体上方和下方旋转。
让凸轮绕物体旋转
减去对象的世界位置。来自凸轮世界位置,
cam_pos_os = cam_pos_ws - object_pos_ws
旋转指向 cam_pos_os 的矢量,就像您在代码中 space 中所做的那样
添加对象的世界位置。再次回到凸轮位置。在对象 space、
中
cam_pos_ws = cam_pos_os + object_pos_ws
我在 Open 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 轴上环绕它的立方体上方和下方旋转。
让凸轮绕物体旋转
减去对象的世界位置。来自凸轮世界位置,
cam_pos_os = cam_pos_ws - object_pos_ws
旋转指向 cam_pos_os 的矢量,就像您在代码中 space 中所做的那样
添加对象的世界位置。再次回到凸轮位置。在对象 space、
中cam_pos_ws = cam_pos_os + object_pos_ws