2020年3月24日 星期二

Note by Jack Week05

安培右手搞懂三軸關係

把範例程式改成使用滑鼠控制旋轉



滑鼠控制茶壺旋轉

Maya式旋轉茶壺

#include <GL/glut.h>
float myAngle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(myAngle,0,0,1);
        glutSolidTeapot(0.3);
    glPopMatrix();
    glutSwapBuffers();
}

int oldX=0;
void mouse(int button,int state,int x,int y)
{
    if(state==GLUT_DOWN)
        oldX=x;
}

void motion(int x,int y)
{
    myAngle+=(x-oldX);
    oldX=x;
    display();
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week 04");

    glutMotionFunc(motion);
    glutMouseFunc(mouse);
    glutDisplayFunc(display);
    glutMainLoop();
}


沒有留言:

張貼留言