作者richard730 (Life Bubble GT)
看板C_and_CPP
標題[問題] openGL 飛機控制飛行
時間Mon Jan 14 20:12:18 2013
開發平台(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