2023年3月29日 星期三

JIA的電腦圖學日誌 Week07

   1

今天的第一個程式, 和上週一樣到老師的網站 https://jsyeh.org/3dcg10/ 下載檔案

data     win32    


步驟都一樣

下載完畢後解壓縮

下載 > windows > data ( data 要解壓縮到 windows 裡哦, 裡面有很多的模型 )

下載 > windows >Texture.exe


今天要介紹新東西

glTexCoord2f(tx,ty);


左邊是貼圖座標,右邊是頂點

頂點怎麼拉呢?

原來頂點的順序是按照逆時鐘走的


我們換一個圖看看

在3D的世界,圖學都用三角形,像Unity,3dsMax,OpenGL

在人類理解的世界哩,四邊形比較好用,像Maya


原先的範圍用紅色框框拉出來,新的頂點用黃色圓圈標記,綠色被框出來是多出來的範圍,

但他依然呈現在上面的正方形中,因為我們後面的頂點數據沒有變,最終呈現的圖形依然是正方形

只是他呈現出來的貼圖就皺皺的,東西擠在上面了


小小的對比圖


我們再一次複習一下期中考內容

1.    glPushMatrix(); //備份矩陣
2.        glTranslatef( x, y, z); //移動
3.        glRotatef( 角度, x, y, z); //轉動
4.        glScalef( x, y, z); //縮放
5.        glBegin( GL_POLYGON ); //開始畫( 多邊形 )
6.            glColor3f( r,g,b ); //色彩
7.            glNormal3f( nx, ny, nz ); //打光的法向量
8.            glTexCoord2f( tx, ty ); //貼圖座標
9.            glVertex3f( x, y, z ); //頂點
10.       glEnd(); //結束畫
11.     glPopMatrix(); //還原矩陣

先去下載 OpenCV!

很重要要選Add PATX

然後順順的安裝在原先設定的目錄 OpenCV-2.1

然後把CodeBlocks重開!!!


然後做三個重要的設定!

先到 CodeBlocks 上方的 Settings > Compiler

要設定的很多哦

Search directories > Compiler > Add > C:\OpenCV2.1\include

Search directories > linker > Add > C:\OpenCV2.1\lib

linker settings > Add > cv210 cxcore210 highgui210



設定好之後,來寫第一個 OpenCV 程式吧

先下載一張圖片存好

寫下這段程式,不要打錯字哦


執行小黑, 讀照片, 柯南被讀出來了



2


今天的第二個程式,和每次一樣, 新增 GLUT 專案

我們用老師提供的程式碼,到 gist.github.com/jsyeh 下載 Texture 的程式碼

然後去下載一張地圖

要放在桌面 freeglut 的 bin 目錄中



執行小黑, 茶壺上貼了地圖


我們不要茶壺,先把茶壺注解掉,修改一下程式碼

用第一堂課學到的新東西來貼圖

執行小黑, 地圖貼出來了 ( 實際上是長方形,但比例不對,我自己拉寬了 )


看完整程式碼

我們再到 gist.github.com/jsyeh 下載 MyEarth 的程式碼

然後注意改一下圖片檔名 ( 還有我的地球轉太快,我修改了 angle++ )


完整的程式碼如下

👋最後


一樣!上傳 GitHub 就結束本週的課程啦


沒有留言:

張貼留言