loading ...
loading...

2008-07-24 | 正射投影(Orthographic Projection)

分享

正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方

体,如图2-5-9所示。正射投影的最大一个特点是无论物体距离相机多远,投影后的物体大

小尺寸不变。这种投影通常用在建筑蓝图绘制和计算机辅助设计等方面,这些行业要求投影

后的物体尺寸及相互间的角度不变,以便施工或制造时物体比例大小正确。

OpenGL正射投影函数共有两个,这在前面几个例子中已用过。

    一个函数是:

 

void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,

             GLdouble near,GLdouble far)

 

它创建一个平行视景体。实际上这个函数的操作是创建一个正射投影矩阵,并且用这个

矩阵乘以当前矩阵。其中近裁剪平面是一个矩形,矩形左下角点三维空间坐标是

(left,bottom,-near),右上角点是(right,top,-near);远裁剪平面也是一个矩形,左下角

点空间坐标是(left,bottom,-far),右上角点是(right,top,-far)。所有的near和far值同

时为正或同时为负。如果没有其他变换,正射投影的方向平行于Z轴,且视点朝向Z负轴。

这意味着物体在视点前面时far和near都为负值,物体在视点后面时far和near都为正值。

 

    另一个函数是:

 void gluOrtho2D(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top)

 它是一个特殊的正射投影函数,主要用于二维图像到二维屏幕上的投影。它的near和

far缺省值分别为-1.0和1.0,所有二维物体的Z坐标都为0.0。因此它的裁剪面是一个左

下角点为(left,bottom)、右上角点为(right,top)的矩形。

分享 分享 |  评论 (0) |  阅读 (?)  |  固定链接 |  发表于 23:48
搜狐博客温馨提示:搜狐博客官方不会要求参加活动的各位博友缴纳任何的手续费用。请勿轻信留言、评论中的中奖信息,更不要拨打陌生电话及向陌生帐户汇款,谨防受骗!识别更多网络骗术,请 点击查看详情
您还未登录,只能匿名发表评论。或者您可以 登录 后发表。
 
  *中国人爱国心,搜狗输入法爱国主题皮肤下载>>
表  情:
加载中...
回复通知: 同时用小纸条通知对方该回复