




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lecture7几何变换 概述 在计算机图形学中 通常需要将画出的图形平移到某一位置 或改变图形的大小和形状 或利用已有图形生成复杂图形 这种图形处理的过程就是图形的几何变换 简称图形变换 二维图形和三维图形都可以进行图形变换 图形变换通常采用矩阵的方法 图形所做的变换不同其变换矩阵也不同 变换的实质是对由图形上各点的坐标组成的矩阵进行运算 因此在讨论各种具体图形几何变换时 可以归结为一个点的变换 7 1二维基本变换 二维基本变换包括 平移比例旋转 7 1 1平移变换 平移是一物体从一个位置到另一位置所作的直线移动 如果要把一个位于的点移到新位置时 只要在原坐标上加上平移距离Tx及Ty即可 平移变换 表示成数学形式 表示成向量形式 可以用矩阵相加来表示P点的位移计为 7 1 2比例变换 用来改变一物体大小的变换称为比例变换 缩放变换 如果要对一个多边形进行比例变换 那么可把各顶点的坐标 x y 均乘以比例因子Sx Sy 以产生变换后的坐标 x y 比例变换 表示成数学形式 如果令则比例变换可以表示成以下的矩阵形式 记为 7 1 3旋转变换 物体上的各点绕一固定点沿圆周路径作转动称为旋转变换 我们可用旋转角表示旋转量的大小 一个点由位置 x y 旋转到 x y 如下图所示 为旋转角 旋转变换 由图可得到如下三角关系式 则相对于坐标原点的旋转变换公式如下 旋转变换 如果令则有记为 7 2二维几何变换的齐次坐标表示 可以看出 平移变换的处理方法与其他两种变换的形式不一样 但我们希望能够用一种一致的或同类的方法来处理这三种变换 使得这三种基本变换能很容易地结合在一起 形成各种复杂的组合变换 为了解决这个问题 引入齐次坐标这一概念 基本思想 把一个n维空间的几何问题 转换到n 1维空间中去解决 即用一个有n 1个分量的向量去表示一个有n个分量的向量 进一步分析知 平移变换是对常数项的变换 而比例和旋转则是对x和y项的变换 二维几何变换的齐次坐标表示 如果我们既要对常数项进行变换 也要对x和y项进行变换 我们进行如何的处理呢 观察如下的表达式 则有 x a1x a2y a3cy b1x b2y b3cc c1x c2y c3c 二维几何变换的齐次坐标表示 如果我们令 a1 1 a2 0 a3 Txb1 0 b2 1 b3 Tyc1 0 c2 0 c3 1 c 1则有 x x Txy y Ty1 1上两式正好是坐标的平移变换 二维几何变换的齐次坐标表示 使用这种表示方法 坐标的平移变换可以表示为 平移变换的矩阵形式缩写 这样 我们就把矩阵的加法运算转化为矩阵的乘法运算 我们使用的这种表达坐标的方法就叫齐次坐标表示 x y 表达为 hx hy h 当h 1时称为规格化齐次坐标 二维几何变换的齐次坐标表示 使用规格化齐次坐标 我们可以表示另外两种变换 比例变换的矩阵形式 缩写为 旋转变换的矩阵形式 缩写为 7 2 3其他变换 反射变换 反射是用来产生物体的镜象的一种变换 物体的镜象一般是相对于一对称轴生成的 关于x轴对称变换关于y轴对称变换关于坐标原点的对称变换 关于x轴对称变换 关于x轴的对称变换 是一种特殊形式的缩放变换 其中 Sx 1 Sy 1 如图所示 其变换矩阵为 关于y轴对称变换 关于y轴的对称变换 是一种特殊形式的缩放变换 其中 Sx 1 Sy 1 如图所示 其变换矩阵为 关于坐标原点的对称变换 关于y轴对称变换 是一种特殊形式的缩放变换 其中 Sx 1 Sy 1 如图所示 其变换矩阵为 错切变换 这种变换可使物体产生变形 即物体产生扭转或称为错切 常用的两种错切变换是沿x向或沿y向错切变换 沿x方向关于y轴的错切沿y方向关于x轴的错切 沿x方向关于y轴的错切 在下图中 对矩形ABCD沿x轴方向进行错切变换 得到矩形A B CD 错切的角度为 令shx tan 假定点 x y 经错切变换后变为 x y 由下图可知 从而沿x方向关于y轴的错切的变换矩阵为 沿y方向关于x轴的错切 在下图中 对矩形ABCD沿y轴方向进行错切变换 得到矩形AB C D 错切的角度为 令shy tan 假定点 x y 经错切变换后变为 x y 由下图可知 从而沿y方向关于x轴的错切的变换矩阵为 7 2 4二维几何变换的一般形式 设图形上一点的坐标为P x y 经过二维几何变换后的坐标为P x y 变换矩阵一般可写为 即 这样的变换在数学上称为仿射变换 AffineTransformation 前面介绍的几种变换都是仿射变换的特例 7 3组合变换 任意一个变换序列均可表示为一个组合变换矩阵 组合变换矩阵可由基本变换矩阵的乘积求得 由若干基本变换矩阵相乘求得组合变换矩阵的方法称为矩阵的级联 单个基本变换的组合变换多个基本变换的组合变换 7 3 1单个基本变换的组合变换 组合平移变换对一物体连续平移两次 假定两次平移的距离为 Tx1 Ty1 及 Tx2 Ty2 则由此可计算出组合矩阵为 上式表明 进行连续两次平移 实际上是把平移距离相加 即 组合比例变换 作用于点P的两次连续的比例变换的变换矩阵为 即 连续进行两次比例变换 实际上是把相应的比例因子相乘 组合旋转变换 连续两次旋转的组合变换矩阵可用下式表示与组合平移的情况相似 连续旋转实际上是把旋转角相加 7 3 2多个基本变换的组合变换 相对于任一固定点的比例变换首先把图形及固定点一起平移 使固定点移到坐标原点上 然后把图形相对于原点进行比例变换 最后把图形及固定点一起平移 使固定点又回到原来位置 相对于任一固定点的比例变换 此变换序列可表示为 其中变换矩阵为 OPENGL程序中的变换顺序 glMatrixMode GL MODELVIEW 指定当前操作矩阵类型glLoadIdentity 设置当前操作矩阵为单位矩阵glMultMatrix TT XA YA 用当前矩阵乘以函数所提供矩阵glMultMatrix TS Sx Sy glMultMatrix TT XA YA glBegin GL POINTS glVertex3f x y x glEnd 围绕任一基准点的旋转变换 下图所示的为围绕任一基准点A xA yA 旋转时 由一变换序列得到一组合矩阵的过程 首先 把物体平移 使基准点与坐标原点重合 然后 把物体绕原点旋转 最后 把物体平移 使基准点回到原来位置 围绕任一基准点的旋转变换 此变换序列可以用以下矩阵的乘积表示 关于任意轴的对称变换 以任一直线l为对称轴的对称变换可以用变换合成的方法按如下步骤建立 平移使l过坐标原点 记变换为T1 图形A被变换到A1 旋转 角 使l和ox轴重合 记变换为R1 图形Al被变换到A2 求图形A关于x轴的对称图形A3 记变换为RFx 旋转 角 记变换为R2 图形A3被变换到A4 平移使l回到其原先的位置 记变换为T2 图形A4被变换到As As即为A关于l的对称图形 总的变换为 变换矩阵的级联特性 矩阵相乘是符合结合律的 即在求A B C三个矩阵的积时 可以先把A及B相乘 也可以先把B及C相乘 即但矩阵相乘是不符合交换律的 即一般矩阵积A B与B A不相等 这样 如果我们要对一物体进行平移及旋转变换 则要特别注意矩阵级联的次序 采用不同的变换次序 其最后结果是不一样的 7 4三维几何变换 三维图形的平移 比例及旋转变换是对二维变换的扩展三维旋转一般不能直接由二维变换扩展得到 因为三维旋转可围绕空间任何方位的轴进行 三维几何变换方程也可以用变换矩阵表示 任何一个变换序列均可用一个矩阵表示 此矩阵是把序列中的各个矩阵级联到一起而得到的 对于三维空间点需要用4个数来表示 而相应的变换矩阵是4 4阶矩阵 7 4 1三维坐标系的建立 右手坐标系 伸出右手 当用大姆指指向x轴的正方向 食指指向y轴的正方向 则与手心垂直的中指方向就是z轴正向 在计算机图形学中 两种坐标系都可以使用 右手坐标系为大多数人所熟悉 因此在讨论图形的数学问题时常使用右手坐标系 本课程中没有指明时 均指右手坐标系 7 4 2三维图形几何变换 三维几何变换也可利用齐次坐标的概念 变换可以用一个4 4的变换矩阵来表示 设三维空间中的点P x y z 其规格化齐次坐标为 x y z 1 若变换矩阵为T T为4 4的矩阵 则变换后的点P T P 平移变换 在用三维齐次坐标表示时 把一个点由位置 x y z 平移至位置 x y z 可用以下矩阵运算实现 所示的矩阵表达式与以下三式等效 比例变换 设空间一点P x y z 以原点为中心 在三根轴上分别放大或缩小Sx Sy Sz倍 变换矩阵为 旋转变换 三维空间的旋转 绕x轴的旋转绕y轴的旋转绕z轴的旋转绕空间一条任意轴的旋转 绕x轴的旋转 当点P x y z 绕x轴旋转 角到P x y z 时 点的x坐标值不变 则有 变换矩阵为 绕y轴的旋转 当点P x y z 绕y轴旋转 角到P x y z 时 点的y坐标值不变 则有 变换矩阵为 绕z轴的旋转 当点P x y z 绕y轴旋转 角到P x y z 时 点的z坐标值不变 则有 变换矩阵为 反射变换 如果要对于xy平面进行变换 此变换实际上是改变z坐标的符号而保持x y坐标不变 一点相对于xy平面反射变换矩阵为 同样可定义相对于yz平面或xz平面进行变换的矩阵 错切变换 三维错切变换是指对定义一个点的三个坐标值中的两个进行变换 使三维形体发生错切变形的变换 下面是以z轴为依赖轴 z值不变 产生三维错切的变换矩阵 围绕任意轴的旋转变换 在给定旋转轴的特征及旋转角之后 可用以下5步完成对任意轴的旋转 平移物体使旋转轴通过坐标原点 旋转物体使旋转轴与某一坐标轴重合 进行规定的旋转 进行反旋转使放置轴回到原来的方位 进行反平移使旋转轴回到原来的位置 围绕任意轴的旋转变换 首先 假定旋转轴用两点定义P1 x1 y1 z1 和P2 x2 y2 z2 由此两点定义一向量 用此向量可求得沿旋转轴的单位向量 用以下平移矩阵可把物体平移使旋转轴通过坐标原点 围绕任意轴的旋转变换 要使旋转轴与z轴重合 可通过以下两步实现 首先 围绕x轴旋转使向量u转到xz平面中 然后围绕y轴旋转使u与z轴重合 首先确定使u转到xz平面所需的旋转角的正弦及余弦值 围绕任意轴的旋转变换 上面已由的各个分量确定了及的值 由此可得到绕x轴的旋转矩阵为 围绕任意轴的旋转变换 下面确定把xz平面中的单位向量围绕轴旋转到正轴的变换矩阵 因此首先确定b的sin和cos值 sinb a cosb d由此可得到绕y轴的旋转矩阵为 围绕任意轴的旋转变换 用上述变换矩阵 可使旋转轴与z轴重合 然后 按给定的旋转角 绕z轴旋转 此旋转矩阵为 为完成绕任意轴的旋转 最后要把旋转轴变换回原来位置 这样 围绕任意轴旋转的变换矩阵可表示为以下七个独立变换的组合 三维几何变换的一般形式 设图形上一点的坐标为P x y z 经过二维几何变换后的坐标为P x y z 变换矩阵一般可写为 即 三维几何变换的一般形式 我们可以得到以下结论 的作用是对点的坐标进行比例 旋转等变换 的作用是对点进行平移变换 7 4 3三维坐标系变换 实现图形变换可采用两种思想 第一种就是在同一个坐标系中实现图形的平移 旋转等变换 变换后的图形与变换前的图形在同一个坐标系中 另一种等效的方法是把变换看成是坐标系的变动 变换前和变换后的图形在不同的坐标系中 三维坐标系变换 假定有两个坐标系Oxyz和 其中在坐标系Oxyz中 的坐标为 分别为三个单位向量 ux uy uz vx vy vz 和 nx ny nz 现在用变换合成的方法将坐标系Oxyz中的图形变换到坐标系中去 见下图 三维坐标系变换 变换步骤如下 平移使落于原点O 变换为 绕x轴旋转角度 x 使n轴落于xOz平面 变换为Rx x 绕y轴旋转角度 y 使n轴与z轴同向且重合 变换为Ry y 绕z轴旋转角度 z 使u轴和x轴同向且重合 变换为Rz z 三维坐标系变换 则变换矩阵为 其实 由线性代数知识可知 从坐标系Oxyz到的正交变换为 所以上述矩阵变换 可以表示为 从三维空间到二维平面 在真实世界里 所有的物体都是三维的 但是 这些三维物体在计算机世界中却必须以二维平面物体的形式表现出来 那么 这些物体是怎样从三维变换到二维的呢 下面我们采用相机 Camera 模拟的方式来讲述这个概念 从三维空间到二维平面 从三维空间到二维平面 就如同用相机拍照一样 通常都要经历以下几个步骤 第一步 将相机置于三角架上 让它对准三维景物第二步 将三维物体放在适当的位置 模型变换 ModelingTransformation 第三步 选择相机镜头并调焦 使三维物体投影在二维胶片上 投影变换 ProjectionTransformation 第四步 决定二维像片的大小 视口变换 ViewportTransformation 视点方向 相机初始方向都指向Z负轴 glFrustum投影函数 这个函数原型为 voidglFrustum GLdoubleleft GLdoubleRight GLdoublebottom GLdoubletop GLdoublenear GLdoublefar 它创建一个透视视景体 其操作是创建一个透视投影矩阵 并且用这个矩阵乘以当前矩阵 这个函数的参数只定义近裁剪平面的左下角点和右上角点的三维空间坐标 即 left bottom near 和 right top near near和far表示离视点的远近 它们总为正值 矩阵函数解释 voidglLoadMatrix fd constTYPE m 设置当前矩阵中的元素值 函数参数 m是一个指向16个元素 m0 m1 m15 的指针 这16个元素就是当前矩阵M中的元素 其排列方式如下 矩阵函数解释 voidglMultMatrix fd constTYPE m 用当前矩阵去乘 m所指定的矩阵 并将结果存放于 m中 当前矩阵可以是用glLoadMatrix 指定的矩阵 也可以是其它矩阵变换函数的综合结果 voidglLoadIdentity void 功能 设置当前操作矩阵为单位矩阵 当前矩阵即为以后图形变换所要使用的矩阵 几何变换函数 当几何变换时 调用OpenGL的三个变换函数glTranslate glRotate glScale 实质上相当于产生了一个平移 旋转和比例矩阵 然后调用glMultMatrix 与当前矩阵相乘 平移函数 平移变换函数如下 voidglTranslate fd TYPEx TYPEy TYPEz 三个函数参数就是目标分别沿三个轴向平移的偏移量 这个函数表示用这三个偏移量生成的矩阵乘以当前矩阵 当参数是 0 0 0 0 0 0 时 表示对函数glTranslate 的操作是单位矩阵 也就是对物体没有影响 旋转函数 旋转变换函数如下 voi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济昆虫产品加工工转正考核试卷及答案
- 智能制造系统集成创新创业项目商业计划书
- 小麦深加工环保技术应用推广创新创业项目商业计划书
- 第一节 机械波的形成和传播教学设计-2023-2024学年高中物理选择性必修第一册沪科版(2020·上海专用)
- 海水捕捞休闲渔业拓展创新创业项目商业计划书
- 电动自行车装配工综合考核试卷及答案
- 第二课 发光二极管电路教学设计-2025-2026学年小学劳动六年级下册粤教版(主编:徐长发)
- 电声器件制造工突发故障应对考核试卷及答案
- 偏(均)三甲苯装置操作工适应性考核试卷及答案
- 服装制作工数字化技能考核试卷及答案
- 大疆80分钟在线测评题
- 财政投资项目评审服务投标方案(技术方案)
- 《新媒体营销》课件-2 直播商品卖点提炼
- 中国冠心病康复循证实践指南(2024版)第一部分
- AQ 1083-2011 煤矿建设安全规范 (正式版)
- FZ∕T 54007-2019 锦纶6弹力丝行业标准
- YB/T 6328-2024 冶金工业建构筑物安全运维技术规范(正式版)
- 2024年江苏省高中学业水平合格性考试数学试卷试题(答案详解1)
- DZ∕T 0148-2014 水文水井地质钻探规程(正式版)
- 膝痹病的中医治疗方案
- Know Before You Go:趣谈“一带一路”国家智慧树知到期末考试答案2024年
评论
0/150
提交评论