顯示具有 09160501_林誼如 標籤的文章。 顯示所有文章
顯示具有 09160501_林誼如 標籤的文章。 顯示所有文章

2022年6月22日 星期三

Ru的電腦圖學筆記>

 

Step01

    1.利用Excel來把alpha內插公式實作出來, 看到新的、舊的資料可以做內插

        -alpha 內插公式:alpha: 0.0~1.0

        -angle = alpha*新 + (1-alpha)*舊

    2.拿 week15_angles_TRT_again 來改

        -建立新的 GLUT 檔案,檔名:week16_interpolation

Step02

    1.講解上一週作業

    2.利用課本的範例,講解gluLookAt(眼睛座標、看哪裡、up向量)

        -開啟之前在老師網頁下載的 windows/data/Projection.exe



Step03

    1.建立新的 GLUT 檔案,檔名:week16_camera_projection_GlutLookat




2022年6月10日 星期五

Ru的電腦圖學筆記>

 

Step01

    1.PlaySound() 解釋

        -新增檔案,檔名:week15-1_playsound.cpp

        -上週使用 #include<mmsystem.h>

        -這週使用#include<windows.h>

        -上週playsound("檔名.wav",NULL,SND_ASYNC);//不等待,不同步

        -這週PlaySound("檔名.wav",NULL,SND_SYNC);//等待,同步

        -setting-compiler👉setting-linker加入winmm(可以撥聲音)

        -將下載下來的聲音檔放在 week15_playsound.cpp 存放的位置(wav檔)

    2.PlaySound() 更多參數

        -新增檔案,檔名:week15-2_SND_SYNC_SND_ASYNC

        -PlaySound("檔名.wav",NULL,SND_SYNC);=>加上變ASYNC就會不播音樂直接結束

        -加入變數 N,輸入多少就有相對應的聲音

Step02

    1.MP3(小/有壓縮) vs WAV(大/原始檔)

        -新增檔案,檔名:week15-3_CMP3.cpp

        -Moodle 下載 CMP3_MCI.h,加入week15-3 的檔案目錄中

        -程式碼 #include<CMP3_MCI.h>

        -宣告 CMP3_MCI mp3

        -mp3.Load("檔名.mp3");

        -mp3.play();

    2.接續上周的week14_angles_TRT_write_and_read

        -新增 GLUT 專案,檔名:week15_angles_TRT_again

        -複製上週程式碼,並試跑看看能否正確執行

        -發現問題:不像動畫,只會動一個關節,而且很慢

        -解決後可以在 freeglut/bin 裡面看到一個 file.txt 裡面紀錄手臂的動作過程

Step03

    1.讓機器人搖擺

        -需要3D Model (glm.h,glm.cpp .obj....)

        -需要切割模型分別讀入

        -使用TRT程式轉動分割後的模型

        -keboard() 切換關節, mouse motion() 用滑鼠轉動關節

        -新增 GLUT 專案,檔名:week15_hw_gundam_parts

        -用 Notepad++ 將工作目錄的路徑改成 "."

        -將 freeglut 資料夾內的 freeglut.dill 檔按複製到 week15_hw_gundam_parts內

        -把glm.h跟glm.c複製到week15_hw_gundam_parts內

2022年6月8日 星期三

Ru的電腦圖學筆記>

 

Step01

    1.利用 glRectf(x1,y1, x2,y2) 方塊,簡化程式,示範TRT的觀念

        -新增 GLUT 專案,檔名:week13_rect_TRT

        -貼上 GLUT 十行程式,不用茶壺,改 glRectf()

    2.把紅色的手加上去,讓他可以轉動


    3.依序把 T-R-T 寫出來

        -先寫最下面的 Translate 把手臂的旋轉中心放到世界的中心

        -加上 float angle=45 可以看到手臂在肚臍的地方轉45度

        -最後調整最下面的 Translate 把手臂的位置移到原來的地方

Step02

    1.用 mouse motion 來改變手臂的角度

    2.新增 GLUT 專案,檔名:week13_rect_TRT_TRT

        -沿用前面的程式

        -增加第二個關節

    3.照著把下手肘的T-R-T依序做出來

Step03

    1.新增 GLUT 專案,檔名:week13_rect_many_TRT

        -做出另一隻手的關節

    2.使用鍵盤keyboard()來切換 angleID


 完成!!💝💝💝💝💝💝💝

2022年5月24日 星期二

Ru的電腦圖學筆記>

 


Step01

    1.介紹寫檔功能

        -Codeblocks 開啟新檔:week14-1.cpp (先在桌面建立一個資料夾,存進去)

    2.介紹讀檔功能

        -Codeblocks 開啟新檔:week14-2.cpp (先在桌面建立一個資料夾,存進去)

    3.

        -開啟 GLUT 新專案:week14_angle_fprintf

        -把上一周 week13_rect_many_TRT 的程式碼拿來用

Step02

    1.動畫

        -開啟 GLUT 新專案:week14_angles_fprintf_fscanf

        -copy 上一個程式碼來用

        -按 r 會轉動手臂


    2.了解為甚麼 file.txt 檔會放在 freeglut\bin 目錄裡

        -用 notepad++ 開啟 week14_angles_fprintf_fscanf.cbp

        -把下面兩個地方的路徑改成 "."

        -再把 freeglut\bin 目錄裡的 freeglut.dll 複製到專案裡頭就完成了!

Step03

    1.計時器(1)

        -新增 GLUT 專案,檔名:week14_timer

        -設五個鬧鐘,每一秒叫一次


    2.計時器(2)

        -新增 GLUT 專案,檔名:week14_timer_one_by_one

        -增加鬧鐘音效,執行五秒鐘後,每一秒響一次


        完成!!💚💚💚💚💚💚💚

2022年5月10日 星期二

Ru的電腦圖學筆記>

 


💩Step01

    1.課本範例 看Transfromation.exe的變化

        -https://jsyeh.org/3dcg10下載 data.zip、windows.zip

        -重點在: 有T移動、有R轉動,按右鍵Swap交換T R

        -glTranslatef( 0.9 , 0.0 , 0.0 );移動

        -glrotatef(角度,0,1,0);旋轉

        -在右邊轉動的藍色車子

            glTranslatef( 0.9 , 0.0 , 0.0 );移動在右邊

            glrotatef(角度,0,1,0);旋轉

            畫一台藍色的車子

        -繞著中間轉彎的車子
            glrotatef(角度,0,1,0);旋轉
            glTranslatef( 0.9 , 0.0 , 0.0 );移動在右邊

    2.用另一個程式來理解 OpenGL T-R-T 函式:對特定軸轉動練習

        -網址:120.125.80.50/GL

        -Ctrl+R Reload 可以清空

        -To Draw 畫一個身體,右邊會出現一個 myDrawObject(0)

        -To Draw 畫一個手臂,右邊會出現一個 myDrawObject(1)

        -可以改程式碼順序

        -按 angle=,再按空白建會自動旋轉

💩Step02

    1.把剛剛的網頁,增加新的功能,目標是讓手臂正確的揮手,身體不要動

        -把 glTranslatef() 那一行選取變紅色,就可移動左邊的東西

        -把 glTranslatef() 放在 Rotatef() 下面、手臂的上面

        -把另一個 glTranslatef() 放在 Rotatef() 上面

    2.講解下周考試題目

    3.寫程式

        -Codeblocks 新增 GLUT 專案,檔名:week12_TRT

        -把10行程式碼放上去

        -把 T-R-T 的6行放上去

        -再讓他自動旋轉 float angle=0;

        -配上 glRotatef(angel,0,0,1);

        -再 angle++

        -glutIdleFunc(display);

💩Step03

    1.製作出茶壺超人

    2.回家作業

        -可以用 Maya 製作 3D 模型,也可以網路上找,自行裁切

    3.茶壺超人的兩隻手臂

    4.複習 Git 指令,上傳到 Github

        -安裝 Git for Windows,再開啟 Git Bash

        -cd desktop

        -git clone https://github.com/MCUYeeZhiHua/2022graphics1

        -cd 2022graphics1

        -git status

        -git add .

        -git status

        -git config --global user.email "09160501@me.mcu.edu.tw"

        -git config --global user.name "MCUYeeZhiHua"

        -git commit -m"add week12"

        -git push

2022年5月3日 星期二

Ru的電腦圖學筆記>

 


💩Step01 複習讀圖

    1.freeglut 、OpenCV2.1 裝好 (Add PATH  C:\OpenCV2.1\bin)

        -Setting-Compiler👉Search directories👉Compiler👉C:\OpenCV2.1\include

        -Setting-Compiler👉Search directories👉Linker👉C:\OpenCV2.1\lib

        -Setting-Compiler👉Linker settings👉cv2、cxcore210、highgui210

.

    2.codeblocks 新增 GLUT 專案,檔名:week11_gundam

        -把 myGundam.zip 裡面的 data 檔案放到 freeglut\bin 裡面

    3.week09_opencv 的程式拿來用 

    4.week09_texture 的程式拿來用 (圖片的地方要改成 data\Diffuse.jpg)

💩Step02 複習 glm 模型

    1.下載 source.zip 把裡面的 glm.h、glm.c、transformation.c 放到 week11_gundam 目錄中

        -把 glm.c 改成 glm.cpp

        -在 week11_gundam 專案中,按右鍵加入 glm.cpp 

        -用 week10_texture_model 的程式碼來改

        -如果顏色位置不對,可以用小畫家水平跟垂直翻轉的功能來修改

        -開啟 3D 深度功能 glEnable(GL_DEPTH_TEST); 讓模型旋轉

Step03 利用maya切割模型 youtube關鍵字搜尋 maya匯出obj檔案


完成!!💛💛💛💛💛💛💛

2022年4月26日 星期二

Ru的電腦圖學筆記>

 

step01 貼圖

    1.安裝 freeglut 、OpenCV2.1

        -重開 CodeBlocks,新增一個GLUT檔案,檔名:week10_texture_background

        -把上一周的程式碼拿來用

    2.OpenCV 設定

        -Setting-Compiler👉Search directories👉Compiler👉C:\OpenCV2.1\include

          -Setting-Compiler👉Search directories👉Linker👉C:\OpenCV2.1\lib

          -Setting-Compiler👉Linker settings👉cv210、cxcore210、highgui210

          -下載 earth.jpg 放到 freeglut 的 lib 工作目錄裡

step02

    1.利用 glBegin(GL_POLYGON) 開始畫

    2.上週貼圖+貼到圓球=會轉的地球

        -新增 GLUT 檔案,檔名:week10_texture_earth 貼上之前的程式碼

        -gluSphere(一個指標, r半徑, slices柳丁切經線, stacks堆疊緯);

         gluSphere(sphere   ,1        ,30                        ,30                  );

    3.從 Front view 變成 Top view

step03 

    1.轉正



    2.鋼彈模型

        -到 jsyeh.org/3dcg10 下載 source.zip (glm.h、glm.cpp 放到專案的目錄)

        - Teams 下載 Gundam 模型,Gundam 裡面的 data 放到 freeglut\bin 裡

        -開啟新的 GLUT 專案,檔名:week10_texture_model

   

2022年4月20日 星期三

Ru的電腦圖學筆記>


💩step0 到 jsyeh.org/3dcg10 下載

    1.windows.zip 👉解壓縮至windows\Light Material.exe

    2.data.zip👉丟到windows裡面

    3.執行 Texture.exe 貼圖

💩step1 

    1.到 moodle 下載 opencv-2.1.0-win32-vs2008.exe (Add PATH 選第2個)

    2.開啟 codeblocks,建立新檔:week09_opencv.cpp

    3.設定:

        - Setting-Compiler👉Search directories👉Compiler👉C:\OpenCV2.1\include


        - Setting-Compiler👉Search directories👉Linker👉C:\OpenCV2.1\lib


        - Setting-Compiler👉Linker settings👉cv210、cxcore210、highgui210


    4.把自己的照片放在桌面,Build&Run,會看到貼圖跑出來


    5.如果照片跑不出來,可以試試:

        -程式碼中的檔名重打 (包括副檔名)

        -把照片丟到小畫家重新存檔一次

💩step3 結合 OpenCV & OpenGL

    1.新增 GLUT 專案,檔名:week09_texture

    2.把之前10行程式碼拿來用,再加上 OpenCV 的程式

    3.圖檔放在 freeglut 的 bin 工作目錄裡面

    4.Build&Run,可以看到貼圖跟一個白色茶壺


    5.也可以加上老師給的程式碼,讓茶壺跟貼圖合在一起

完成!!💜💜💜💜💜💜💜


VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...