1

我在 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 轴上环绕它的立方体上方和下方旋转。

4

1 回答 1

0

使凸轮环绕物体

  • 减去对象的世界位置。来自 cam world pos.,

    cam_pos_os = cam_pos_ws - object_pos_ws

  • 旋转指向 cam_pos_os 的向量,就像您在代码中的世界空间中所做的那样

  • 添加对象的世界位置。再次到凸轮位置。在对象空间中,

    cam_pos_ws = cam_pos_os + object_pos_ws

于 2015-11-19T23:09:27.330 回答