2023年2月22日 星期三

辰_電腦圖學Week02

 GLUT程式 如同上週所述之步驟開啟 在此圖片簡述






接著

是本週進度

1.將原程式碼的下列幾行複製到新的記事本(附文檔)





#include <GL/glut.h>



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

{

    glutInit(&argc, argv); ///開GLUT

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

    glutCreateWindow("GLUT Shapes"); ///視窗

    glutDisplayFunc(display);  //顯示對應函數

    glutMainLoop(); ///main迴圈壓後

}

2.將原程式碼全部刪除,將記事本的程式碼複製到原程式碼,並加入剩餘程式碼

茶壺程式碼


#include <GL/glut.h>

void display()

{



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();


    return EXIT_SUCCESS;

}



更改顏色!!
display的內部加入一行 glColor3f(1,1,0); 更改成黃色



新增綠色茶壺

換三角形


加入以下程式碼,加入頂點顏色,形成漸層
                glColor3f(1,0,0); glVertex2f(0,1);///紅色頂點Vertex
                glColor3f(0,1,0); glVertex2f(-1,-1);///綠色頂點Vertex
                glColor3f(0,0,1); glVertex2f(1,-1);///藍色頂點Vertex


使用頂點畫圖
    
    step1. 選一張圖匯入小畫家,將畫布改成200*200
     
    step2. 使用滴管吸取顏色確認顏色rgb 在程式中作色彩換算(色彩數值/255.0)

    step3. 確認頂點,在程式中換算位值((x-一半)/一半,-(y-一半)/一半)


畫出一個圓

step1. 加入一段函數畫圓
                void myCircle(float r,float x,float y)
                {
                    glBegin(GL_POLYGON);
                    for(float a=0;a<2*3.141592653589793238462632383279;a+=0.01)
                    {
                            glVertex2f(r*cos(a)+x,r*sin(a)+y);
                    }
                    glEnd();
                 }

step2. 加入圓形大小與位置
            glColor3f(1,0,1); myCircle(0.6,0,0);
            glColor3f(1,0,0); myCircle(0.3,0.5,0.5);
            glColor3f(0,1,0); myCircle(0.3,-0.5,0.5);
            glColor3f(1,1,0); myCircle(0.3,-0.5,-0.5);
            glColor3f(0,0,1); myCircle(0.3,0.5,-0.5);



沒有留言:

張貼留言