2018年3月26日 星期一

Aaron的課堂筆記Week05

課堂目標:
1.複習主題:旋轉(Translate,Rotate)
2.新主題:T-R-T特定軸轉 & 階層性旋轉 & 矩陣
3.回家作業
-----------------<<<<<>>>>>-----------------------------
1.備妥檔案於http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/(Freeglut,data,windows,glut32)

2.嘗試不同的旋轉
先以預設值嘗試
在用右鍵Swap交換trslatef跟rotatef的順序
(記憶口訣程式從下而上 從內而外執行)
3.GLUT自己來!
更改程式順序的結果->(圓球的位置受到了影響,神遊物外)
(開始自轉)
4.自己的範例自己做
(改變茶壺旋轉軸中心位置 關鍵在於程式碼的先後順序)
再加上更多茶壺旋轉:
----------------------<<<<>>>>------------
基底:
#include <GL/glut.h>
float angle=0;
void motion(int x,int y)
{
    angle=x;
    glutPostRedisplay();
}
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
        glRotatef(angle,0,0,1);
        glTranslatef(0.45,-0.08,0);
        glutSolidTeapot(0.3);
    glPopMatrix();
    glutSwapBuffers();
}
int main(int argc,char**argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week05");
    glutDisplayFunc(display);
    glutMotionFunc(motion);
    glutMainLoop();
}


沒有留言:

張貼留言