《二维图形观察与变换》由会员分享,可在线阅读,更多相关《二维图形观察与变换(28页珍藏版)》请在金锄头文库上搜索。
1、二维图形观察与变换,图形观察和变换,图形变换和观察是计算机图形学的基础内容之一。 图形变换是图形显示过程中不可缺少的一个环节。 通过图形变换可由简单图形生成复杂图形; 变换是描述图形的有力工具,可改变和管理各种图形的显示。例如: 通过调整组成部分的方向和大小来实现设计和设施布局; 动画则通过沿动画路径移动“照相机”或场景中的对象而产生; 在方向、尺寸和形状方面的变化是用改变对象坐标描述的几何变换来完成。 图形观察是通过指定一个图形中要显示的部分以及在显示器显示位置,并执行从世界坐标系到设备坐标系的图形变换及删除位于显示区域范围以外的图形部分而实现的。,图形几何变换 基本几何变换 变换矩阵表示
2、其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,平移是指:将物体沿直线路径从一个坐标位置到另一个坐标位置重定位。 给原始坐标位置(x,y)加上平移距离tx和ty来实现到新位置(x1,y1)的移动: x1 =x+tx, y1 =y+ty。 (tx,ty)称为平移向量或转换向量。 平移的矩阵方程: P1 =P+T T=(tx,ty)T, P =(x,y)T, P1 =(x1,y1)T,基本几何变换:平移,图形几何变换 基本几何变换 平移变换 平移变换特性 旋转变换 旋转变换特性 缩放变换 缩放变换特性 变换矩阵表示 其它变换表示 二维图形观察 二维观察流程 观察坐标系
3、 视区定义 二维观察变换,平移的特性,平移是不产生变形而移动物体的刚体变换,物体上的每个点移动相同的坐标。 直线的平移是将平移方程加到线的每个端点上; 多边形的平移是将平移向量加到每个顶点的坐标; 曲线可用同样方法来平移: 为了改变圆或椭圆的位置,可以平移中心坐标并在新中心位置重画图形; 通过替代定义曲线的坐标位置,而后用平移过的坐标点来重构曲线路径来实现其它曲线的平移。,图形几何变换 基本几何变换 平移变换 平移变换特性 旋转变换 旋转变换特性 缩放变换 缩放变换特性 变换矩阵表示 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,二维旋转是将物体沿xy平面内的圆
4、弧路径重定位。 指定物体旋转的旋转点(或基准点)的位置(xr,yr)和旋转角(逆时针旋转时旋转角为正) 。 或:描述为绕通过基准点、垂直于xy平面的旋转轴旋转。 当基准点为坐标原点时,变换方程: x1=xcos-ysin, y1=xsin+ycos。 方程的列向量矩阵为:P1=RP旋转矩阵为:,基本几何变换:旋转,变换也可表示为行坐标向量矩阵: P1T=(R P)PR。 旋转矩阵R的转置R可通过交换行和列而得到; 旋转矩阵R的置换则可简单地改变sin项符号而得到。,图形几何变换 基本几何变换 平移变换 平移变换特性 旋转变换 旋转变换特性 缩放变换 缩放变换特性 变换矩阵表示 其它变换表示 二
5、维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,旋转变换的特性,点绕任意基准位置旋转的变换方程:x1=xr+(x- xr)cos-(y- yr)siny1=yr+(x- xr)sin+(y- yr)cos 这个通用旋转方程不同于绕原点旋转方程之处在于:包括一个加项(平移项)以及坐标值上的多重系数。 旋转也是一种不变形地移动物体的刚体变换,物体上的所有点旋转相同的角度: 直线段旋转是将每个线端点; 多边形的旋转则是将每个顶点旋转指定的旋转角; 曲线的旋转则是旋转控制取样点。,图形几何变换 基本几何变换 平移变换 平移变换特性 旋转变换 旋转变换特性 缩放变换 缩放变换特性 变换矩阵
6、表示 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,基本几何变换:缩放,缩放变换改变物体的尺寸。该操作施加于多边形。 通过将每个顶点坐标值(x,y)乘以缩放系数sx和sy,产生变换的坐标(x1,y1):x1=xsx,y1ysy。 缩放系数sx在x方向对物体缩放,sy在y方向缩放。 相对于原点的缩放矩阵形式:P1SP缩放矩阵:,缩放系数sx和sy可赋予任何正数。 小于1缩小物体的尺寸; 大于1则放大物体; 当sx和sy值相同时,产生一致缩放; sx和sy值不等时产生差值缩放。 用缩放方程变换的物体既被缩放,又被重定位。 当缩放系数值大于1时则将坐标位置远离原点。,
7、图形几何变换 基本几何变换 平移变换 平移变换特性 旋转变换 旋转变换特性 缩放变换 缩放变换特性 变换矩阵表示 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,缩放变换的特性,可选择一个在缩放变换后不改变位置的点(固定点)来控制缩放物体的位置。 固定点的坐标(xf,yf)可以选择顶点之一、物体中点或任何其它位置。 多边形通过缩放每个顶点到固定点的距离而相对于固定点缩放。坐标为(x,y)的顶点缩放后坐标(x1,y1)为: x1=xsx+xf(1-sx); y1=ysy+yf(1-sy); 其中:加法项xf(1-sx)和yf(1-sy)对物体中的任何点都是常数。 可
8、此常数项的列向量,而后将这个列向量加到相对原点缩放方程中的乘积SP上。 多边形的缩放可将变换应用于每个顶点。 其它物体变换则将缩放变换方程加到定义物体的参数。,图形几何变换 基本几何变换 平移变换 平移变换特性 旋转变换 旋转变换特性 缩放变换 缩放变换特性 变换矩阵表示 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,变换的矩阵表示,每个基本变换都可表示为普通矩阵形式: P1M1PM2。 坐标位置P1和P表示为列向量; 矩阵M1是一包含乘法系数的22矩阵; M2是包含平移项的两元素列矩阵。 对平移,M1是单位矩阵; 对旋转或缩放,M2包含与基准点或固定点相关的平
9、移项。 利用这个方程产生先缩放再旋转后平移的变换顺序,必须每次一步地计算变换的坐标。,图形几何变换 基本几何变换 变换矩阵表示 齐次坐标表示 变换矩阵表示 复合变换 变换模式 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,几何变换的齐次坐标,更有效的方法是将变换组合,使最后的坐标位置直接从初始坐标得到,消除中间坐标值的计算。 这就需消除M2中与平移项相关的矩阵加法。 扩充坐标的齐次坐标矩阵表示可将变换过程表示为矩阵乘法。 齐次坐标表示法就是用n+1维表示n维。 对二维变换: 可用齐次坐标三元组(xh,yh,h)来表示每个笛卡尔坐标位置(x,y)。 其中:x=xh
10、/h,y=yh/h,也可写为(hx,hy,h)。 齐次参数h可取为任何非零值,每个坐标点(x,y)可有无数个等价齐次表达。最方便的选择是设置h=1。 即:每个二维位置都可用齐次坐标(x,y,1)来表示。参数h的其它值也是需要的。,图形几何变换 基本几何变换 变换矩阵表示 齐次坐标表示 变换矩阵表示 复合变换 变换模式 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,变换的齐次坐标矩阵表示,在齐次坐标中所表示的位置允许将所有几何变换方程表示为矩阵乘法: 坐标可表示为三元素列向量,变换写成33矩阵。,绕坐标原点的旋转变换可写为: P1=R()P,R()是旋转矩阵; 当
11、用-替换时就得到其逆矩阵。,相对于坐标原点的缩放变换表示为: P1=S(sx,sy)P,S(sx,sy)是缩放矩阵; 用倒数1/sx和1/sy代替sx和sy就产生其逆矩阵。,平移矩阵,旋转矩阵,缩放矩阵,平移变换可表示为: P1=T(tx,ty)P,T(tx,ty)为平移矩阵。 平移矩阵的逆矩阵:用平移参数tx,ty的负值-tx,-ty来代替原值。,图形几何变换 基本几何变换 变换矩阵表示 齐次坐标表示 变换矩阵表示 复合变换 变换模式 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,复合变换,矩阵的合并或复合:利用矩阵表示,通过计算单个变换矩阵的乘积,将任意顺序
12、变换的矩阵建立为复合变换矩阵。 对于坐标位置的列矩阵表示,以从右向左的次序进行矩阵乘而形成复合变换,来计算一系列变换的结果。 即:每个随后的变换矩阵左乘前面的变换矩阵。 复合平移:P1T(txn,tyn) T(tx2,ty2) T(tx1,ty1)P 复合旋转:P1R(n) R(2) R(1) P 复合缩放:P1S(sxn,syn) S(sx2,sy2) S(sx1,sy1)P 复合变换:先缩放后平移再旋转:P1R(n) T(txn,tyn) S(sxn,syn)P 注意:矩阵乘法不满足交换率:M1M2M2M1,所以变换的结果和变换执行的顺序有关。只有在两个变换类型相同,或两者分别是一致缩放与
13、旋转变换时,两者可以交换。,图形几何变换 基本几何变换 变换矩阵表示 齐次坐标表示 变换矩阵表示 复合变换 变换模式 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,变换模式,固定坐标系变换模式 连续变换的变换矩阵合成时,先调用的变换放在连乘式的右边,后调用的变换放在连乘式的左边。 特点:在连续执行几次变换时,每一次变换均可看成是相对于原始(固定)坐标系进行。 最后的结果描述是在原始坐标系(全局)中的坐标位置。,活动坐标系变换模式 连续变换的变换矩阵的合成时,先调用的变换放在连乘式的左边,后调用的变换放在连乘式的右边。 特点:在连续执行几次变换时,每一次变换均可看
14、成是在前一次变换形成的新的坐标系中进行。 最后的结果描述是在最后形成的坐标系(局部)中的坐标位置。,不同的应用要求有不同的变换模式。,图形几何变换 基本几何变换 变换矩阵表示 齐次坐标表示 变换矩阵表示 复合变换 变换模式 其它变换表示 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,其它变换:对称 (反射)变换,反射 (对称)变换是产生物体的镜像的一种变换。 相对反射(对称)轴的一维反射镜像是通过将物体绕反射(对称)轴旋转180度而生成的。 在xy平面内或垂直于xy平面选择反射轴: 反射轴是在xy平面内的一条线时,绕这个轴的旋转路径在垂直于xy平面的平面中; 垂直于xy平面的
15、反射(对称)轴,旋转路径在xy平面内。,图形几何变换 基本几何变换 变换矩阵表示 其它变换表示 反射变换 任意反射变换 错切变换 仿射变换 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,任意对称 (反射)变换,关于xy平面内任意线y=mx+b的反射可用平移-旋转-反射变换的组合来完成: 平移反射轴使其经过原点;将反射轴旋转到坐标轴之一上,且进行关于坐标轴反射;利用逆旋转和平移变换将线置回原处。,关于坐标轴或坐标原点的反射可处理为缩放系数为负值的缩放变换。 反射矩阵的元素也可设置为1以外的其它值:大于1的值将镜像移至远离反射轴;小于1的值将镜像接近反射轴。,y=mx+b,图形几何变换 基本几何变换 变换矩阵表示 其它变换表示 反射变换 任意反射变换 错切变换 仿射变换 二维图形观察 二维观察流程 观察坐标系 视区定义 二维观察变换,其它变换:错切变换,错切会使物体形状发生变化的变换,经过错切的物体好象是由已经相互滑动的内部夹层组成。常用错切变换有两种:改变x坐标值和改变y坐标值。 相对x轴的x方向错切将坐标位置转换成:x1x+shxy,y1y。 坐标位置(x,y)水平地移动一个与它到x轴距离(y值)成shx比例的量;shx为负,坐标位置向左移动。,