2021年3月31日 星期三

week06

 萬花筒改良拉

https://github.com/jsyeh/processing/commits?author=jsyeh

老方法老師的github




方形方塊旋轉








#include <GL/glut.h>
float angle=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,0,1);///藍色
    glutSolidCube(1);///cube
    glPopMatrix();



    glutSwapBuffers();
    angle++;

}


int main(int argc, char ** argv)

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("你的歡迎!");

    glutDisplayFunc(display);


    glutIdleFunc(display);///重劃畫面

    glutMainLoop();

}














#include <GL/glut.h>

float angle=0;

void hand()

{

    glPushMatrix();

    glScalef(0.5,0.1,0.1);///細長

    glColor3f(0,0,1);///藍色

    glutSolidCube(1);///方塊

    glPopMatrix();


}

void display()

{


    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

     glColor3f(1,1,1); glutSolidCube(1);///身體

    glPushMatrix();

    glTranslatef(0.5,0.5,0);///整個移到右上較掛著

    glRotatef(angle,0,0,1);///對中心轉動

    glTranslatef(0.25,0,0);///把關節移到中心

    hand();///藍色小手

    glPopMatrix();

    glutSwapBuffers();

    angle++;


}




int main(int argc, char ** argv)


{


    glutInit(&argc, argv);


    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);


    glutCreateWindow("你的歡迎!");


    glutDisplayFunc(display);



    glutIdleFunc(display);///重劃畫面


    glutMainLoop();


}




#include <GL/glut.h>
float angle=0;
void hand()
{
    glPushMatrix();
    glScalef(0.5,0.1,0.1);///細長
    glColor3f(0,0,1);///藍色
    glutSolidCube(1);///方塊
    glPopMatrix();

}
void display()
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     glColor3f(1,1,1); glutSolidCube(0.5);///身體
    glPushMatrix();
    glTranslatef(0.25,0.25,0);///整個移到右上較掛著
    glRotatef(angle,0,0,1);///對中心轉動
    glTranslatef(0.25,0,0);///把關節移到中心
    hand();///藍色小手
        glPushMatrix();
         glTranslatef(0.25,0,0);
         glRotatef(angle,0,0,1);
         glTranslatef(0.25,0,0);
         hand();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
    angle++;

}



int main(int argc, char ** argv)

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("你的歡迎!");

    glutDisplayFunc(display);


    glutIdleFunc(display);///重劃畫面

    glutMainLoop();

}



#include <GL/glut.h>
float angle=0;
void hand()
{
    glPushMatrix();
    glScalef(0.5,0.1,0.1);///細長
    glColor3f(0,0,1);///藍色
    glutSolidCube(1);///方塊
    glPopMatrix();

}
void display()
{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     glColor3f(1,1,1); glutSolidCube(0.5);///身體
    glPushMatrix();
    glTranslatef(0.25,0.25,0);///整個移到右上較掛著
    glRotatef(angle,0,0,1);///對中心轉動
    glTranslatef(0.25,0,0);///把關節移到中心
    hand();///藍色小手
        glPushMatrix();
         glTranslatef(0.25,0,0);
         glRotatef(angle,0,0,1);
         glTranslatef(0.25,0,0);
         hand();
        glPopMatrix();
    glPopMatrix();

     glPushMatrix();
    glTranslatef(-0.25,0.25,0);///整個移到右上較掛著
    glRotatef(-angle,0,0,1);///對中心轉動
    glTranslatef(-0.25,0,0);///把關節移到中心
    hand();///藍色小手
        glPushMatrix();
         glTranslatef(-0.25,0,0);
         glRotatef(-angle,0,0,1);
         glTranslatef(-0.25,0,0);
         hand();
        glPopMatrix();
    glPopMatrix();
    glutSwapBuffers();
    angle++;

}



int main(int argc, char ** argv)

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("你的歡迎!");

    glutDisplayFunc(display);


    glutIdleFunc(display);///重劃畫面

    glutMainLoop();

}










沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...