電腦圖學 2024-02-26 Week02
1. 主題: 點、線、面、色彩
2. 課本範例
3. glColor3f(r,g,b);
4. glVertex3f(x,y,z);
5. glBegin(); ... glEnd();
6. 親手打造圖學程式
##點、線、面、色彩
1. 下載課本的範例 https://jsyeh.orq/3dcq10 windows.zip 及 data.zip
2.在下載資料夾,把windows.zip => windows 資料夾,data.zip裡面的data拉到下載\windows 資料夾裡
3.執行Shape.exe便可操作今天的課本範例
4.mouse右鍵,在右邊可切換 點、線、面
5.mouse右鍵,在左邊切換大的頂點、逐個色彩
6.mouse左鍵,在右邊可按「綠色數字」 上下調整
可以改色彩
glColor3f(r,g,b)
可以改頂點座標
glVertex2f(x,y)
##要寫程式,試試看點線面色彩
1.moodle下載,freeglut (桌面還有一份),點開它
2.把freeglut 用mouse drag到桌面,就裝好了
3.把桌面\freglut\lib\libfreeglut.a 複製成libglut32.a
4.CodeBlocks:File-New-Project,選GLUT專案目錄選桌面,專案名 取week02_glut_color_teapot
#要設定色彩
1. glColor3f(r,g,b);
2. 0,1,0 綠色,1,0,0紅色,0,0,1藍色,1,1,0黃色
3. 可用小畫家,來畫其他的色彩。使用滴管來吸色,使用「編輯色彩」來查看色彩的值。變成有小數點的float浮點數
4. 老師以阿尼亞的色彩為例,兩個不同大小的茶壺,用不同的色彩,畫出兩色的效果。
##畫三角形
1. File-New-Project,GLUT專案,week02_glut_triangle
2. 一樣,把今天的10行貼下來,再加今天的第2個主角:頂點
3. glBegin(GL_POLYGON);
4. glColor3f( r, g, b);
5. glVertex2f(x , y);
6. glEnd();
7. 以上是期中考的10題其中的3題,佔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的座標 口訣:減一半、再除一半
5. y座標比較麻煩 -(y座標 - 中心點200)/ 200.0,口訣:減一半、除一半,再加負號
十行程式碼:
#include <GL/glut.h>
void display()
{
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}




沒有留言:
張貼留言