2019年3月14日 星期四

我要一個打十個week4

電腦圖學 2019-03-14 week04

1.主題:移動
2.示範:glTranslatef(x,y,x)
3.
FIRST:
步驟一:
前往http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/ 下載程式 如下圖所示
步驟二:
將WINDOWS進行解壓縮至WINDOWS資料結 並將DATA及glut32.dll壓縮至WINDOWS資料夾


步驟三:
接著打開Transformation.exe並截圖並完成老師交代的作業
步驟四:
在程式化面上點選滑鼠右鍵可以更換模型
步驟五:
並有很多種模型可以選擇 只不過都是英文  有足球..等等可以選擇
下圖則為更換後圖示

SECOND:
前言:
打開CODEBLOCK GLUT PROJECT
由於老師教好幾次我們也學好幾次了
都計在頭腦裡就不須再抄一次了
步驟一:
根據老師上課給的程式碼 把main原本的程式碼刪除 打上新的
#include <GL/glut.h>
void display()
{

    glPushMatrix();
        glTranslatef(0.3,0.3,0);
        glutSolidTeapot(0.3);
        glPopMatrix();
        glutSwapBuffers();
}
int main(int argc,char**argv){
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
    glutCreateWindow("week04");
    glutDisplayFunc(display);
    glutMainLoop();

}
步驟二:
茶壺的位置則改變
是不是很簡單呢!!
步驟三:
使用滑鼠讓茶壺移動
#include <GL/glut.h>
float x=0,y=0; 
void display(){
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glPushMatrix();  
    glTranslatef((x-150)/150.0, -(y-150)/150.0, 0); 
    glutSolidTeapot(0.3);
    ///glVertex2f((x-150)/150.0, -(y-150)/150.0, 0));
    glPopMatrix(); 
    glutSwapBuffers();

}
void motion(int nowX , int nowY) 
{
    x=nowX; y=nowY;
    display();
}

int main(int argc,char**argv){

    glutInit(&argc,argv);

    glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);

    glutCreateWindow("06160396-Week04");

    glutDisplayFunc(display);
    glutMotionFunc(motion);

    glutMainLoop();

}


沒有留言:

張貼留言