顯示具有 Week02 標籤的文章。 顯示所有文章
顯示具有 Week02 標籤的文章。 顯示所有文章

2017年10月10日 星期二

abcqq week02

Week 2
1.抓取main的程式碼

相關程式碼說明
int main(int argc, char *argv[])  //( argc參數的數量 argv[]參數存為字串)

 glutInit(&argc,argv);  //初始化GLUT
   

  glutCreateWindow("window_name");  //建立視窗
   

 
 glutMainLoop(); //主要迴圈(會一直重複的畫下去.....)
    

void display()
{
    glClearColor(1,0,0,0);  //設定背景的顏色(R,G,B,透明度)
   
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  //清理背景
  
   glColor3f(1,0,1);  //設定物件的顏色 (R,G,B)
    

    
glutSolidTeapot(1); //畫茶壺(size)   
    

    glutSwapBuffers();  //
交換前、後緩衝區(避免畫面閃爍)
}
    
glutDisplayFunc(display);  //顯示函式 加在MainLoop


2.瞄點畫圖
所需程式碼:
glBegin(GL_POLYGON);  //開始畫圖
glVertex3f(1,1,0);  //點的座標(x,y,z)
glEnd();  //結束畫圖

for example:

  glBegin(GL_POLYGON);

    glColor3f(1,0,0); //set color

    glVertex3f(1,1,0);

    glVertex3f(-1,1,0);

    glVertex3f(0,-1,0);

    glEnd();






3.漸層色彩:

glBegin(GL_POLYGON);
glColor3f(0,0,1);
glVertex3f(1,1,0);

glColor3f(1,0,0);
glVertex3f(-1,1,0);

glColor3f(0,1,0);
glVertex3f(0,-1,0);
glEnd();



2017年9月28日 星期四

40247009S-CG-Week_2

1.如何變出一把茶壺
STEP 1:開啟GLUT專案
 STEP 2:複製部分程式碼
#include <GL/glut.h>
void display()
{
    glClearColor(1,0,0,0); //清背景顏色 (R,G,B,A)
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,1); //物件顏色(R,G,B)
    glutSolidTeapot(0.3); //製作茶壺
    glutSwapBuffers(); //交換繪圖Buffers
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes"); //設定視窗名
    glutDisplayFunc(display);//執行display函式
    glutMainLoop();//執行迴圈
}
1.檢附程式碼的部分
                                                                  2.按下執行
                                                                     就會變出一把茶壺
                                                                  3.還可以變換顏色喔
 -------------------------------------------------------------------------------------------------------------------------
二、手動描點的三角形
#include <GL/glut.h>

void display()
{
    glClearColor(1,0,0,0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,0); //物件色彩
    glBegin(GL_POLYGON); //開始畫
    glVertex3f(1,1,0); //三個頂點 //3是x,y,z 3個參數
    glVertex3f(-1,1,0);
    glVertex3f(0,-1,0);
    glEnd(); //結束畫
    glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}
1.複製部分的程式碼
                                                                    2.按下執行
                                                                    3.三角形也可以變換顏色喔
     -------------------------------------------------------------------------------------------------------------
                                                        我的作業就是用三角形做延伸的

2017年9月26日 星期二

阿凱部糊塗學習的圖學筆記02

一、做茶壺
步驟 1:開啟GLUT專案
步驟 2:複製部分程式碼
#include <GL/glut.h>
void display()
{
    glClearColor(1,0,0,0); //清背景顏色 (R,G,B,A)
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,1); //物件顏色(R,G,B)
    glutSolidTeapot(0.3); //製作茶壺
    glutSwapBuffers(); //交換繪圖Buffers
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes"); //設定視窗名
    glutDisplayFunc(display);//執行display函式
    glutMainLoop();//執行迴圈
}


步驟 3:按下F9執行



=========================================================
二、做一個自己的三角形
#include <GL/glut.h>

void display()
{
    glClearColor(1,0,0,0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(1,1,0); //物件色彩
    glBegin(GL_POLYGON); //開始畫
    glVertex3f(1,1,0); //三個頂點 //3是x,y,z 3個參數
    glVertex3f(-1,1,0);
    glVertex3f(0,-1,0);
    glEnd(); //結束畫
    glutSwapBuffers();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes");
    glutDisplayFunc(display);
    glutMainLoop();
}
按下F9執行


2017年9月24日 星期日

Claire's Note #2

WEEK02

Topic:

  1. 點、線、面、色彩
  2. 親手打造第一個圖學程式
上週進度:

  1. 下載安裝 CodeBlocks
  2. 下載解壓 freeglut
  3. GLUT 專案

A. Print a Picture

STEP 1: Open a GLUT project

STEP 2: 修改main.cpp


*glut...函式為外掛函式
*glutSwapBuffers();
 先將已繪製的圖儲存於緩衝區中,等所有圖片繪製完畢,交換記憶體一次印出,以防畫面不斷閃爍
*色彩參數(R, G, B):色光三原色,
 EX 白(1, 1, 1),黑(0, 0, 0)



STEP 3: Result





STEP 4: 調整圖案

  1. 背景顏色:glClearColor(R, G, B, A);
  2. 圖案顏色:glColor3f(R, G, B);  //參數為float
  3. 圖案大小:glutSolidTeapot(圖案大小)






B. 畫出點、線、面

STEP 1: 承A.


STEP 2: 刪除茶壺圖案,改為依座標繪製圖形





*開始繪圖:glBegin(GL_POLYGON);
*點座標:glVertex3f(x,y,z);
*結束繪圖:glEnd();

STEP 3: Result






2017年9月23日 星期六

陳映羽的圖學 week 02

1. 自己畫出三角形,並做出背景顏色與漸層三角形顏色
#include <GL/glut.h>
static void display(void)
{
    glClearColor(1,0,0,0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(0,0,1);
    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();
    return EXIT_SUCCESS;
}



2. 改變背景顏色,並使用glut中的glutSolidTeapot畫出茶壺並改顏色


#include <GL/glut.h>
static void display(void)
{
    glClearColor(1,0,0,0);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glColor3f(0,0,1);
    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();
    return EXIT_SUCCESS;
}





俊凱的Week02筆記

1.完成上週操作過程
2.複製部分程式碼(可用notepad++編輯)
#include <GL/glut.h>
void display()
{
 glClearColor(1,0,0,0); //清背景顏色 (R,G,B,A)                                            
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glColor3f(1,1,1); //物件顏色(R,G,B)                       
 glutSolidTeapot(0.3); //製作茶壺 
 glutSwapBuffers(); //交換繪圖Buffers
}
int main(int argc, char *argv[]) //主程式函式,argc參數數量,argv用陣列存參數
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); //設定顯示模式
 glutCreateWindow("GLUT Shapes");//產生視窗
 glutDisplayFunc(display);//顯示圖像
 glutMainLoop(); //主要迴圈
 return  EXIT_SUCCESS;
}
3.三角形函式(漸層色)
void display()
{
 glClearColor(1,0,0,0); //清背景顏色 (R,G,B,A)                                            
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 glBegin(GL_POLYGON); //開始畫(多邊形)
 //在頂點前用函式glColor3f(R,G,B),設定顏色
 glColor3f(1,0,0); glVertex3f(1,1,0); 
 glColor3f(0,1,0); glVertex3f(-1,1,0);
 glColor3f(0,0,1); glVertex3f(0,-1,0);        
 glEnd(); //結束
 glutSwapBuffers(); //交換繪圖Buffers
}

2017年9月22日 星期五

ClassNote_Week02 色彩 & 點、線、面

1. 繪圖主程式

int main(int argc, char *argv[]){
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
 glutCreateWindow("GLUT Shapes");  /// 建立3D視窗("視窗名")
 glutDisplayFunc(teapot)  /// 設定display函式
 glutMainLoop();
 return EXIT_SUCCESS;
}

2. 色彩

。以茶壺為例
void teapot(void){
 glClearColor(1,0,0,0);  /// 設定預設顏色(R,G,B,A)  A:半透明度
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  ///初始化
 glColor3f(1,1,0);          /// 設定物件色彩(R,G,B)  3f表3個0-1之間float
 glutSolidTeapot(0.3);   /// 繪製物件-茶壺(大小)
 glutSwapBuffers();      /// 將緩衝區繪圖結果切換至畫面上顯示  雙緩衝區繪圖
}

3. 點、線、面

。以畫三角形為例
void triangle(void){
 glClearColor(1,1,1,0);
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// glBegin(GL_POINTS);          /// 點
// glBegin(GL_LINE_LOOP);  /// 線
 glBegin(GL_POLYGON);      /// 面
 glColor3f(1,0,0);
 glVertex3f(-0.5,1,0);  /// 設定頂點(X,Y,Z)
 glColor3f(0,1,0);
 glVertex3f(-1,-1,0);
 glVertex3f(0,-1,0);
 glEnd();  /// 結束繪圖
 glBegin(GL_POLYGON);
 glColor3f(1,0,0);
 glVertex3f(0.5,1,0);
 glColor3f(0,0,1);
 glVertex3f(0,-1,0);
 glVertex3f(1,-1,0);
 glEnd();
 glutSwapBuffers();
}

周承翰_計圖學習筆記_Week02

Week02-點線面與上色

相關軟體 :

1. CodeBlocks: codeblocks-16.01mingw-setup.exe
2. GLUT: freeglut 3.0.0 MinGW 
3. Notepad++

使用方法 :

一 . 打開CodeBlocks 並建立 GLUT 專案檔

二 . 程式碼複製部分


Step01 : 將以下程式碼放入NotePad++

#include<GL/glut.h>

int main(int argc, char *argv[])
{
        glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
        glutCreateWindow("GLUT Shapes");
glutMainLoop();
}


Step02 : 刪除原有main.cpp裡的程式碼,並將NotePad++的程式碼放入



三 . 茶壺圖形編寫部分

Step01 : 完成 display 函式 , 在函式裡設定顏色、圖形

#include <GL/glut.h>
///glut開頭的function是內建的函式

void display()
{
 glClearColor(1,0,0,0); ///背景顏色(R,G,B,透明度)
 glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT); ///清背景顏色(記憶體)
 glutSolidTeapot(0.3);  ///畫茶壺
 glutSwapBuffers(); ///交換繪圖記憶體(buffer) 
}
int main(int argc, char *argv[])
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
 glutCreateWindow("GLUT Shapes");
 glutDisplayFunc(display); ///註冊display函式
 glutMainLoop();
}

Step02 : 按下 F9 執行

Step03 : 再加入一行程式碼

  glColor3f(0,1,0); ///三個參數(參數值0.1.0)


Step04 : 按下 F9 執行 (茶壺上色囉)



四 . 點線面繪圖

Step01 : 更改程式碼


Step02 : 按下 F9 執行




邱世弦 Week02

1. 任務一: 茶壺

#include <GL/glut.h>//呼叫3D  glut外掛
static void display(void)
{

    glClearColor(1,0,0,0);//設定背景顏色為紅色
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清理背景顏色
    glColor3f(0,0,1);//設定顏色(3=3色,f=浮點數)
    glutSolidTeapot(0.3);//呼叫茶壺圖案
    glutSwapBuffers();//清理繪圖buffer
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes"); //設定視窗名
    glutDisplayFunc(display);//執行display函式
    glutMainLoop();//執行迴圈

}














2. 任務二: 親手打造自己的點、線、面、顏色

#include <GL/glut.h>//呼叫3D  glut外掛
static void display(void)
{

    glClearColor(1,0,0,0);//設定背景顏色為紅色
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清理背景顏色
    glColor3f(0,0,1);//設定顏色(3=3色,f=浮點數)

    glBegin(GL_POLYGON);//開始畫多邊形
    glVertex3f(1,-1,0);//設置頂點
    glVertex3f(-1,-1,0);
    glVertex3f(0,1,0);
    glEnd();//結束畫

    glutSwapBuffers();//清理繪圖buffer
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("GLUT Shapes"); //設定視窗名
    glutDisplayFunc(display);//執行display函式
    glutMainLoop();//執行迴圈
}



2017年9月21日 星期四

瑋倫的點線面筆記

1.打開GLUT專案

2.複製部分程式碼(可用notepad++編輯)
#include <GL/glut.h>
void display()
{
 glClearColor(1,0,0,0); //清背景顏色 (R,G,B,A) ex:紅1000
                                         
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

 glColor3f(1,1,1);
                                    //3是3個參數,f是0.0-1.0之間的浮點數
                                 

 glutSolidTeapot(0.3); //茶壺 glut外掛

 glutSwapBuffers(); //交換繪圖Buffers
}

int main(int argc, char *argv[]) //主程式函式,吃argc參數數量,argv是參數的全部,用陣列存
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); //設定顯示模式
 glutCreateWindow("GLUT Shapes");
 glutDisplayFunc(display);
 glutMainLoop(); //主要迴圈
}


完成茶壺~~
3.做三角形程式碼
#include <GL/glut.h>

void display()
{
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

 glBegin(GL_POLYGON); //開始畫(多邊形)
        //彩色三角形在頂點前用函式glColor3f(R,G,B);
 glColor3f(1,0,0); glVertex3f(1,1,0); //三個頂點 前面為設定顏色
 glColor3f(0,1,0); glVertex3f(-1,1,0);
 glColor3f(0,0,1); glVertex3f(0,-1,0);
        
 glEnd(); //結束畫

 glutSwapBuffers();
}

int main(int argc, char *argv[])
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
 glutCreateWindow("GLUT Shapes");
 glutDisplayFunc(display);
 glutMainLoop();
}


                 

LLF的計圖學習筆記_Week_02

雜項:apple,linux內建OpenGL
window#include <GL/glut.h>連結GLUT函式庫
--------------------------程式碼---------------------------------------------
int main(int argc, char *argv[])
argc參數數量 argv[]參數存為字串
{
    glutInit(&argc,argv);
    啟始化glut

    glutInitDisplayMode(GLUT_DEPTH|GLUT_DOUBLE|GLUT_RGBA);
    設定顯示模式

    glutCreateWindow("window_name");
    建立glut視窗(視窗名)

    glutMainLoop();
    主要迴圈

    return 0;
}
-----------------------------------------------------------------------------
雜項:
GLUT函式說明
https://www.opengl.org/resources/libraries/glut/spec3/spec3.html
-----------------------------------------------------------------------------
void display()
{
    glClearColor(1,0,0,0);
    設定(標示)背景顏色(R,G,B,半透明度)

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    清理背景顏色

    glColor3f(1,0,1);
    設定(標示)物件顏色(R,G,B)
    f為浮點數 0~1

    
glutSolidTeapot(0.3);
    畫實心茶壺(大小)

    glutSwapBuffers();
    交換前、後緩衝區
}

glutDisplayFunc(display);
顯示函式
加在MainLoop

-----------------------------------------------------------------------------
glBegin(GL_POLYGON);
開始畫圖(指定為多邊形)

glVertex3f(1,1,0);
glVertex3f(-1,1,0);
glVertex3f(0,-1,0);
頂點們(X,Y,Z)

glEnd();

結束畫圖
小技巧(漸層)
glBegin(GL_POLYGON);
glColor3f(0,0,1);
glVertex3f(1,1,0);
glColor3f(1,0,0);
glVertex3f(-1,1,0);
glColor3f(0,1,0);
glVertex3f(0,-1,0);
glEnd();