2019年2月23日 星期六

神のノト - Week02

{\__/}
( • - •)
/ > ❤️
------------------------------------------------------------------------------------------------------------

➤點.線.面.顏色 模擬器下載

進入網址 : http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/

下載 :
            data.zip              →    下載 \ windows \ Shape.exe(執行這檔案)
            windows.zip      →     下載 \ windows \ glut32.dll
            glut32.dll           →     下載 \ windows \ data (模型檔)

         (將下載好的 data windows壓縮檔,解壓縮將資料夾取出)
         (再將data資料夾和glut32.dll檔,放置近windows資料夾內)
         (即可點擊Shape.exe執行檔執行之)
         
執行畫面如下 :
         
介面介紹 :
glBegin(GL_LINES)     →  開始畫,括號內GL_後面的,表示想畫的圖形
glEnd()                           →  表示結束
Color , Vertex                 →  控制顏色頂點    (補充 :  Vertex 單<->複 Vertices )
後面的3f , 2f                  → 代表控制的參數個數


⧫兩邊小黑的視窗,都能點擊右鍵來選擇想要模擬的類型⧫






➤第一個GLUT程式 ( 用程式寫出實心茶壺 )

程式碼如下 : 
    
建置結果如下 :
   

➣程式碼解釋 : 

其中的第一列標頭檔<GL/glut.h> 表示其函式庫文件位置

然後使用 GL/glut 的外掛,來幫助我們圖學



建置顯示的函式display()中,Solid表示實心,而Teapot表示茶壺

SwapBuffers 表示交換buffers顯示,沒交換的話顯示不出來

int main(argc, char ** argv) 這列為函式的定義
(1)argc 代表著參數的個數,後面的 argv表示字串指標'

(2)Init 代表初始化GLUT功能

(3)DisplayMode括號裡面 :
       DOUBLE表示兩倍記憶體(更穩定,不會閃爍)
       DEPTH表示深度,就是3D的意思

(4)CreateWindow 表示新建視窗,並在括號裡的雙引號中,取視窗的名稱

(5)DisplayFunc(display) 表示視窗中的顯示畫面,叫出display函式來顯示





➤改變顏色和繪製多邊形

程式碼如下 : 
 
建置結果如下 :

➣程式碼解釋 : 

glColor3f(R,G,B)來改變顏色
畫點前要先標示顏色,用glColor來改變顏色,之後就是那個顏色,除非再用glColor來更改






➤試著畫心心

程式碼如下 : 
建置結果如下 :

➣程式碼解釋 : 

畫圓時,會用到迴圈畫點
然後點的位置要用cossin去抓,所以前面要記得宣告math.h

1 則留言: