2021年5月24日 星期一

Week14

 Week14

1.實心圓球

#include <GL/glut.h>

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glutSolidSphere(0.3,30,30);///半徑0.3 縱切30 橫片切30

    glutSwapBuffers();

}

int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week14");

    glutDisplayFunc(display);

    glutMainLoop();

}

2.計時器


#include <GL/glut.h>

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glutSolidSphere(0.3,30,30);///半徑0.3 縱切30 橫片切30

    glutSwapBuffers();

}

void timer(int t)

{

    glClearColor(1,0,0,0);///清除背景顔色,紅色

    display();

}

int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week14");

    glutDisplayFunc(display);

    glutTimerFunc(4000,timer,0);///要等多久 叫誰 參數

    glutMainLoop();

}

3.橫切與縱切


縱切6,橫切6,切的越多越園

4.重複呼叫計時器

#include <GL/glut.h>
int angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        glutSolidCube(0.3);///半徑0.3 縱切30 橫片切30
    glPopMatrix();
    glutSwapBuffers();
}
void timer(int t)
{
    glutTimerFunc(30,timer,t+1);///呼叫新的鬧鐘
    angle++;
    display();///重複跑
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week14");
    glutDisplayFunc(display);
    glutTimerFunc(4000,timer,0);///要等多久 叫誰 參數,第一個鬧鐘
    glutMainLoop();
}

重複呼叫Timer的函式,做到讓正方體旋轉

5.順時針逆時針轉換

int diff=1;
void timer(int t)
{
    glutTimerFunc(20,timer,t+1);///呼叫新的鬧鐘
    angle+=diff;
    if(angle>180) diff=-diff;
    if(angle<0) diff=-diff;
    display();///重複跑
}

6.馬上開始跑

if(angle>90 || angle<0) diff=-diff;
glutTimerFunc(0,timer,0);///要等多久 叫誰 參數,第一個鬧鐘(不等,馬上開始

7.結合手臂轉動



沒有留言:

張貼留言

Week18期末作業(橘貓的跳舞熊熊)

 期末作業(橘貓的跳舞熊熊) 影片: https://youtu.be/R89tptMaQZw 程式碼: #include <opencv/highgui.h> #include <opencv/cv.h> #include <GL/glut.h...