2024年2月29日 星期四

魚鱗☆゚.*・。電腦圖學 Week02

 1. 下載課本範例☆゚.*・。

    (1)進入網址:https://jsyeh.org/3dcg10/    ☆゚.*・。


    (2)下載 win32data ☆゚.*・。

    

    (3)去下載,把 windows.zipdata.zip 解壓縮☆゚.*・。

    (4)下載 -> windows -> Shapes.exe 點進去

    

    

    (5)各個選項

        左視窗右鍵:

        Toggle big vertices --- 凸顯頂點

        

        Toggle color at vertices --- 各頂點擴展色彩

        

        右視窗右鍵:

        改變圖形形狀

        

        各個頂點的參數

        

 2. 今天的程式---GLUT Teapot☆゚.*・。

    (1)重複上禮拜freeglut資料夾的設定 (Week01 - 3.)

    Moodle -> 上課用軟體 -> freeglut -> 下載 -> freeglut打開 -> 把freeglut資料夾挪到桌面並                進入 -> 進入lib,把libfreeglut.a複製貼上 -> 把複製的那個名稱改成"libglut32.a" -> 複製                路徑"C:\Users\Administrator\Desktop\freeglut

    (2)新增一個新GLUT專案

    New -> Project -> GLUT project -> 第一個位置選擇"桌面" -> 第二個位置貼上剛複製的路               徑,一直按Next 直到看到Finish 按下去

    (3)把所有程式刪除,貼上上禮拜教的程式 (Week01 - 4.2)

    #include <GL/glut.h> ///第18行 #include,使用GLUT外掛

    void display()

    {

        glutSolidTeapot( 0.3 );

        glutSwapBuffers();

    }

    int main(int argc, char *argv[]) ///第138行, int main

    {

        glutInit(&argc, argv); ///第140行,開啟GLUT功能

        glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); ///143行,設定顯示模式

        glutCreateWindow("GLUT Shapes"); ///第145行,開一個GLUT視窗

        glutDisplayFunc(display); ///第148行,藥用display()函式畫圖

        glutMainLoop(); ///第174行,主要的迴圈,在這裡一直運作不結束

    }

    (4)新增一行色彩的程式 " glColor3f(1,1,0); "

    #include <GL/glut.h> 

    void display()

    {

        glColor3f(1,1,0); ///今天新增的程式

        glutSolidTeapot( 0.3 );

        glutSwapBuffers();

    }

    int main(int argc, char *argv[]) 

    {

        glutInit(&argc, argv);

        glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); 

        glutCreateWindow("GLUT Shapes");

        glutDisplayFunc(display);

        glutMainLoop();

    }

    (5)再做一個茶壺

    

3. 今天的程式---GLUT Color Triangle☆゚.*・。

    (1)再創一個新GLUT專案

    (2)一樣複製上禮拜的程式上去

    (3)參考剛剛的"Shape.exe"程式,用三頂點製作出三角形

    #include <GL/glut.h> ///第18行 #include,使用GLUT外掛
    void display()
    {
        glBegin(GL_POLYGON);
            glColor3f(1,0,0);   glVertex2f(0,1);
            glColor3f(0,1,0);   glVertex2f(+1,-0.6);
            glColor3f(0,0,1);   glVertex2f(-1,-0.6);

        glEnd();
        glutSwapBuffers();
    }

    int main(int argc, char *argv[])
    {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
        glutCreateWindow("GLUT Shapes");
        glutDisplayFunc(display);
        glutMainLoop();
    }
     

    (4)執行程式,glColor代表顏色glVertex的+-代表坐標,也就是頂點位置 (考試會考)
    
    

    #要畫出什麼樣的圖形,就按照圖上的程式打
    

4. 今天的程式---GLUT Vertex2f MS Paint☆゚.*・。
    #利用小畫家找頂點坐標,畫出圖形
    

5. 今天的程式---GLUT cos & sin Circle☆゚.*・。

    (1)再創一個新GLUT專案

    (2)一樣複製上禮拜的程式上去
    



    

6. 上傳Github☆゚.*・。
    
    


    
    



    



        



沒有留言:

張貼留言