第6讲 图形观与几何变换.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学 路 通 博士、教授 lutong@ /lutong/Department of Computer Science and Technology, NanJing Uiversity 南京大学计算机科学与技术系课程 《计算机图形学》 第6讲 图形观察与几何变换 1 图形观察 2 几何变换 3 应用举例 1. 图形观察 图形观察 图形变换和观察是计算机图形学的基础内容之一 图形观察是通过指定一个图形中要显示的部分以及在显示器显示位置,并执行从世界坐标系到设备坐标系的图形变换及删除位于显示区域范围以外的图形部分而实现的 类似于用相机拍摄物体的过程: 将物体在某个位置摆放好 相机定位 确定相机方向、朝向 取景 成像 图形观察所要解决的问题:将某个物体的一部分或全部映射到某显示区域中(如显示器) 图形观察中涉及的坐标系 图形观察变换流程 物体建模:在模型坐标系对物体进行几何建模 物体的建模变换:物体平移、旋转、缩放等变换操作,构造世界坐标场景,得到世界坐标系描述 视点变换:在世界坐标系中对相机定位、定向,设置取景方式,从而得到观察坐标系 观察变换、投影变换:将世界坐标系中的几何模型变换到规范化设备坐标系中的二维几何描述 工作站变换:规范化设备坐标系到设备坐标系的变换 图形观察中涉及的坐标系 模型坐标系(Modeling Coordinate System):为方便地构造单个对象而定义的坐标系统。 根据用户需要,可自由定义其原点和方向 通过模型坐标系描述的物体,可以在将模型坐标系“放入”世界坐标系后,很方便地得到物体在世界坐标系中的描述 模型坐标系主要是为了方便用户对物体建模 图形观察中涉及的坐标系 世界坐标系(World Coordinate System):是现实世界的坐标系,坐标系方向不能改变。世界坐标系是某场景内物体,或单个物体各部件的统一参照系 用于计算图形场景中所有图形对象的空间定位和几何定义 明确某一物体的单元构成,或放入场景的位置 是物体和观察者之间位置、距离、视线等衡量的标准 图形观察中涉及的坐标系 观察坐标系(Viewing Coordinate System):相当于照相机坐标系,用来确定相机胶卷平面的位置和方向,从而得到期望观察到的视图 一般以视点为原点,通过指定一个垂直于相机的向上向量来定义 描述从观察者角度对整个世界坐标系内的对象进行重定位和描述 成像面坐标系(Imaging Coordinate System):在胶卷平面上的成像坐标系,是观察坐标系中的某个特定投影 图形观察中涉及的坐标系 规范化设备坐标系(Normalizing Device Coordinate System):独立于具体设备的中间、规范化的设备坐标系 NDC可以很容易地转换为具体设备(如各种显示器、打印机)的设备坐标系 其坐标范围为0..1 NDC能够使得图形软件在不同的设备之间移植;由规范化设备坐标系到各图形硬件实际坐标之间的映射由软件自动实现 设备坐标系(Device Coordinate System):每一个具体的显示设备有独立的设备坐标系 屏幕坐标系中的成像区域称为视图区(或视口,view port)。设备坐标为整数 窗口与视区 图形软件包允许指定图形中要显示的部分及在显示器显示的位置 世界坐标系中要显示的区域称窗口 窗口映射到显示器(设备)上的区域称为视区 窗口定义显示什么;视区定义在何处显示 标准的窗口和视区一般都是矩形 二维观察的流程 在世界坐标系中构造图形或场景:使用建模坐标变换 在世界坐标平面中设置二维的观察坐标系,将世界坐标系下的描述变换到观察坐标系 在观察坐标系下定义视区窗口: 视区窗口通常定义成单位正方形,以保证观察和变换独立于输出设备 改变视区窗口的位置可以在输出设备的显示区的不同位置观察物体 也可以通过改变视区窗口的尺寸来改变显示对象的尺寸和位置 改变视区向上方向矢量可改变视线方向 将观察坐标系下的场景描述映射到规范坐标系的视区 二维观察的流程 在规范化坐标系下进行视区图形裁剪:裁剪掉视区外的图形部分,并将视区内图形转换到设备坐标系 OpenGL用于二维显示 //视口位置和尺寸(相对于程序窗口) glViewport (x, y, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); //二维投影面,决定了二维显示坐标的范围 gluOrtho2D(xmin,xmax,ymin,ymax); 显示器屏幕 视口范围 Opengl程序窗口 二维投影面范围 xmax,ymax xmin,ymin 在世界坐标系下指定观察范围 指定观察方式 指定观察设备的关联方式 2000,1500

文档评论(0)

ldj215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档