顯示具有 04162425_陳品蓁 標籤的文章。 顯示所有文章
顯示具有 04162425_陳品蓁 標籤的文章。 顯示所有文章

2017年6月28日 星期三

Class 15. 『ツバサ✧』 のノート

課堂成果:



學期心得:

小葉老師的電腦圖學是這學期的必修課之一,
從一開始的繪圖,到後來讓我們利用MAYA建模,並匯入Code::Blocks喚出,
都是在為我們的期末作業「會跳舞的機器人」做基礎,
老師在課堂上講解,並讓我們使用自己的檔案做出同樣的效果,
久而久之,積少成多的程式碼便能讓我們正式完成期末作品。

2017年6月5日 星期一

Class 13. 『ツバサ✧』 のノート

作業[1]:

先使用Microsoft Office Excel軟體,理解「內插法」的公式內容。


原理作圖:

作業[2]:

增加程式碼,使機器人能夠以鼠鍵控制位置角度。


2017年5月22日 星期一

Class 12. 『ツバサ✧』 のノート

作業[1]:


先將回家作業的「機器人」下載下來,本次課程的目的是要讓組裝完成的機器人能夠動作。

P.s.因為電腦環境的不同,在以Code::Blocks開啟「.cbp檔」時,

   必須以Notepad++更改附件位置符合當下環境。



作業[2]:

更改程式碼,使機器人能夠分別以部件旋轉。



作業[3]:

融合Timer程式碼。

2017年5月15日 星期一

Class 11. 『ツバサ✧』 のノート

[1]:

複習小考T-R-T的原理、程式碼內容。





[2]:

小考。

作業[1]:


希望使用Code::Blocks能夠讀取圖檔,所以我們需要下載安裝OpenCV作為輔助工具。

上網搜尋「opencv 2.1」並且進入網站選擇「OpenCV-2.1.0-win32-vs2008.exe」點選下載。

 

下載過程中,安裝設定選擇最下面的選項。


開啟Code::Blocks,選擇「Console application開啟一份新專案。



並且選擇專案檔為「C++」。


作業[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:cv210cxcore210highgui210



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



作業[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]:

修改程式碼,使茶壺圖案能夠旋轉。


觀察旋轉過程中,我們發現茶壺圖案會破損,所以再修改程式碼。



作業[3]:

更改程式碼,試著對茶壺圖案做更多變化。

2017年5月1日 星期一

Class 09. 『ツバサ✧』 のノート

[1]:

上網搜尋「3d exploration」,並進入「版本1.81」的頁面,並下載、解壓縮。





p.s.由於軟體可能需要付費,建議在學校使用。

[2]:

至3D圖學網頁下載[data]檔案,(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/),

並將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.

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檔,並設定為「程式執行即播放」。

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資料夾」,

並執行「Transformation」檔案,觀察執行結果,

可以在圖片上右鍵點擊,切換顯示的圖案。






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]:

更改程式碼,調整打光方向(由正改為負),觀察結果。



作業[3]:

更改第一段程式碼以及新增glutIdleFunc(display);行,並再次執行程式,觀察結果。



為了方便對照,撰寫程式顯示兩個茶壺圖案,並使大小不同,且讓其一旋轉。

作業[4]:

測試程式碼能繪出的所有圖形,此處以Sphere(球體)為例。

2017年3月27日 星期一

Class 05. 『ツバサ✧』 のノート

課程五、電腦圖學課堂作業

[1]:

講解期中考題以及配分方式。


作業[1]:


與『Class 04.』相同,先至3D圖學網頁下載[data]、[win32]glut32.dll,並解壓縮,(http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/),


且將「data資料夾」與「glut32.dll」移動至「windows資料夾」,

執行「Transformation」檔案,並試著操作旋轉」,觀察結果。



作業[2]:

輔以國中時期,理化科目教授電流時的「右手定律」,

了解作業[1]中glRotatef(x, y, z, w);式的旋轉方向。


另外,若是軸的正向相反,且旋轉角度為負數

可以將軸導為一般位置、角度改為正數,此即「負負得正」。

作業[3]:

試想,物體軸心擺斜,或是同時執行旋轉以及移動的呈現模式。