图形学第五章.ppt.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 变换和裁剪 第五章 变换和裁剪 几何变换 观察角度和物体位置的改变可以通过在世界坐标系中对物体进行各种变换来实现,如平移、放缩、旋转等。 二维窗口的裁剪 选择显示的内容--图形在窗口内的部分被显示出来,窗口外的部分被裁剪掉 裁剪算法:Sutherland-Cohen算法、Cyrus-Beck算法、梁友栋-Barsky算法、 Sutherland-Hodgman算法等。 5.1 变换的数学基础 5.2 几何变换 坐标系 世界坐标系(world coordinate):一个图形场景往往由多个对象组成,为了描述它们之间的空间关系,需要把它们置于一个统一的坐标系中,该坐标系称为世界坐标系。 模型坐标系(modeling coordinate)或局部坐标系(local coordinate):当构造单个对象的数字模型时,为了方便可以将其置于一个特定的坐标系下,即模型坐标系或局部坐标系。 设备坐标系(device coordinate):图形输出时,则应在输出设备上建立一个坐标系,这个坐标系称为设备坐标系。设备坐标系依据设备的种类有不同的形式,如二维的屏幕坐标系,描述机械手运动轨迹的三维坐标系。 标准化设备坐标系(normalized device coordinate):有些图形系统,对设备坐标系进行了规范化,将坐标范围限定在区间{x,y,z | 0≤x≤1, 0≤y≤1, 0≤z≤1}内,称为标准化设备坐标系。 5.2 几何变换 2 放大和缩小变换 2 放大和缩小变换 放缩变换必定有一个 不动点,为了定义放缩 变换,可以指定其不动 点,一个放缩方向,以 及沿该方向的放缩因子。 当放缩因子大于1时,对 象在指定方向上变长 以图形中心为中心的放缩变换 为了使缩放变换后的图形仍在原来位置附近,可另外定义一个相似中心点(xp,yp,zp) 把整个图形沿x, y和z方向平移 -xp,-yp和-zp,使相似中心移到坐标原点 对每一点按照式(5.4)作变换 沿x, y和z方向平移xp, yp和zp,把经过放缩的图形移回原处 这样做的综合效果是图形以(xp, yp, zp)为中心作了放缩变换。 3 旋转变换 3 旋转变换 3 旋转变换 绕y轴的旋转变换公式为: 3 旋转变换 绕x轴的旋转变换公式为: 绕过原点的轴的旋转变换 对绕空间任一通过坐标原点的轴旋转,要给出这根轴的方向向量的坐标(Ax,Ay,Az)。 首先建立一个新的坐标系ouvw,ow 轴的指向和旋转轴(Ax,Ay,Az)的指向一致 把要作旋转变换的对象先从oxyz坐标系变到坐标系ouvw 在ouvw 坐标系绕ow 轴旋转要求转动的角度 最后把旋转后的对象从坐标系ouvw 变换到原坐标系oxyz中 两个坐标系间的变换关系 坐标系变换公式 变换公式 绕着不是原点的固定点旋转 4 错切变换 4 错切变换 5.2.2 齐次坐标与变换的矩阵表示 5.2.3 变换的模式 两种图形的变换模式 图形模式: 矩阵合并时,先调用的矩阵放在右边,后调用的矩阵放在左边,也称为固定坐标系模式。 特点是每一次变换均可看成相对于原始坐标系中执行的。 空间模式: 也称为活动坐标系模式,矩阵的合并方式和图形模式相反。 特点是在连续执行几次变换时,每一次变换均可看成是在上一次变换所形成的新坐标系中进行的。 对不同的应用常要求用不同的变换模式 在很多绘图的情况下用图形模式,因为用户比较容易估计变换后的结果。 在整体变换的基础上再作一些较独立的局部变换常用空间模式。 数学角度看变换的顺序 图形模式---例子 光栅化椭圆的变换(1) 光栅化椭圆的变换(2) 空间模式 例子 Rotate(30,0,0,1); Translate(7,0,0); draw_triangle(); OpenGL中的变换 在OpenGL中矩阵是状态的一部分 模型视图(GL_MODELVIEW);投影(GL_PROJECTION) glMatrixMode(GL_MODELVIEW); ?glMatrixMode(GL_PROJECTION); 从概念上说,当前变换矩阵(CTM)就是一个4x4阶的齐次坐标矩阵,它是状态的一部分,被应用到经过流水线中的所有顶点CTM是在应用程序中定义的,并被上载到变换单元中 OpenGL中的变换 CTM可以被改变,改变的方法是上载一个新的CTM或者右乘一个矩阵 上载单位阵:C ← I 上载任意矩阵:C ← M 上载一个平移矩阵:

文档评论(0)

maritime5 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档