第三章 几何变换_第1页
第三章 几何变换_第2页
第三章 几何变换_第3页
第三章 几何变换_第4页
第三章 几何变换_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章几何变换邱航qiuhang@电子科技大学计算机科学与工程学院电子科技大学数字媒体技术研究所本章内容第一节理解变换第二节OpenGL变换第一节理解变换照相机比喻变换管线1.1照相机比喻产生目标场景视图的变换过程类似于用照相机进行拍照1)把照相机固定在三脚架上,让它对准场景(视图变换);

2)对场景进行安排,使各物体在照片中位于你所希望的位置(模型变换);

3)选择照相机镜头,并调整放大倍数(投影变换);

4)确定最终照片的大小(视口变换);

1.2变换管线xyzw模型视图矩阵投影矩阵投影除法视口变换物体坐标顶点视点坐标裁剪坐标规范化设备坐标窗口坐标【注意】上述步骤对应于在程序中所指定的变换顺序,但并不一定就是在物体的顶点上所执行的数学操作的顺序在代码中,视图变换必须出现在模型变换之前,但可以在绘图之前的任何时候执行投影变换和视口变换由于矩阵乘法是向左结合的,所以,程序中绘制顶点前的最后一个变换命令最先作用于顶点之上,也就是说,OpenGL编程中,实际的变换顺序和指定的顺序是相反的第二节OpenGL变换视图变换模型变换投影变换视口变换2.1视图变换视图变换:用于设置视点的位置和方向,即确定场景的拍摄点视图变换允许把视点放在任何位置,并允许在任何方向观察场景视点变换函数:voidgluLookAt(GLdoubleeysx,GLdoubleeysy,GLdoubleeysz,GLdoublecenterx,GLdoublecentery,GLdoublecenterz,GLdoubleupx,GLdoubleupy,GLdoubleupz)

指定视点位置

指定视线上的任意一点

指定向上向量缺省情况下,视点位于坐标原点,指向Z轴负方向,以y轴的正方向为朝上方向,相当于调用gluLookAt(0.0,0.0,0.0,0.0,0.0,-100.0,0.0,1.0,0.0);【注意】在任何变换之前,必须指定视图变换,因为视图变换的效果相当于根据视觉坐标系统移动当前所使用的坐标系统2.2模型变换模型变换:用于对模型及模型内部的物体进行操作移动,旋转,缩放移动voidglTranslate{fd}(TYPEx,TYPEy,TYPE,z); 把当前矩阵与一个表示移动物体的矩阵相乘,这个移动矩阵由给定的x,y,z值指定旋转voidglRotate{fd}(TYPEangle, TYPEx,TYPEy,TYPEz) 把当前矩阵与一个表示旋转物体的矩阵相乘,以逆时针方向绕着从原点到点(x,y,z)的直线进行旋转,angle指定了旋转的度数 例: glRotatef(45.0,0.0,0.0,1.0)相当于沿z轴旋转45度缩放voidglScale{fd}(TYPEx,TYPEy,TYPEz) 把当前矩阵与一个表示沿各个轴对物体进行拉伸、收缩或反射的矩阵相乘。这个物体中每个点的x,y,z坐标与对应的x,y,z参数相乘缩放值大于1.0,则拉伸物体缩放值小于1.0,则收缩物体缩放值为-1.0,则沿相应的轴反射该物体 【注意】缩放值为0.0,则把所有沿这个轴的物体坐标收缩到0(这是无法还原的操作!)应该限制glScale*()的使用,因为它会降低光照计算的效率考虑两个简单的模型变换:yyxy’x’xy’x’xy最初的方块沿z轴旋转,产生新的x轴沿新的x轴移动yxxy’x’xy最初的方块沿x轴移动原点经过移动的坐标 系统再进行旋转在很大程度上,物体的最终外观取决于模型变换的应用顺序。两种考虑方法:1)根据一个全局固定的坐标系统来考虑问题,必须考虑乘法的出现顺序与它们在代码中出现的顺序相反2)想象一个绘图时固定到物体的局部坐标系统,所有操作都相对于变化的坐标系统进行。使用这种考虑方法,矩阵乘法很自然地按照它们在代码中出现的顺序进行2.3投影变换投影变换:定义一个视景体,视景体决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论