電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
請問一下 3D MODEL 移動 怎樣計算?

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫
上一篇主題 :: 下一篇主題  
發表人 內容
lazyarea
稍嫌羞澀的路人


註冊時間: 2014-12-17
文章: 1

13.87 果凍幣

發表發表於: 2014-12-17, PM 12:50 星期三    文章主題: 請問一下 3D MODEL 移動 怎樣計算? 引言回覆

3D MODEL 移動 怎樣計算?
向X,Y,Z怎樣做? 可給我完整的FUNCTION 轉換嗎?
回頂端
檢視會員個人資料 發送私人訊息
Oolong Wu
稍嫌羞澀的路人


註冊時間: 2014-12-17
文章: 1

12.17 果凍幣

發表發表於: 2014-12-17, PM 10:07 星期三    文章主題: 引言回覆

對每個頂點乘以下矩陣
代碼:
|1 0 0 x||vx|
|0 1 0 y||vy|
|0 0 1 z||vz|
|0 0 0 1|| 1|

或者

            |1 0 0 0|
|vx vy vz 1||0 1 0 0|
            |0 0 1 0|
            |x y z 1|


m1: x X y的矩陣,m2: y X z的矩陣,r: 結果,x X y的矩陣。
代碼:
void MatrixMultiply(float m1[], float m2[], float r[], int x, int y, int z)
{
   int i, j, k;

   for (i=0; i<x; i++) {
      for (k=0; k<z; k++) {
         *r = 0;
         for (j=0; j<y; j++) {
            *r += *(m1+i*y+j) * *(m2+j*z+k);
         }
         r++;
      }
   }
}
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式高級班:DirectX、OpenGL及各種圖型函式庫 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作