首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >围绕Y轴gluLookAt旋转

围绕Y轴gluLookAt旋转
EN

Stack Overflow用户
提问于 2019-02-25 06:29:17
回答 1查看 210关注 0票数 1

我正在尝试使查看器绕y轴旋转。我有一个名为tranform_eye()的函数,它将在每次更新后计算eyexeyeyeyez的下一个位置。

有没有人能告诉我如何计算eyexeyeyeyez的值

我的代码:

代码语言:javascript
复制
float eyex = 5;
float eyey = 5;
float eyez = 5;

void display() {

    transform_eye();

    glMatrixMode(GL_PROJECTION);     // To operate on model-view matrix
    glLoadIdentity();
    gluPerspective(40.0, 1.0, 1.0, 10000.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();

    gluLookAt(eyex, eyey, eyez,
              0.0, 0.0, 0.0,
              0.0, 1.0, 0.0);

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers

    drawTriangles();

    glutSwapBuffers();  // Swap the front and back frame buffers (double buffering)
}

void transform(){
    /// calculate new eyex, y z.
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-25 09:01:10

例如,应用this answer中的数学方法可以得出以下结论:

代码语言:javascript
复制
void transform()
{
    float theta = 0.01; //angle in radians to rotate every frame
    float cosTheta = cos(theta);
    float sinTheta = sin(theta);
    float newX = cosTheta * eyeX + sinTheta * eyeZ;
    eyeZ = -sinTheta * eyeX + cosTheta * eyeZ;
    eyeX = newX;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54857183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档