課堂成果:
學期心得:
小葉老師的電腦圖學是這學期的必修課之一,
從一開始的繪圖,到後來讓我們利用MAYA建模,並匯入Code::Blocks喚出,
都是在為我們的期末作業「會跳舞的機器人」做基礎,
老師在課堂上講解,並讓我們使用自己的檔案做出同樣的效果,
久而久之,積少成多的程式碼便能讓我們正式完成期末作品。
2017電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
2017年6月28日 星期三
2017年6月12日 星期一
Class 14. 『ツバサ✧』 のノート
作業[1]:
複習『Class 11.』的課堂作業(3),(http://2017graphics.blogspot.tw/2017/05/class-11.html),
複習『Class 11.』的課堂作業(3),(http://2017graphics.blogspot.tw/2017/05/class-11.html),
在一Sphere上做地球貼圖。
2017年6月5日 星期一
2017年5月22日 星期一
Class 12. 『ツバサ✧』 のノート
作業[1]:
先將回家作業的「機器人」下載下來,本次課程的目的是要讓組裝完成的機器人能夠動作。
P.s.因為電腦環境的不同,在以Code::Blocks開啟「.cbp檔」時,
必須以Notepad++更改附件位置符合當下環境。
2017年5月15日 星期一
Class 11. 『ツバサ✧』 のノート
[1]:
複習小考T-R-T的原理、程式碼內容。


[2]:
小考。
作業[1]:
作業[2]:
(先使用小畫家隨便繪圖,並將圖片存於電腦C槽。)
開啟剛才建立的專案「main.cpp」程式碼,修改並重新撰寫,

執行後,會發現錯誤,於是我們需要另外設定程式的執行條件。
右鍵點選專案名稱,選擇「Build options...」,
1.在Search directories的Compiler頁籤內,(新增)Add directory:C:\OpenCV2.1\include

2.方法相同,在Linker頁籤內,(新增)Add directory:C:\OpenCV2.1\lib
3.在Linker settings內,(新增)Add library:cv210、cxcore210、highgui210

設定完成後,重新執行程式。

作業[3]:
利用OpenCV輔助繪出的球體貼上地球材質。
複習小考T-R-T的原理、程式碼內容。


[2]:
小考。
作業[1]:
希望使用Code::Blocks能夠讀取圖檔,所以我們需要下載安裝OpenCV作為輔助工具。
下載過程中,安裝設定選擇最下面的選項。
作業[2]:
(先使用小畫家隨便繪圖,並將圖片存於電腦C槽。)
開啟剛才建立的專案「main.cpp」程式碼,修改並重新撰寫,

執行後,會發現錯誤,於是我們需要另外設定程式的執行條件。
右鍵點選專案名稱,選擇「Build options...」,
1.在Search directories的Compiler頁籤內,(新增)Add directory:C:\OpenCV2.1\include

2.方法相同,在Linker頁籤內,(新增)Add directory:C:\OpenCV2.1\lib
3.在Linker settings內,(新增)Add library:cv210、cxcore210、highgui210

設定完成後,重新執行程式。

作業[3]:
利用OpenCV輔助繪出的球體貼上地球材質。
2017年5月8日 星期一
Class 10. 『ツバサ✧』 のノート
[1]:
至3D圖學網頁下載所需的檔案,(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/),
[data]、[win32]、glut32.dll,並解壓縮、移動至「windows資料夾」,
再開啟「Projection.exe程式」,檢視執行結果。
作業[1]:
接收老師傳送的檔案,並使用Code::Blocks開啟程式,試著更改函數調整投影機的位置。
作業[2]:
修改程式碼,使茶壺圖案能夠旋轉。
觀察旋轉過程中,我們發現茶壺圖案會破損,所以再修改程式碼。
2017年5月1日 星期一
Class 09. 『ツバサ✧』 のノート
[1]:
上網搜尋「3d exploration」,並進入「版本1.81」的頁面,並下載、解壓縮。

p.s.由於軟體可能需要付費,建議在學校使用。
上網搜尋「3d exploration」,並進入「版本1.81」的頁面,並下載、解壓縮。

p.s.由於軟體可能需要付費,建議在學校使用。
[2]:
並將「data資料夾」解壓縮,再使用3D Exploration軟體開啟3D模型檔。

[2]:
開啟3D模型檔後,需要將模型以「OpenGL Save APP」匯出,
所以在3D Exploration中,將檔案另存新檔、更換存檔類型,如下圖。

p.s.建議存檔完成之後,可以使用「NotePad++」程式開啟檔案,檢視程式碼

作業[1]:
1.先使用Code::Blocks軟體開啟一個「OpenGL」專案,
再將另存的模型「cpp檔」複製到開啟的OpenGL專案資料夾,並將原附有的main.cpp刪除。

2.在Code::Blocks程式左側,會有目前編輯中的專案檔案,
刪除預設的main.cpp,並加入dolphin C++檔案。

3.執行程式,會發現有錯誤,將錯誤的部分註解後,再執行一次程式。

作業[2]:
我們需要運用GLUT專案製作機器人,首先練習將3D模型拆解成3個部分。
1.再度開啟3D Exploration程式,並且將海豚模型分部分儲存。

2.

[2]:
開啟3D模型檔後,需要將模型以「OpenGL Save APP」匯出,
所以在3D Exploration中,將檔案另存新檔、更換存檔類型,如下圖。

p.s.建議存檔完成之後,可以使用「NotePad++」程式開啟檔案,檢視程式碼

作業[1]:
1.先使用Code::Blocks軟體開啟一個「OpenGL」專案,
再將另存的模型「cpp檔」複製到開啟的OpenGL專案資料夾,並將原附有的main.cpp刪除。

2.在Code::Blocks程式左側,會有目前編輯中的專案檔案,
刪除預設的main.cpp,並加入dolphin C++檔案。

3.執行程式,會發現有錯誤,將錯誤的部分註解後,再執行一次程式。

作業[2]:
我們需要運用GLUT專案製作機器人,首先練習將3D模型拆解成3個部分。
1.再度開啟3D Exploration程式,並且將海豚模型分部分儲存。

2.
2017年4月24日 星期一
Class 08. 『ツバサ✧』 のノート
[1]:
上網搜尋「nehe lesson 32」,並進入網頁「Lessons 31-35」

點擊第二張圖片,進入「Picking, Alpha Blending, Alpha Testing, Sorting」頁面,

到頁面下方,選擇下載「* DOWNLOAD Visual C++ Code For This Lesson.」,
並開啟壓縮檔內的「.exe檔」程式執行遊戲。

作業[1]:
在執行遊戲時,我們發現在使用滑鼠射擊時,會有音效輸出,
於是決定解析程式碼,活用「音效」。

作業[2]:
發現了小遊戲內,滑鼠點擊與音效的連結後,決定將其轉換成C語言並運用在「glut檔」中。
複習『Class 01.』的課堂作業(3),(http://2017graphics.blogspot.tw/2017/02/01.html)。
開啟程式碼之後,增加函式,使程式執行後,點擊滑鼠會播放音效。

作業[3]:
程式能夠播放滑鼠點擊的音效後,我們嘗試以敲擊鍵盤來播放音效,

作業[4]:
最後,我們嘗試播放MP3檔,並設定為「程式執行即播放」。
上網搜尋「nehe lesson 32」,並進入網頁「Lessons 31-35」

點擊第二張圖片,進入「Picking, Alpha Blending, Alpha Testing, Sorting」頁面,

到頁面下方,選擇下載「* DOWNLOAD Visual C++ Code For This Lesson.」,
並開啟壓縮檔內的「.exe檔」程式執行遊戲。

作業[1]:
在執行遊戲時,我們發現在使用滑鼠射擊時,會有音效輸出,
於是決定解析程式碼,活用「音效」。

作業[2]:
發現了小遊戲內,滑鼠點擊與音效的連結後,決定將其轉換成C語言並運用在「glut檔」中。
複習『Class 01.』的課堂作業(3),(http://2017graphics.blogspot.tw/2017/02/01.html)。
開啟程式碼之後,增加函式,使程式執行後,點擊滑鼠會播放音效。

作業[3]:
程式能夠播放滑鼠點擊的音效後,我們嘗試以敲擊鍵盤來播放音效,

作業[4]:
最後,我們嘗試播放MP3檔,並設定為「程式執行即播放」。
2017年4月17日 星期一
Class 07. 『ツバサ✧』 のノート
作業[1]:
先至3D圖學網頁下載所需的檔案,(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/),
[source]、[data]、[win32]、glut32.dll,並解壓縮,且將「source資料夾」、「data資料夾」與「glut32.dll」移動至「windows資料夾」,
2017年4月10日 星期一
Class 06. 『ツバサ✧』 のノート
課程六、電腦圖學課堂作業
[1]:
複習『Class 05.』的(1),講解期中考題,並進行期中模擬考試。作業[1]:
1.以『Class 02.』的課堂作業(2)為基礎,欲做出一枚具有光影特效的茶壺,(http://2017graphics.blogspot.tw/2017/03/class-02.html),
2.更改程式碼,並善用Ctrl+F功能搜尋關鍵字「light」,刪減不需要的程式碼。
3.其餘行數同樣刪減數行程式,並更改(新增)第一段函式。
4.執行程式碼,觀察結果。
作業[2]:
2017年3月27日 星期一
Class 05. 『ツバサ✧』 のノート
作業[1]:
作業[3]:
試想,物體軸心擺斜,或是同時執行旋轉以及移動的呈現模式。
與『Class 04.』相同,先至3D圖學網頁下載[data]、[win32]、glut32.dll,並解壓縮,(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/),
且將「data資料夾」與「glut32.dll」移動至「windows資料夾」,
執行「Transformation」檔案,並試著操作「旋轉」,觀察結果。
執行「Transformation」檔案,並試著操作「旋轉」,觀察結果。
輔以國中時期,理化科目教授電流時的「右手定律」,
另外,若是軸的正向相反,且旋轉角度為負數,
則可以將軸導為一般位置、角度改為正數,此即「負負得正」。
作業[3]:
試想,物體軸心擺斜,或是同時執行旋轉以及移動的呈現模式。
訂閱:
文章 (Atom)




























