2024年2月26日 星期一

11160276_林正豪

#點、線、面、色彩


1.下載課本的範例https://jsyeh.orq/3dcq10/

windows.zip及data.zip

2.在下載資料夾,把windows.zip => windowsy 資料夾,data.zip裡面的data拉到下載windows資料夾裡面

3.執行Shapes.exe便可以操作今天的課本範例

4.mouse右鍵,在右邊可切換 點、線、面

5.mouse右鍵,在左邊可切換大的頂點、逐個色彩

6.mouse左鍵,在右邊可按綠色數字上下調整


可以改色彩

glColor3f (r , g , b)


可以改頂點座標

glVertex2f (x , y)


##要寫程式,試試看點線面色彩

1.moodle下載 freeglut (桌面還有一份),點開他

2.把freeglut 用mouse drag到桌面,就裝好了

3.把桌面\freeglut\lib\libfreeglut.a複製成libglut32.a

4.CodeBlocks:File-New-Project, 選GLUT專案目錄選桌面,專案名取weeek02_glut_color_teapot

5.GLUT要選桌面的freeglut

6.執行時,會跳出上周的程式。我們來改程式吧!!!

7.左邊的Sources的main.cpp點開,把上週的10行貼上來。

##要設定色彩

1.glColor3f(r,g,b); 

2.0,1,0 綠色,1,0,0 紅色,0,0,1藍色,1,1,0黃色

3.可用小畫家,來畫其他的色彩。使用滴管來吸色,

使用編輯色彩來查看色彩的值。/255.0

變成有小數點的float浮點數

4.老師以阿尼亞的色彩為例,兩個不同大小的茶壺,用不同的色彩,劃出兩色的效果。

##畫三角形

1.File-New-Project,GLUT專案,week02_glut_triangle

2.一樣把今天的10行貼下來,再加今天的第二個主角:頂點

3.glBegin(GL_POLYGON);

4.glColor3f(r,g,b);

5.glVertex2f(x,y);

6.glEnd();

7.以上是期中考試的10題其中的三題,佔30分。

8.在真的實作時,會有很多組glColor3f(r,g,b);及glVertex2f(x,y);




##用小畫家,幫我們找到任意形狀的頂點座標

1.開啟小畫家,把圖片放上去。

2.小畫家的座標裡,左上角是0,0,右下角是300,300(假設圖片寬度300高度300)

3.關於座標,OpenGL預設是正中間0,0,右邊是+1,左邊是-1。上面是+1,下面是-1。

4.把小畫家的(x座標-中心點200)/200.0變成OpenGL的座標 口訣:減一半、再除一半.0

5.y座標比較麻煩-(y座標-中心點200)/200.0,口訣:減一半、除一半,再加負號

6.File-New-Project,GLUT專案,week02_glut_mspaint_help_draw


##利用void myCircle(float cx,float cy,float r)畫圓圈

1.File-New-Project,GLUT專案,week02_glut_circle_cos_sin

2.glBegin(GL_POLYGON) 

for (float a=0; a<=3.14*2;a+=0.1){
    glVertex(cos (a),sin(a));     
}
glEnd();

3.cos,sin需要include <math.h>

4.做米奇void myCircle(float cx,float cy,float r){

    glBegin(GL_POLYGON);

        for(float a=0;a<=3.14*2;a+=0.1){

            glVertex2f(r*cos(a)+cx,r*sin(a)+cy);

        }

    glEnd();

}

void display()

{

    glColor3f(1,1,1);myCircle(0,0,1);

    glColor3f(0,0,0);myCircle(-0.5,+0.5,0.3);

    glColor3f(0,0,0);myCircle(+0.5,+0.5,0.3);

    glColor3f(0,0,0);myCircle(0,-0.3,0.7);

    glutSwapBuffers();


}    









   

沒有留言:

張貼留言