2023年2月23日 星期四

Not Stop Going Ahead Week02

 1.GLUT程式

01-1

1.解壓縮小葉老師的FreeGlut檔案並將lib裡的libfreeglut複製並更改檔名成libglut32

2.開啟CodeBlocks並新增Glut專案(同Week01步驟)



3.將內容的程式碼更改為

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

4.Build and Run 執行程式碼就會跑出茶壺

01-2

1.新增glColor3f(?,?,?)程式碼為茶壺上色 並增加一個大小為0.3的綠色茶壺 再將黃色茶壺大小更改為0.5

02-1 新增三角形

1.生成一個綠色三角形 程式碼如下:

glColor3f(0,1,0);
glBegin(GL_POLYGON);
        glVertex2f(0,1); //Vertex為頂點 括弧內為頂點座標
        glVertex2f(-1,-1);
        glVertex2f(1,-1);
    glEnd();

2.再新增一個大小為0.3的黃色茶壺

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


4.如要用圖片定位點的位置 可以利用小畫家將畫布設成200x200 再將點定位 點的x位置以小畫家的定點(x位置-100)/100.0 y則是-(y位置-100)/100.0 程式碼如下:

glVertex2f((90-100)/100.0,-(54-100)/100.0);

03-1 使用小畫家來確定色彩的色碼

1.選取滴管 點選顏色再用編輯色彩查看色碼


2.繪出一個圓

Include <math.h>之後利用Cos 跟Sin 可以將圓畫出 函式如下:
void myCircle(float r, float x, float y)
{
    glBegin(GL_POLYGON);
    for(float a=0;a<=2*3.1415926;a+=0.01)
    {
        glVertex2f(r*cos(a)+x,r*sin(a)+y);
    }
    glEnd();
}



沒有留言:

張貼留言