[問題] 找opengl旋轉的函式庫

作者: noodleT (麵T)   2014-09-27 13:37:15
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 相對於大地座標)
謝謝
作者: a27417332 (等號卡比)   2014-09-27 15:14:00
你需要做的是先學好數學
作者: noodleT (麵T)   2014-09-27 15:20:00
怎說呢? MYLIST的XYZ的確可畫在大地座標的那個方向上吧只是求k,theta再來旋轉太不經濟了,所以來請教有沒有哪些我沒學過的函式可用 @@
作者: Bencrie   2014-09-27 15:31:00
OpenGL 新版甚至沒有 glRotatef 那些內建的矩陣運算矩陣堆疊也拿掉了。一樓的建議其實是很中肯的啊
作者: Killercat (殺人貓™)   2014-09-27 15:59:00
GLUT應該還能用吧好久沒寫那麼native的東西了 不過GLUT應該是有旋轉縮放的一些helper 可以先翻看看裡面有沒有你能用的另外 學數學再寫44matrix實在太不經濟啦... :P
作者: a27417332 (等號卡比)   2014-09-27 18:57:00
Modern OpenGL就只能這麼不經濟(汗)傳統OpenGL的矩陣變換原理我不清楚,所以我也幫不上忙我沒理解錯誤的話,感覺原PO要的是對著Z軸轉向?
作者: Bencrie   2014-09-28 01:29:00
那個 VCL 元件只是幫你搞初始化的部份就是幫你處理 DC 生 RC 這塊,其他沒什麼差
作者: noodleT (麵T)   2014-09-28 01:32:00
意思是我可以用那個元件+新版的標頭檔 來做繪圖功能?
作者: Bencrie   2014-09-28 01:40:00
可以,因為你還是得自己 LoadLibrary 然後拿 funcptr不過你的 code 沒用到 extension 啊?

Links booklink

Contact Us: admin [ a t ] ucptt.com