2019年4月26日 星期五

Week10 品妤note [TRT ]

今天下載
win32  data glut32.dll

研究Translate 跟 rolate 順序 有什麼差別

1. Translate 放最外層 >> 自轉

2. Rotate 放最外層 >> 公轉


畫出一個TRT 位移自轉~

#include <GL/glut.h>
float angle=0;

void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glTranslatef(0,0.5, 0);
        glutWireTeapot(0.3);
    glPopMatrix(); ///用一個矩陣包住Teapot

    glPushMatrix();
        glTranslatef(0.51,0.63,0); //把功轉的三角錐[位移]
        glRotatef(angle,0,0,1); /// 對著中心點做[公轉]
        glTranslatef(0.6, 0, 0); ///把轉過的Cone先向右位移0.6 
                    ///讓我要的旋轉中心點放在畫面中央 
                 
        glRotatef(-90,0,1,0); ///左轉90度,拇指指y旋轉-90
        glutWireCone(0.1, 0.6, 10, 10);  ///畫一個三角錐()
    glPopMatrix(); ///程式碼(Matrix)由下往上推
 
    glutSwapBuffers();
}
void motion(int nowx,int nowy)
{
    angle=nowx;
    display();
}
int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("Work10");
    glutDisplayFunc(display);
    glutMotionFunc(motion);

    glutMainLoop();
}

glutWireCone(  ); 


沒有留言:

張貼留言