正交投影和透视投影

 投影变换就是要确定一个取景体积,其作用有两个:

    1). 确定物体投影到屏幕的方式,即是透视投影还是正交投影。

    2). 确定从图象上裁剪掉哪些物体或物体的某些部分。

    投影变换包括透视投影和正交投影(平行投影)。

  • 透视投影

    透视投影的示意图如下,其取景体积是一个截头锥体,在这个体积内的物体投影到锥的顶点,用glFrustum()函数定义这个截头锥体,这个取景体积可以是不对称的,计算透视投影矩阵M,并乘以当前矩阵C,使C=CM

 

 

      图5-1-11 透视投影示意图

 

 

 

  • 正交投影

 

    正交投影的示意图见下:其取景体积是一个各面均为矩形的六面体,用glOrtho()函数创建正交平行的取景体积,计算正交平行取景体积矩阵M,并乘以当前矩阵C,使C=CM

 

    void glOrtho(Gldouble left,Gldouble right,Gldouble bottom,Gldouble top,Gldouble near,Gldouble far);

 

    该函数以正交投影矩阵乘当前矩阵。

 

 

       图5-1-12 正交投影示意图

 

 

 


 

    在通过视图造型矩阵和投影矩阵变换场景中对象的顶点后,任何位于取景体积外的顶点都被裁剪掉。除此之外,还可指定附加的任意位置的裁剪面,对场景中的物体作进一步的裁剪选择。

 


 

posted @ 2012-03-21 09:42  zyx2007  阅读(1941)  评论(1编辑  收藏  举报