欢迎来到天天文库
浏览记录
ID:57383703
大小:191.50 KB
页数:46页
时间:2020-08-14
《OpenGL图形编程3二维观察与三维变换(陈永强)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OpenGL图形编程武汉纺织大学数学与计算机学院授课教师:陈永强教授13.OpenGL二维观察与三维变换3.1二维观察3.2三维变换233.1OpenGL二维观察实现二维观察的步骤:3.1.1指定矩阵堆栈3.1.2指定裁剪窗口3.1.3指定视区343.1.1指定矩阵堆栈指定当前操作的是投影矩阵堆栈glMatrixMode(GL_PROJECTION);初始化,即指定当前操作的矩阵堆栈的栈顶元素为单位矩阵。glLoadIdentity();453.1.2指定裁剪窗口定义二维裁剪窗口gluOtho2D(xwmin,xwmax,ywmin,ywmax);其中,双精度浮
2、点数xwmin,xwmax,ywmin,ywmax分别对应裁剪窗口的左、右、下、上四条边界。默认的裁剪窗口,四条边界分别为wxl=-1.0,wxr=1.0,wyt=-1.0,wyb=1.0。563.1.3指定视区指定视区glViewPort(xvmin,yvmin,vpWidth,vpHeighht);xvmin和yvmin指定了对应于屏幕上显示窗口中的矩形视区的左下角坐标,单位为像素。整型值vpWidth和vpHeighht则指定了视区的宽度和高度。默认的视区大小和位置与显示窗口保持一致。63.1OpenGL二维观察例子教材【程序6-2】783.2.1变换种类
3、3.2.2模型视图矩阵3.2.3矩阵操作3.2.4矩阵堆栈3.2.5投影变换3.2.6剪切变换3.2OpenGL中的变换89视图变换:指定观察者或摄影机的位置;模型变换:在场景中移动对象;模型视图变换:描述视图变换与模型变换的对偶性;投影变换:对视见空间进行修剪和改变大小;视见区变换:对窗口的最终输出进行缩放;3.2.1变换种类910视图变换:指定观察者或摄影机的位置;视图变换是第一个应用到场景上的变换。它用于确定场景的有利位置。默认情况下,观察点位于原点,顺着z轴的负向看。视图变换使你可以将观察点放置在任何期望的位置上,从任何方向进行观察。确定视图变换相当于在
4、场景中放置一部摄像机并确定其指向。在工作时间表上,必须先指定视图变换再指定其他任何变换。3.2.1变换种类1011模型变换:在场景中移动对象;模型变换用于处理模型和模型内的特定对象。这些变换把对象移动到合适的位置,旋转它们,并对它们进行缩放。模型变换实际上就是几何变换。3.2.1变换种类1112模型视图变换:描述视图变换与模型变换的对偶性;从内部效果和它们对场景最终外观的效果来说,视图变换和模型变换是相同的,把这两者分开完全是为了程序员的方便,向后移动对象和向前移动参考系之间并没有本质差别。术语“模型视图”表示你可以把这类变换视为模型变换或视图变换,但实际上并无
5、区别,因此称它为模型视图变换。3.2.1变换种类1213投影变换:对视见空间进行修剪和改变大小;投影变换应用到最终的模型视图方向。投影实际上定义了视见空间并建立了修剪平面。更明确一些,投影变换指定已完成场景如何转换成屏幕上的最终图象。常用的投影变换包括正投影和透视投影。3.2.1变换种类1314视见区变换:对窗口的最终输出进行缩放;把场景的一个二维投影映射到屏幕上某处的窗口。这个到物理窗口坐标的映射是最后完成的一项变换,它称为视见区变换。3.2.1变换种类1415在计算机图形学中,所有的变换都是通过矩阵乘法来实现的,即将物体顶点构成的齐次坐标矩阵乘以三维变换矩阵
6、就得到了变换后的物体顶点的齐次坐标矩阵,这样只要求出物体的三维变换矩阵,就可以得到变换后的物体。在OpenGL中,对象的坐标变换也通过矩阵来实现的(虽然并不一定要自己定义矩阵)。通常,在OpenGL中使用了两个重要的矩阵:模型视图矩阵和投影矩阵,其中模型视图矩阵用于物体的模型视图变换,投影矩阵用于投影变换。3.2.1变换种类1516有了模型视图矩阵和投影矩阵,在OpenGL中从未加工的顶点数据到屏幕坐标的过程就包括如下步骤:1.将顶点坐标转换为规范化齐次坐标矩阵;2.将顶点的规范化齐次坐标矩阵乘以模型视图矩阵,生成变换后的顶点齐次坐标矩阵;3.将变换后的顶点齐次
7、坐标矩阵乘以投影矩阵,生成修剪坐标矩阵,这样就有效地排除了视见空间之外的所有数据。4.由修剪坐标除以w坐标,得到规格化的设备坐标。注意,在变换过程中,模型视图矩阵和投影视图矩阵都有可能改变坐标的w值。5.坐标三元组被视见区变换影射到一个2D平面。这也是一个矩阵变换,但在OpenGL中不能直接指定或修改它,系统会根据指定给glViewport的值在内部设置它。3.2.1变换种类1617模型视图矩阵用于指定场景的视图变换和几何变换,模型视图矩阵是一个4×4的矩阵,它代表了用来放置和定位对象的经过变换的坐标系。在计算机图形学中,物体进行的几何变换可以分解成多个基本几何
8、变换,而三维几何变换矩阵
此文档下载收益归作者所有