2019年3月8日 星期五

謝謝小葉讓我_week03

今日課程內容:

1.使用老師提供的網站(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/)

2.下載三個檔案:data,win32,glut32.dll

 

3..將"glut32.dll"與"data"的檔案放入windows解壓縮完的資料夾並執行"Transformation.exe"

2.按照上周的步驟,開啟codeblock的glut

1.將上次的茶壺程式碼先打上
2.透過更改程式碼使茶壺移動
#include <GL/glut.h>
void display()
{
    glPushMatrix();///備份矩陣
        glTranslatef(0.2,0.2,0);///translate移動 x,y,z,f浮點數
        glutSolidTeapot(0.3);
    glPopMatrix();///還原矩陣
    glutSwapBuffers();
}///glut開頭,表示是glut的程式
int main(int argc,char ** argv)
{

    glutInit( &argc,argv);///啟動glut
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("隱睪盛");///開啟的視窗名稱
    glutDisplayFunc(display);
    glutMainLoop();
}
3.更改程式碼,使茶壺可以拖曳移動
#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);///translate移動 x,y,z,f浮點數
        glutSolidTeapot(0.3);
    glPopMatrix();///還原矩陣
    glutSwapBuffers();
}///glut開頭,表示是glut的程式
void motion(int nowx,int nowy)
{
    x=nowx; y=nowy;///更新x,y
    display();///畫面會更新,他會跟著滑鼠動
}
int main(int argc,char ** argv)
{

    glutInit( &argc,argv);///啟動glut
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("隱睪盛");///開啟的視窗名稱
    glutDisplayFunc(display);
    glutMotionFunc(motion);///mouse有動作motion時,要叫motion()
    glutMainLoop();
}

3.利用小畫家找出圖片座標

所以說那個歐文是誰

沒有留言:

張貼留言