2023年3月22日 星期三

binhun-week06

 #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);


        glutSolidTeapot(0.3);


    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();


}

建立旋轉茶壺

 glutSolidTeapot(0.3);///建立茶壺
加入glTranslatef(0.49,0.13,0);///

要更多層的轉動


開心檔案week06-3 從上周week05-2拿來用
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix(); ///備份矩陣

        glRotatef(angle, 0, 0, 1);    ///(2)轉動
        glTranslatef(0.25, 0, 0);///(1)把旋轉中心,放到中心
        drawHand();
    glPopMatrix(); ///還原矩陣

    glutSwapBuffers();
    angle++;

}
把上面註解掉
加入
glPushMatrix();
            glRotatef(angle,0,0,1);
            glTranslatef(0.25,0,0);
            drawHand();
        glPopMatrix();
木棍連著木棍移動

把前面註解的解開比較好理解

加入glTranslatef(0.25,0,0);




複製這段程式碼下來貼上


複製的改成-0.25






沒有留言:

張貼留言