2023年3月22日 星期三

擦 大哥 week06_階層式轉動

WEEK06_階層式轉動


複習上週考試內容

week05-2_TRT_robot複製

#include <GL/glut.h>

float angle =0;

void display()

{

    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

        glutSolidSphere(0.02,30,30);

        glPushMatrix();

            glRotatef(angle,0,0,1);

            glTranslatef(0.46,-0.05,0); 

            glutSolidTeaepot(0.3);

        glPopMatrix();

    glPopMatrix();

    glutSwapBuffers();

    angle++;

}

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

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH);

    glutCreateWindow("week03");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}


#include <GL/glut.h>

float angle=0;

void display()

{

    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景

        glutSolidSphere(0.02,30,30);

    glutSolidTeapot(0.3);

        glPushMatrix();

            glTranslatef(0.49,0.13,0);

            glRotatef(angle,0,0,1);

            glTranslatef(0.46,-0.05,0);

            glutSolidTeapot(0.3);

        glPushMatrix();

            glTranslatef(0.49,0.13,0);

            glRotatef(angle,0,0,1);

            glTranslatef(0.46,-0.05,0);

            glutSolidTeapot(0.3);

        glPopMatrix();

    glPopMatrix();

    glutSwapBuffers();

    angle++;///角度++

}

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

{

        glutInit(&argc, argv);

        glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

        glutCreateWindow("week05");

        glutDisplayFunc(display);

        glutIdleFunc(display);

        glutMainLoop();

}







#include <GL/glut.h>

float angle=0;

void drawHand()

{

    glPushMatrix();

        glScalef(1,0.3,0.3);

        glutSolidCube(0.5);

    glPopMatrix();

}

void display()

{

    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();//右上手臂

        glTranslatef(0.25,0,0);

        glRotatef(angle,0,0,1);///(2)轉動

        glTranslatef(0.25,0,0);///(1)把中心放在中心

        drawHand();//右下手臂

        glPushMatrix();//右下手肘

            glTranslatef(0.25,0,0);

            glRotatef(angle,0,0,1);

            glTranslatef(0.25,0,0);

            drawHand();//右下手肘

        glPopMatrix();

    glPopMatrix();

    glPushMatrix();//左上手臂

        glTranslatef(-0.25,0,0);

        glRotatef(angle,0,0,1);///(2)轉動

        glTranslatef(-0.25,0,0);///(1)把中心放在中心

        drawHand();//左上手臂

        glPushMatrix();//左下手肘

            glTranslatef(-0.25,0,0);

            glRotatef(angle,0,0,1);

            glTranslatef(-0.25,0,0);

            drawHand();//左下手肘

        glPopMatrix();

    glPopMatrix();


    glutSwapBuffers();

    angle++;

}

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

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("week06");

    glutDisplayFunc(display);

    glutIdleFunc(display);

    glutMainLoop();

}


 


沒有留言:

張貼留言