opengl中視角連續變換問題
阿新 • • 發佈:2019-02-07
在迷宮中,視角的變換問題應該有一個過渡,如在途中從方向2轉變成方向0,如果直接變到方向0,則會使
效果很差,看不出連續的過程,所以需要視野有一個旋轉的過程
可以是視野的視點在原點位置,實現指向旋轉的箭頭方向,這樣效果會很好
假設現在視野方向是2 ,說明該移動方向由3移向2,所以下一個移動方向不會回到3,只能移向1或0.所以tha角度
不會大於90°
如圖中假設向右是x軸的正方向,向下為z軸的正方向,視點(x,y,z),視線方向為(x+cos(tha),y,z+sin(tha)),投影平面的向上方向為(0,1,0)及平行於y軸方向,所以旋轉中的視野應該為gluLookAt(x,y,z,x+cos(tha),y,z+sin(tha),0,1,0)
如果視野由2轉向1,則視野變換為gluLookAt(x,y,z,x+cos(tha),y,z-sin(tha),0,1,0)
視野由1轉向3,則視野變換為gluLookAt(x,y,z,x-sin(tha),y,z-cos(tha),0,1,0)
其他清空類似。。。。。。。。。。。。。。。