2021年5月24日 星期一

week14

 

本周第二次線上上課,更加得心應手了!!!!!!!!!!

程式碼:

#include <GL/glut.h>

void display()

{

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glutSolidSphere(0.3,30,30);

    glutSwapBuffers();

}

int main(int argc,char** argv)

{

    glutInit(&argc,argv);

    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);

    glutCreateWindow("week14 timer");

    glutDisplayFunc(display);

    glutMainLoop();

}

程式碼:
#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glutSolidSphere(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_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week14 timer");

    glutDisplayFunc(display);
    glutTimerFunc(4000,timer,0);
    glutMainLoop();

}
以上程式時間設定4秒鐘,等待4秒鐘後,背景將會變成紅色






#include <GL/glut.h>
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glutWireSphere(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_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week14 timer");

    glutDisplayFunc(display);
    glutTimerFunc(4000,timer,0);
    glutMainLoop();

}
以上程式碼可將圓形轉變為類似柳丁形狀


程式碼:
#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);
    glPopMatrix();
    glutSwapBuffers();
}
void timer(int t){
    glutTimerFunc(30,timer,t+1);
    angle++;
    display();
}
int main(int argc,char** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week14 timer");

    glutDisplayFunc(display);
    glutTimerFunc(4000,timer,0);
    glutMainLoop();

}
以上程式可以利用glut timer參數,製作動畫

程式碼:
#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);
    glPopMatrix();
    glutSwapBuffers();
}
int diff=2;
void timer(int t){
    glutTimerFunc(20,timer,t+1);
    angle+=diff;
    if(angle>180)diff=-diff;
    if(angle<0)diff=-diff;
    display();
}
int main(int argc,char** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week14 timer");

    glutDisplayFunc(display);
    glutTimerFunc(4000,timer,0);
    glutMainLoop();

}







沒有留言:

張貼留言

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

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