2024年2月29日 星期四

點線面色彩 week02

 




























先下載 window&data的資料夾並且解壓縮(window要解壓縮,data直接拖移到window的資料夾裡面),點擊Shapes.exe可以試著使用滑鼠拖移改變數值








先去下載複製freegult,拖移到桌面,打開codeblocks,開啟OpenGLUT專案,複製上週的10行的程式碼,再多加一行 glColor3f(1,1,0) 就會跑出有顏色的茶壺








做出雙色的茶壺,先畫大的在畫小的

開啟小畫家滴管吸取想要的顏色查看色彩

程式碼裡glColor3f(1,1,0) 數值介於0.0-1.0之間,所以把我們吸取到的顏色 "除以255.0"









開啟新的GLUT專案,複製剛剛顏色茶壺的程式碼

把多加的程式碼刪掉改成下方程式碼:

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();  (結束畫多邊形)

執行後會出現有顏色的三角形 !!













配合小畫家描出圖片的點:
找一張圖(以阿尼亞為例),圖片用400*400的大小(大小自行決定)
以頂點X軸及Y軸的數值減掉200除以200.0 (Y軸記得加負號)















用cos, sin畫出一個圓:
開啟新的GLUT專案,把以下的程式碼打上去(記得標頭檔要打#include <math.h>!!)
#include <math.h>
glBegin(GL_POLYGON);
    for(float a=0;a<=3.415*2;a+=0.1){
        glVertex2f(0.5*cos(a),0.5*sin(a));
    }
 glEnd();

執行後會出現很可愛的一個圓 !!















圓縮小,往右上角移動















畫出一個米奇的頭:

void myCircle(float x,float y,float r){
    glBegin(GL_POLYGON);
    for(float a=0;a<=3.415*2;a+=0.1){
        glVertex2f(r*cos(a)+x,r*sin(a)+y);
    }
    glEnd();

myCircle(0.5,0.5,0.3);
    myCircle(-0.5,0.5,0.3);
    myCircle(0,-0.1,0.6);
    glutSwapBuffers();

沒有留言:

張貼留言