opengl中视角连续变换问题

 opengl中视角连续变换问题_第1张图片

在迷宫中,视角的变换问题应该有一个过渡,如在途中从方向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)

        其他清空类似。。。。。。。。。。。。。。。

 

你可能感兴趣的:(opengl中视角连续变换问题)