看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OPENGL 問題(Question): 我想要控制飛機飛行 我已經畫出一台飛機 然後可以用上下左右控制機頭 做ROTATE EX:案到上就glRotatef(-0.5, 0.0f, 0.0f, -1.0f); 然後我想控制他飛行 就是他一直往前飛 我是用平移矩陣 但是我到這裡就卡住了 因為好像不能朝著機頭方向飛行> < 餵入的資料(Input):預期的正確結果(Expected Output): 上述問題 程式碼(Code):(請善用置底文網頁, 記得排版) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.95.214
Bencrie:矩陣相乘順序的問題 01/14 22:25
linotwo:假設 M = T * R 為物件的 global matrix,R 表示面向 01/14 23:03
linotwo:V 為物件在 model space 表示行進速度的向量擴充為四維 01/14 23:03
linotwo:dt 為每個 frame 經過的時間 01/14 23:03
linotwo:則每個 frame M = translation(R * (V * dt)) * M 01/14 23:04
linotwo:其中 translation(V) 把 V 轉成 translation matrix 01/14 23:06
linotwo:更正,V 應該是三維向量,而 R * (V * dt) 應該改成 01/14 23:11
linotwo:(R 的左上 3 * 3 矩陣) * (V * dt) 01/14 23:12