2019年4月25日 星期四

DannyLo筆記 Week10

本周主題:T.R.T 旋轉 (改變旋轉軸)


1.打開Transformation
    註:右鍵可以更改Rotate跟Translate的順序

2.觀察交換後的不同

  1. 圖像理解
   (1.)Translate在前 (自轉)
   
 
    (2.)Rotate在前 (公轉) 像是喜酒的大餐桌 物體放在中間時 是自己轉動 但是先把他移動到餐           桌邊後再旋轉就看起來像是物體在餐桌邊跟著旋轉
   

   2.陣理解矩
   每個移動跟旋轉或縮放都是一個4x4的矩陣 Popmatrix就是還原矩陣出來 當然 不是只有RTS而已 都可以再繼續加長下去
  
#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();

     glPushMatrix();
        glTranslatef(0.51,0.63,0);///希望把手移到茶壺上
        glRotatef(angle,0,0,1);///手的旋轉
        glTranslatef(0.6,0,0);///把旋轉中心(尖) 先移動到畫面中心

        glRotatef(-90,0,1,0); ///轉成平的
        glutWireCone(0.1,0.6,10,10);
    glPopMatrix();

    glutSwapBuffers();
}
void motion(int x,int y)
{
    angle=x;
    display();
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("weeEEEEEEEEE");

    glutDisplayFunc(display);
    glutMotionFunc(motion);
    glutMainLoop();
}


參考:https://www.itread01.com/p/50364.html

沒有留言:

張貼留言