1. 程式人生 > >opengl中視角連續變換問題

opengl中視角連續變換問題

 

在迷宮中,視角的變換問題應該有一個過渡,如在途中從方向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)

        其他清空類似。。。。。。。。。。。。。。。