看板 C_and_CPP 關於我們 聯絡資訊
glRotatef(theta, kx, ky, kz); //對 k 軸旋轉 theta glCallList(MYLIST) ... OPENGL中對某軸旋轉是使用上面的函式 但若我想 把 MYLIST 的 X 軸畫在大地座標的 (1,1,0) 方向 把 MYLIST 的 Y 軸畫在大地座標的 (-1,1,0) 方向 把 MYLIST 的 Z 軸畫在大地座標的 (1,1,0)cross(-1,1,0) 方向 那有什麼相關的函式可以使用呢? 還是只能先依上述條件求出 kx,ky,kz,theta ? (k = k 相對於大地座標) 謝謝 -- 我是麵T,哩賀 http://ppt.cc/-eS5 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.237.80.14 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1411796238.A.B2B.html
a27417332: 你需要做的是先學好數學 09/27 15:14
noodleT: 怎說呢? MYLIST的XYZ的確可畫在大地座標的那個方向上吧 09/27 15:20
noodleT: 只是求k,theta再來旋轉太不經濟了,所以來請教有沒有 09/27 15:22
noodleT: 哪些我沒學過的函式可用 @@ 09/27 15:23
Bencrie: OpenGL 新版甚至沒有 glRotatef 那些內建的矩陣運算 09/27 15:31
Bencrie: 矩陣堆疊也拿掉了。一樓的建議其實是很中肯的啊 09/27 15:32
Killercat: GLUT應該還能用吧 09/27 15:59
Killercat: 好久沒寫那麼native的東西了 不過GLUT應該是有旋轉縮放 09/27 16:00
Killercat: 的一些helper 可以先翻看看裡面有沒有你能用的 09/27 16:01
Killercat: 另外 學數學再寫44matrix實在太不經濟啦... :P 09/27 16:01
a27417332: Modern OpenGL就只能這麼不經濟(汗) 09/27 18:57
a27417332: 傳統OpenGL的矩陣變換原理我不清楚,所以我也幫不上忙 09/27 19:07
a27417332: 我沒理解錯誤的話,感覺原PO要的是對著Z軸轉向? 09/27 19:08
純對 Z_大地 轉並不能得到上述的結果 而旋轉矩陣又沒交換性所以才麻煩 Rx*Ry != Ry*Rx 我是用 BCB6 加上網路找的 opengl元件在做這些東西的。 就可惜這個原件是舊版的。 ※ 編輯: noodleT (36.237.80.14), 09/27/2014 20:50:28
Bencrie: 那個 VCL 元件只是幫你搞初始化的部份 09/28 01:29
Bencrie: 就是幫你處理 DC 生 RC 這塊,其他沒什麼差 09/28 01:32
noodleT: 意思是我可以用那個元件+新版的標頭檔 來做繪圖功能? 09/28 01:32
Bencrie: 可以,因為你還是得自己 LoadLibrary 然後拿 funcptr 09/28 01:40
Bencrie: 不過你的 code 沒用到 extension 啊? 09/28 01:41