2016年3月21日 星期一

week05-03160595

week05
1. 旋轉、移動
2. mouse 與旋轉
3. 世界旋轉/階層性旋轉
4. 階層性移動

1.
去http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/下載
2.
a原本的圖
他會以物體中間為中心旋轉
3.

他會以位置中心旋轉物體
4.

自己用codeblocks打程式測試
讓茶壺能左右旋轉
底下是程式註解

程式:
#include <GL/glut.h>
float rotX=0;
void display()
{
    glClearColor(1,1,1,1);
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();///備份Matrix裡有translate,rotate,scale的量值)
        glRotatef(rotX, 0,1,0);
        glColor3f(1,0,0);
        glutSolidTeapot(0.3);
        glPopMatrix();///還原Matrix回到剛剛push時的樣子
        glutSwapBuffers();
}
void motion(int x,int  y)
{
    rotX=x;
    display();///glutPostRedisplay();
}
int main(int argc,char **argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);///DOUBLE BUFFERs兩倍記憶體
    glutCreateWindow("hello3D");
    glutDisplayFunc(display);
    glutMotionFunc(motion);
    glutMainLoop();
}

6.
加入rotY的值
讓茶壺可以上下旋轉

加入註解


沒有留言:

張貼留言