顯示具有 04160506_蔣佳諭 標籤的文章。 顯示所有文章
顯示具有 04160506_蔣佳諭 標籤的文章。 顯示所有文章

2017年6月12日 星期一

201706012_Week14 佳諭der課堂筆記


Week 14 課堂內容筆記摘要



作業一 - 示範myEarth.zip變背景貼圖
1.從FB社團下載 [myEarth].zip + [freeglut] 檔案並解壓縮到桌面。
([freeglut]要放在myEarth的資料夾內才能成功執行)

















2.下載OpenCV 2.1 並安裝到桌面 C:\OpenCV2.1\include + \lib +\bin
(注意:下圖的選項要選擇第二個)



















3.開啟CodeBlocks並執行myEarth.cbp
















4.display()畫出地球的2D平面貼圖

截圖檔



























5.開啟myEarth.cbpNotepad++程式碼及自己.cbpNotepad++程式碼,並修改內部程式碼。
(在<Compiler><Linker>的地方新增幾項程式碼內容以符合檔案執行)

<Compiler>
          <Add directory="c:/opencv2.1/include" />

<Linker>
          <Add library="cv210" />
          <Add library="cxcore210" />
          <Add library="highgui210" />

          <Add directory="c:/opencv2.1/lib" />




















作業二 - 打光與貼圖在作業中做結合
1.觀看截圖檔來新增貼圖及打光程式碼
(打光與貼圖不能同時開啟因為會影響光的運作,因此才會使用Enable()+Disable()分別開啟打光與貼圖)


截圖檔




















2017年6月5日 星期一

20170605_Week13 佳諭der課堂筆記



Week 13 課堂內容筆記摘要



作業一 - 學習內插公式+交叉相乘的概念做出連續動作
1.利用以下截圖檔了解內插法的概念。






















2.觀看以下截圖程式碼了解利用Timer結合角度+內插法的概念實作應用。

截圖檔


















作業一 - 存檔與讀檔
1.利用今日所學之截圖程式碼學會如何讓動作進行存檔並且在CodeBlocks讀取動作檔案
(第一次存檔匯存到.cbp專案黨的資料夾中,成為一個記事本file檔案)

截圖檔

















2017年5月22日 星期一

20170522_Week12 佳諭der課堂筆記




Week 12 課堂內容筆記摘要



作業一 - 開啟上週作業之機器人壓縮檔
1.在S302教室安裝 [freeglut].zip 並解壓縮到桌面

                                  (喵嗚~)















2.利用CodeBlocks開啟專案執行檔,並調整參數值。
(參照第一節課所學之階層式部位轉動)

截圖檔

(參考截圖的程式碼意義解釋~)
















作業二 - 新增今日所學之計時器(Timer)加入動作結合動畫播放的概念
1.在main()主函式中加入計時器程式碼。

      glutTimerFunc( sec , timer , 0 );

      *紫色代表時間設定多久(一次要等多久的意思)  EX: 10=10sec叫一次鬧鐘
      *黃色代表呼叫哪個函式(函式的名稱)
      *綠色代表函式代入的參數值(可使用變數)


2.加入今日所學之以下程式碼並了解其實質意義。

程式碼

#include <stdio.h>

void timer(int t)  /*鬧鐘叫醒時要做什麼事~*/
{
    glutTimerFunc(10,timer,t+1); 
    /*代表先設定下一次什麼時候鬧鐘會叫醒*/   
    angle++;
    printf("現在時間是 %d ",t);
    glutPostRedisplay();
    /*提醒電腦有空要畫一下畫面哦哦哦*/
}
/*再度進入沉睡時間*/



作業三 - 利用部位(身體+手+手臂or身體+腳+大小腿)的結合做出動作





2017年5月15日 星期一

20170515_Week11 佳諭der課堂筆記



Week 11 課堂內容筆記摘要


作業一 - 複習並課堂小考之TRT題目觀念
1.利用老師上課複習之題目及講解觀念做詳細說明

程式碼
(從下面往上開始看~)

  glPushMatrix(); 
    glTranslatef( 0.4 , 0.5 , 0 );
    glRotatef( 30 , 0 , 0 , 1 );
    glTranslatef( 0.5 , 0.3 , 0 );
  glPopMatrix();

  *代表備份+還原矩陣
  *代表TRT(旋轉+平移)
     (括號內可任意更改數值)


<延伸觀念>
*TRT程式執行步驟:
(1) 最後的T是指座標值要利用原本的位置反向的平移到關節中心點上面。
(2) 中間的R是指關節要如何旋轉,以及關節中心點要往哪個座標軸做旋轉的動作,要注意旋轉軸有正負之分。
(3) 最上面的T是指關節中心點的位置放到模型的座標軸中。

(如下圖所示~)




















作業二 - 使用opencv+CodeBlocks匯入貼圖
1.從Google搜尋網址並下載 [opencv-2.1-vs2008.exe] 安裝檔。
















*安裝軟體時要注意各種選項~


















2.確認 C:\OpenCV2.1\include\opencv\很多.h檔
( \lib\很多lib檔 + \bin\很多dll檔)

















3.從CodeBlocks新增貝殼專案(第一行的第四個)
(File > New > Project > 最右上角ㄉConsole App)
















4.建好專案後,開啟.cpp檔並開始撰寫C++程式碼

截圖檔

















程式碼
(此為C++程式語言)

#include <opencv/highgui.h>
int main()
{
    IplImage * img = cvLoadImage("C:/img.png");
    cvShowImage("a",img);
    cvWaitKey(0);
}


5.撰寫完程式碼後,在Project專案中按右鍵選擇Build option,調整截圖中的參數按下ADD加入



















6.改完參數後按下Build執行即可顯示程式碼視窗畫面

















作業三 - 利用今日所學之技術做出一個會轉動的3D地球(myEarth.zip)
1.下載freeglut檔案並解壓縮到桌面
(C:\users\user\Desktop\freeglut > 包含include + lib + bin)
















2.將老師給予的myEarth.zip解壓縮到桌面,並利用CodeBlocks開啟myEarth專案執行
(如圖所示~顯示程式碼+視窗介面)






























*備註:
此上方執行檔必須包含以下幾個東西才能順利編譯~
(1) image圖檔 (可從Google下載)
(2) freeglut.dll
(3) OpenCV 2.1 (要安裝完成才可開啟圖檔)
(4) 專案.cbp + 程式.cbp