2021年3月29日 星期一

week06

 #include <GL/glut.h>
#include <stdio.h>
int N=0,vx[3000],vy[3000];  ;
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotated(angle,0,0,1);
        glScaled(0.5,0.1,0.1);
        glColor3f(0.3,0.3,1);
        glutSolidCube(1);
    glPopMatrix();
    glutSwapBuffers();
}
void mouse(int buttin,int state,int x,int y)  //滑鼠點擊
{
        angle++;
        display();
}-
void motion (int x,int y)
{
    printf("%d %d\n",x,y);
    vx[N]=(x-150)/150.0;
    vy[N]=-(y-150)/150.0;
    N++;
    display();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutDisplayFunc(display);
    glutMouseFunc(mouse);
    glutMotionFunc(motion);
    glutMainLoop();
}
--------------------------------------------------------------------------------

#include <GL/glut.h>
#include <stdio.h>
int N=0,vx[3000],vy[3000];  ;
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotated(angle,0,0,1);
        glScaled(0.5,0.1,0.1);
        glColor3f(0.3,0.3,1);
        glutSolidCube(1);
    glPopMatrix();
    glutSwapBuffers();
}
void motion (int x,int y)   //滑鼠拖曳
{
    angle++;
    display();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutDisplayFunc(display);
    glutMotionFunc(motion);
    glutMainLoop();
}
---------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotated(angle++,0,0,1);    //當display執行時角度+1
        glutSolidCube(1);
    glPopMatrix();
    glutSwapBuffers();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutIdleFunc(display);     //不斷執行display
    glutDisplayFunc(display);
    glutMainLoop();
}
---------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glTranslatef(0,0,0);                     //初始旋轉中心
        glRotated(angle++,0,0,1);
        glTranslatef(-0.25,0,0);              //方塊旋轉中心
        glScaled(0.5,0.1,0.1);                 //改為長方形
        glutSolidCube(1);
    glPopMatrix();
    glutSwapBuffers();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();
}
--------------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void hand()                       //手臂
{
    glPushMatrix();
        glScaled(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);         //初始旋轉中心
        glRotated(angle++,0,0,1);     //旋轉
        glTranslatef(-0.25,0,0);         //方塊旋轉中心
        hand();
    glPopMatrix();
    hand();
    glutSwapBuffers();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();
}
--------------------------------------------------------------------------------------------------------
#include <GL/glut.h>
#include <stdio.h>
float angle=0;
void hand()
{
    glPushMatrix();
        glScaled(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);
        glRotated(angle++,0,0,1);
        glTranslatef(-0.25,0,0);
        hand();                           //上手臂
        glPushMatrix();
            glTranslatef(-0.25,0,0);
            glRotated(angle,0,0,1);
            glTranslatef(-0.25,0,0);
            hand();                       //下手臂
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();
}
-------------------------------------------------------------------------------------------------

#include <GL/glut.h>
#include <stdio.h>
float angle=0;
float angle1=0;
void hand()
{
    glPushMatrix();
        glScaled(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);
        glRotated(angle++,0,0,1);
        glTranslatef(-0.25,0,0);
        hand();
        glPushMatrix();
            glTranslatef(-0.25,0,0);
            glRotated(angle,0,0,1);
            glTranslatef(-0.25,0,0);
            hand();
        glPopMatrix();
    glPopMatrix();
    glPushMatrix();
        glTranslatef(+0.25,0,0);
        glRotated(angle1--,0,0,1);
        glTranslatef(+0.25,0,0);
        hand();
        glPushMatrix();
            glTranslatef(+0.25,0,0);
            glRotated(angle1,0,0,1);
            glTranslatef(+0.25,0,0);
            hand();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
}
int main(int argc,char ** argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("07160165");
    glutIdleFunc(display);
    glutDisplayFunc(display);
    glutMainLoop();
}

沒有留言:

張貼留言

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

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