第3节 几何变换.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 几何变换 为什么要进行变换 变换类型 模型变换─处理模型(平移、旋转、缩放等) 视图变换─确定视点(照相机或眼睛)的位置以及观察方向 投影变换─定义观察区域,建立裁剪平面 为什么需要模型变换? 图形API提供的建模方法 基于多边形的建模方式 限制:只能使用一些简单基本图元(如点、线段和多边形)构建场景 【例】 模型变换的作用之一 生成图形 【例】绘制雪花 模型变换的作用之二 组合构造场景 模型变换的作用之三 设计者可能需要从不同的角度查看同一个场景 自然的方法是对象不变,变换照相机的位置(视图变换) 照相机固定,变换对象的位置 模型变换的作用之四 在计算机动画中,在相邻帧图像中,几个对象相对彼此的位置进行移动。这可以通过平移和旋转局部坐标系实现 3.1 二维模型变换 平移变换 旋转变换 缩放变换 反射变换 错切变换 复合变换 说明:变换的两种实现方式 坐标系固定,图形变换 图形固定,坐标系变换 3.1.1 二维平移变换 平移指将点沿直线路径从一个坐标位置移到另一个坐标位置的重定位,即 矩阵形式 3.1.2 二维旋转变换 二维旋转将点沿平面内的圆弧路径重定位 需要指定 默认情况下以坐标原点为旋转基准点 旋转角的正值定义基准点逆时针旋转,负值则以顺时针方向旋转点 二维旋转变换矩阵 二维旋转矩阵的推导 点P (x, y)绕坐标原点旋转θ角度 3.1.3 二维缩放变换 缩放变换是指对点的X,Y坐标值进行缩放 缩放变换表达式为 其中, sx,sy称作缩放系数,可取任意正数 矩阵表示 齐次坐标 平移变换 旋转变换 缩放变换 P’ = P+T P’ = R P P’ = S P 齐次坐标 几何变换基础─齐次坐标(homogeneous coordinate) n维向量转换成n+1维 推导齐次坐标下的2D变换矩阵 推导齐次坐标下的2D变换矩阵 3.2 三维几何变换 三维图形的几何变换及其矩阵表示 平移变换 旋转变换 缩放变换 反射变换 错切变换 三维代数空间定义 基底 定理:三维空间中任意矢量可唯一地表示为其基底的线性组合 3.2.1 三维平移变换 三维平移变换矩阵 3.2.2 三维缩放变换 相对于原点进行的缩放变换 3.2.3 三维旋转变换 由旋转轴和旋转角度确定 【例】点 p 绕 Z 轴旋转θ 3.2.3 三维旋转变换 【例】点 p 绕 X 轴旋转θ 【例】点 p 绕 Y 轴旋转θ 3.2.4 三维几何变换的表示 变换前点(x,y,z),变换后(x’,y’,z’) 代数表示 矩阵表示 3.3.1 OpenGL中的矩阵 在OpenGL中矩阵是状态的一部分 有三种类型 模型视图(GL_MODELVIEW) 投影(GL_PROJECTION) 纹理(GL_TEXTURE) 3.3.2 OpenGL中的模型变换 平移变换 glTranslated( GLdouble x, GLdouble y, GLdouble z); glTranslatef( GLfloat x, GLfloat y, GLfloat z); 缩放变换 glScaled/f 旋转变换 glRotated/f 3.4 其它变换──反射变换 是产生物体镜象的一种变换,也称为对称变换 变换的一般形式 3.4 其它变换──错切变换 保持图形上各点的某一坐标值不变,而另一坐标值关于该坐标值呈线性变化 3.4 其它变换──复合变换 由其它变换组合实现的变换 如:关于任意点的旋转由平移、绕原点的旋转及平移变换合成得到 一种非常有效的构造变换的方式 复合变换的数学表达等同于矩阵乘法 利用矩阵乘法结合率可带来计算效率的改进 注意:矩阵复合顺序 从简单转换建立任意转换矩阵 绕任意基准点的旋转变换 指定缩放固定点的缩放变换 绕任意基准点的2D旋转变换 设旋转基准点为p(x0,y0) 指定缩放固定点的缩放变换 缩放固定点:缩放后不改变位置的点,记为 图元绘制函数 glBegin(GLenum mode) …… glVertex3f(x,y,z); …… glEnd() GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLE GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_PLOYGON 甲 乙 图形定义 空间:屏幕 ? 光栅图形 工程师绘图 ? p (x, y) p (x, y) X Y (其中,tx,ty称作平移向量) r r r r p (x, y) p (x, y) X Y S=(sx,sy)T称作缩放矩阵 把平移变换转换 成矩阵乘法运算 转换方法─ Xw Xw Zw ? ?

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档