2018年3月19日 星期一

week04




非等速

#include <GL/glut.h> //呼叫GLUT_外掛
#include <stdio.h>
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
    glRotatef(angle,0,0,1);
    glutSolidTeapot(0.3);  /// 呼叫茶壺圖示
    glPopMatrix();
    glutSwapBuffers();
    printf("%.1f\n",angle);
    angle++;

}
int main(int argc ,char *argv[])  //呼叫main函式
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("05160655_Week04_Transformation");  /// 視窗標題
    glutIdleFunc(display);
    glutDisplayFunc(display);


    glutMainLoop();  // 函式迴圈
}


手動
#include <GL/glut.h> //呼叫GLUT_外掛
#include <stdio.h>
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        glutSolidTeapot(0.3);  /// 呼叫茶壺圖示
    glPopMatrix();
    glutSwapBuffers();


}
void mouse (int button,int state,int x,int y)
{

}
void motion (int x,int y)
{
    angle=x;
    glutPostRedisplay();
}
int main(int argc ,char *argv[])  //呼叫main函式
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("05160655_Week04_Transformation");  /// 視窗標題
    glutMouseFunc(mouse);
    glutMotionFunc(motion);
    ///glutIdleFunc(display);
    glutDisplayFunc(display);


    glutMainLoop();  // 函式迴圈
}





沒有留言:

張貼留言