2023年2月23日 星期四

KZNK Week02 點、線、面、色彩

Week02-1 親手打造GLUT程式

開啟Week01的GLUT專案,打開原程式碼,複製下列幾行到新的空白檔案













將原程式碼全部刪除,將空白檔案的程式碼複製到原程式碼,並加入下列程式碼


















處存並執行出現0.3大小的白色茶壺

























Week02-2 更改顏色、新增頂點Vertex

加入程式碼glColor3f(1,1,0);
變成黃色茶壺





















加入程式碼glColor3f(0,1,0);         
                  glutSolidTeapot(0.3); 
畫面多了一個大小0.3的綠色茶壺

延續上個檔案更改程式碼為
glColor3f(0,1,0);
glBegin(GL_POLYGON);
        glVertex2f(0,1);
        glVertex2f(-1,-1);
        glVertex2f(+1,-1);
glEnd();
變更為綠色三角形
且將黃色茶壺大小改為0.3


















延續上個檔案更改程式碼為
glBegin(GL_POLYGON);
        glColor3f(1,0,0); glVertex2f(0,1);
        glColor3f(0,1,0); glVertex2f(-1,-1);
        glColor3f(0,0,1); glVertex2f(+1,-1);
glEnd();
變更為彩色三角形




















Week02-3 回家作業

用頂點畫圖,例:A的第一筆
1. 選一張圖匯入小畫家,將畫布改成200*200
2. 使用滴管吸取RGB數值,接著換算(色彩數值/255.0)
3. 換算((x-100)/100.0,-(y-100)/100.0)




















換顏色

















Week02-4 畫圓

用函數畫圓
#include <math.h>
void myCircle(float r,float x,float y)
{
    glBegin(GL_POLYGON);
    for(float a=0;a<=2*3.1415926535897932384;a+=0.01)
    {
        glVertex2f(r*cos(a)+x,r*sin(a)+y);
    }
    glEnd();
}

設定顏色、位置、大小
void display()
{
    glColor3f(233/255.0,141/255.0,128/255.0);
    glColor3f(1,0,1); myCircle(0.5,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);
    glutSwapBuffers();
}



沒有留言:

張貼留言