本週課程內容:內插公式、動作內插、運鏡
內插公式:
alpha內插公式(alpha值0~1): angle = alpha*新+(1-alpha)*舊
alpha:0=>舊、alpha:0.5=>半新半舊、alpha:1=>新
動作內插
2022電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
本週課程內容:內插公式、動作內插、運鏡
內插公式:
alpha內插公式(alpha值0~1): angle = alpha*新+(1-alpha)*舊
alpha:0=>舊、alpha:0.5=>半新半舊、alpha:1=>新
本週課程內容:播放聲音、TRT存檔撥放
播放聲音
步驟:開啟新.cpp檔-->進setting>compiler>link-->add"winmm"
-->PlaySound("07072005.wav", NULL,SND_SYNC);只能撥放wav檔(如下圖)-->播放MP3格式(如下圖)
本週課程內容:寫檔fprintf()、讀檔fscanf()、寫檔fprintf()+project、讀檔fscanf()+project
寫檔fprintf()
步驟:new empty file-->開啟檔案-->fprintf()-->關閉檔案
步驟:new empty file-->開啟檔案-->fprintf()-->fscanf()-->關閉檔案
步驟:開啟檔上週專案-->新增FILE * fout = NULL;和myWrite()函式-->void motion()函式中呼叫myWrite()函式
步驟:開啟檔上週專案-->新增FILE * fout = NULL,* fin =NULL;和myRead()函式-->void keybord()函式中加上if(key=='r')myRead();長按r重複做剛剛的動作
本週課程內容:glRectf()函式、glRectf()手臂
glRectf()函式
步驟:開啟新專案-->輸入GLUT10行程式-->增加glRectf(右上X,右上Y,左下X,左下Y);(如下圖)-->加入紅色手臂放在 glPushMatrix();和glPopMatrix();之間(如下圖)-->先把手臂移到正中心(如下圖)-->加入對Z軸旋轉角度(如下圖)-->手臂掛回原來位置(如下圖)-->增加讓滑鼠移動能使紅色手臂旋轉void mouse、void motion(如下圖)
本週課程內容:旋轉、下周考試
本週課程內容:3D模型、MAYA模型切割、特定軸轉動
3D模型
步驟:開啟codeblocks新增專案-->到teams上下載myGundam.zip-->匯入鋼蛋的貼圖(如下圖)-->把week09週的texture程式放在上面、GLUT10行程式放下面
-->main()的glutMainLoop()之前加入myTexture("data/Diffuse.jpg");-->把茶壺貼上鋼蛋的貼圖(如下圖)-->把source下載(glm.c(.cpp要改名)、glm.h、transformation)-->放入專案目錄中-->右鍵傳案add file加入glm.cpp-->把鋼蛋模組匯入程式中(下圖有反白的程式)-->貼圖顛倒(小畫家反轉貼圖)-->開啟3D功能與3D深度測試
![]() |
| 完成圖 |
本週課程內容:貼圖、結合opencv和opengl
一. 一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam, 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...