2021年3月29日 星期一

現在開始斗內Week06

 Week06

1.上星期的加一點紅色的程式碼

#include <GL/glut.h>
#include <stdio.h>
float vx[2000],vy[2000];
float angle=0;
int N=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        glScalef(0.5,0.1,0.1);
        glColor3f(0.3,0.3,1.0);
        glutSolidCube(1);
    glPopMatrix();
    glutSwapBuffers();
}
void keyboard(unsigned char key,int x,int y)
{
}
void motion(int x,int y)
{
    angle++;
    display();
}
int main(int argc, char**argv )
{
    glutInit(&argc, argv);///初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
    glutCreateWindow("Week05");///開視窗
    glutDisplayFunc(display);///顯示函式
    glutMotionFunc(motion);
    glutMainLoop();
}

2.超精簡版
#include <GL/glut.h>
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle++,0,0,1);
        glutSolidCube(1);
    glPopMatrix();
    glutSwapBuffers();
}
int main(int argc, char**argv )
{
    glutInit(&argc, argv);///初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
    glutCreateWindow("Week06");///開視窗

    glutIdleFunc(display);
    glutDisplayFunc(display);///顯示函式
    glutMainLoop();
}
3.改中心
+glTranslatef(-0.25,0,0);
4.用viod裝手
void hand()
{
    glPushMatrix();
        glScalef(0.5,0.1,0.1);
        glutSolidCube(1);
    glPopMatrix();
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glTranslatef(-0.25,0,0);
        glRotatef(angle++,0,0,1);
        glTranslatef(-0.25,0,0);
        hand();
    glPopMatrix();
    hand();
    glutSwapBuffers();
}
5.手有兩節
#include <GL/glut.h>
float angle=0;
void hand()
{
    glPushMatrix();
        glScalef(0.5,0.1,0.1);
        glutSolidCube(1);
    glPopMatrix();
}
void a()
{
    glTranslatef(-0.25,0,0);
    glRotatef(angle,0,0,1);
    glTranslatef(-0.25,0,0);
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        a();
        hand();
        glPushMatrix();
            a();
            hand();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
    angle++;
}
int main(int argc, char**argv )
{
    glutInit(&argc, argv);///初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
    glutCreateWindow("Week06");///開視窗

    glutIdleFunc(display);
    glutDisplayFunc(display);///顯示函式
    glutMainLoop();
}
6.兩隻手
#include <GL/glut.h>
float angle=0;
void hand()
{
    glPushMatrix();
        glScalef(0.5,0.1,0.1);
        glutSolidCube(1);
    glPopMatrix();
}
void a()
{
    glTranslatef(-0.25,0,0);
    glRotatef(angle,0,0,1);
    glTranslatef(-0.25,0,0);
}
void b()
{
    glTranslatef(0.25,0,0);
    glRotatef(-angle,0,0,1);
    glTranslatef(0.25,0,0);
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        a();
        hand();
        glPushMatrix();
            a();
            hand();
        glPopMatrix();
    glPopMatrix();
    glPushMatrix();
        b();
        hand();
        glPushMatrix();
            b();
            hand();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
    angle++;
}
int main(int argc, char**argv )
{
    glutInit(&argc, argv);///初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
    glutCreateWindow("Week06");///開視窗

    glutIdleFunc(display);
    glutDisplayFunc(display);///顯示函式
    glutMainLoop();
}









沒有留言:

張貼留言

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

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