第六讲-图形变换课件.ppt
第六讲图形变换图形变换是计算机图形学的基础内容。有二维(三维)图形的平移、旋转、变比、对称等变换,三维图形的投影透视变换等。本讲主要内容图形变换的数学基础二维图形的基本变换、复合(组合)变换;三维图形基本变换、复合(组合)变换;变换的数学基础图形变换是计算机图形学的基本内容之一,是图形显示过程中必不可少的一个环节,通过图形变换可以把简单的图形生成复杂的图形,变换本身也是描述图形的有力工具。图形变换是指对图形的几何信息经过几何变换后产生新的图形。图形变换可以看作是坐标系不动而图形变动,变动后的图形坐标系中的坐标值发生变化;也可以看作是图形不动而坐标系发生变化。图形变换的数学基础矢量运算矩阵运算矩阵单位矩阵逆矩阵转置矩阵行列式上机编程,实现两个矩阵相乘特别注意:矩阵相乘不适合交换律变换的数学基础变换的数学基础(1/4)矢量矢量矢量具有方向和大小两个参数,可以表示为一个n元组,通过坐标系对应n维空间的一个点。例如,二维矢量(x,y)或三维矢量(x,y,z)可分别用来表示空间中的二维点或三维点。设有两个矢量U(x,y,z)和V(x,y,x):矢量和矢量和变换的数学基础变换的数学基础(2/4)矢量的数乘矢量的数乘矢量的点积矢量的点积性质性质变换的数学基础变换的数学基础(3/4)矢量的长度矢量的长度单位矢量单位矢量矢量的夹角矢量的夹角矢量的叉积矢量的叉积=(uyvz-vyuz,uzvx-vzux,uxvy-vxuy)叉积的性质:UxV=-VxUA(BxC)=AxB+AxC变换的数学基础变换的数学基础(4/4)矩阵矩阵(1)阶矩阵阶矩阵mxn阶的矩阵阶的矩阵A定义为定义为(2)矩阵的加法矩阵的加法设为两个阶数相同的矩阵,其加法定义为:数乘矩阵数乘矩阵用数k乘矩阵A的每一个元素而得到的矩阵叫做k与A之积,记做kA或者Ak均可矩阵的乘法矩阵的乘法矩阵A的列数与B的行数相同时,可对它们做乘法,如下:则C为一个m行p列的矩阵,且矩阵的乘法满足结合律,即:矩阵的乘法和加法还满足分配律:单位矩阵单位矩阵在一矩阵中,其主对角线各元素为1,其余各元素均为零的矩阵叫作单位矩阵:对于任一矩阵A,有转置矩阵转置矩阵把矩阵的行,列互换而得到的n行m列矩阵叫做A的转置矩阵。转置矩阵具有一下几条基本性质:矩阵的逆矩阵的逆n阶矩阵成为可逆的,若存在另一个n阶矩阵B,使得ABBA=I,此时称B为A的逆矩阵,记为A可逆则称为为非奇异矩阵,否则称A为奇异矩阵。由于A与B处于对称的地位,所以A为非奇异矩阵时,其逆B也非奇异,即是说A与B互逆.矩阵运算的基本性质矩阵运算的基本性质:1.加法交换律和结合律:A+B=B+A(A+B)+C=A+(B+C)2.数乘矩阵的分配律和结合律:3.矩阵乘法结合律与分配律:4.一般地,距阵的乘法不适合交换律:原因:(1).当A,B可以相乘时,如果A,B不为方阵,那么B,A不能相乘。(2).即使A,B都是n阶方阵,在一般情况下AB与BA仍然不相等。例如:齐次坐标用n+1维向量表示n维向量齐次坐标技术是从几何学中发展起来的。齐次坐标的表示在投影几何中常作为一种证明定理的工具。有时在n维空间中较难解决的问题,交换到n1空间中就比较容易得到问题的解答。通过将齐次坐标技术应用到计算机图形学中,图形的变换可以转换为表示图形的点集矩阵与某一变换兆进行矩阵相乘这单一问题,因而可以借助计算机的高速计算功能,很快得到变换后的图形,从而为高动态的计算机图形显示提供了可能性。所谓点的齐次坐标系就是n维向量由n+1维向量来表示。n维空间中点的位置向量用非齐次坐标表示时,具有n个坐标分量(P1,P2,,Pn),且是唯一的。若用齐次坐标表示时,此向量又n1个坐标分量表示,且表示不唯一,即是形成了一对n的关系:齐次坐标例如齐次坐标(8,4,4)、(4,2,2)、(2,1,1)都表示二维点(2,1)。齐次坐标规范化齐次坐标表示就是h1的齐次坐标表示。如何从齐次坐标转换到规范化齐次坐标?n维向量的齐次坐标:转换为:这就完成了到规范化齐次坐标表示的表示。此时,前面的几项才表示点的实际物理坐标值。齐次坐标的优越性齐次坐标的优越性(1).提供了用矩阵运算把二维,三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。在定义了规范化齐次坐标系后,图形变换可以表示为图形点集的规范化齐次坐标矩阵与某一变换矩阵进行矩阵相乘的形式。(2).可以表示无穷远点。例如:n1维中,h0的齐次坐标实际上表示了一个n维的无穷远点。图形几何变换基本原理:按某种规律,改变图形的形状、大小、位置等方法:坐标系不动,图形变动后坐标值变化;坐标系变化后图形在新坐标系中的新值。图形变换的特点图形变换的特点 图形变换就是改变图形的几何关系,即改变图形顶点的坐标,但图形的拓扑关系不变。最基本的图形变换可以分别用矩阵形式表示为:平移变换PPTmTmMxMyMx、My分别为X方向和Y方向的平移量。比例变换PPTsSx00SySx、Sy分别表示比例因子。旋转变换PPTrcossin-sincos0时为逆时针旋转0时为顺时针旋转TsTr齐次坐标齐次坐标 从形式上来说,用一个有n+1个分量的向量去表示一个有n个分量的向量的方法称为齐次坐标表示。例如二维平面上的点(x,y)的齐次坐标表示为(hx,hy,h),h是任一不为0的比例系数。给定一个点的齐次坐标表示:(x,y,h),该点的二维笛卡儿直角坐标:(x/h,y/h)。同样,对于一个三维空间的向量(x,y,z),它在四维空间中对应的向量即齐次坐标为(xh,yh,zh,h),其中h0。齐次坐标的概念可以推广到n维空间的向量。齐次坐标的表示不是唯一的,通常当h=1时,称为规格化齐次坐标规格化齐次坐标。为什么需要齐次坐标?为什么需要齐次坐标?多个变换作用于多个目标多个变换作用于多个目标变换合成变换合成变换合成的问题变换合成的问题引入齐次坐标引入齐次坐标变换的表示法统一变换的表示法统一齐次坐标表示的优点:齐次坐标表示的优点:可方便地用变换矩阵实现对图形的变换;可方便地用变换矩阵实现对图形的变换;齐次坐标表示法可以表达无穷远点。齐次坐标表示法可以表达无穷远点。二维基本几何变换点的变换:恒等变换平移变换比例变换旋转变换对称变换错切变换平移变换平移变换平移是一种不产生变形而移动的刚体变换平移是一种不产生变形而移动的刚体变换只改变图形的位置,不改变图形的大小和形状只改变图形的位置,不改变图形的大小和形状二维:将图形对象从一个位置二维:将图形对象从一个位置(x,y)移到另一个位置移到另一个位置(x,y)的变换。的变换。对于一个点(X,Y)其齐次坐标为X,Y,1,它进行平移即是指它处在坐标系中的位置发生变化,而大小和形状不变。变换后坐标为(X,Y),有X=X+Tx,Y=Y+Ty,因而其变换可以表示为:平移变换如左图所示平移变换平移变换(x,y)(x,y)(dx,dy)xyd yydxxy x+=+=P=PT10 0 01 0 dxdy1T(dx,dy)=平移矩阵可见,由于采用了齐次坐标表示法,使得平移变换的处理有原本的加法变为矩阵乘法,从而与其余四种几何变换的运算方式相统一。比例变换比例变换sx000sy 0001T(sx,sy)=基本的比例变换是指图形相对于坐标原点,按比例系数(Sx,Sy)放大或缩小的变换。假定点P相对于坐标原点沿X方向放缩Sx倍,沿Y方向放缩Sy倍,其中Sx,Sy称为比例系数,则变换后的坐标值分别为:x=xSx,y=ySy。构造比例矩阵T:得到比例变换的矩阵运算表示为:则有P=PT比例变换比例变换比例变换有以下几种情况:(1)当Sx=Sy时,图形为均匀缩放。若Sx=Sy=1,图形不变,称为恒等变换;若Sx=Sy1(或(),图形均匀放大(缩小),称为等比例变换。(2)当SxSy时,图形眼坐标轴方向作非均匀缩放,会放生变形(如圆变成椭圆等)。(3)当Sx0或Sy1,物体被拉伸if0sx,sy 1,物体被压缩ifsx,sy 0,则沿X轴正方向错切;若cy0,则沿Y轴正方向错切;若by0,则沿Y轴负方向错切。变换矩阵的功能区分变换矩阵的功能区分 一般形式:abcdefghiP=PT2D二维变换矩阵中:abdegh是对图形进行平移变换。i是整体比例变换。xy1=xy1是对图形进行比例、旋转、对称、错切变换。二维复合变换(组合变换)复合变换是指对图形进行一次以上的变换,变换的结复合变换是指对图形进行一次以上的变换,变换的结果是每次的变换矩阵相乘。任何一组变换都可以表示果是每次的变换矩阵相乘。任何一组变换都可以表示成一个复合变换矩阵,只需要计算每一个单独变换矩成一个复合变换矩阵,只需要计算每一个单独变换矩阵,并求解出乘积;从另一个方面讲,任何一个复杂阵,并求解出乘积;从另一个方面讲,任何一个复杂的几何变换都可以看作基本几何变换的组合形式,也的几何变换都可以看作基本几何变换的组合形式,也叫复合变换叫复合变换一般情况下,当我们需要对一个图形对象进行较复一般情况下,当我们需要对一个图形对象进行较复杂的变换时,我们并不直接去计算这个变换,而是首杂的变换时,我们并不直接去计算这个变换,而是首先将其分解成多个基本变换,再依次用它们作用于图先将其分解成多个基本变换,再依次用它们作用于图形。这种变换分解,再合成的办法看起来有些麻烦,形。这种变换分解,再合成的办法看起来有些麻烦,但是对用户来说更直接,更容易想象。但是对用户来说更直接,更容易想象。二维复合变换(组合变换)任何一复杂的几何变换可以看成基本集合变换的组合,同样具有P=PT形式形式:P=PT=PT1T2Tn复合平移复合平移复合比例复合比例复合旋转复合旋转其他常见复合变换其他常见复合变换相对于某个参考点的几何变换(比例、旋转等)相对于某个参考点的几何变换(比例、旋转等)相对于某直线的几何变换(对称等)相对于某直线的几何变换(对称等)1.二维复合平移变换二维复合平移变换复合平移,是指图形经过两次或以上次的平移。下面是p点经过两次连续的平移变换后,其变换矩阵如下:由矩阵可以看出,连续平移具有可加性。2.二维复合旋转变换二维复合旋转变换p点经过两个或以上连续旋转变换,下面是连续两次旋转变换的复合变换的计算矩阵:由上面的计算公式,我们可以看到图形进行连续旋转变换,则它们具有可加性。3.二维复合比例变换二维复合比例变换p点经过两个连续比例变换后,产生如下的复合变换:由上面的复合比例变换计算矩阵可以看到:比例变换具有可乘性。在进行复合变换时,通常把复合变换分解成几个简单的几何变换,表示成几个矩阵相乘的形式,因此需要注意矩阵相乘的顺序。由于矩阵乘法不满足交换律,所以在复合几何变换中,矩阵相乘的顺序不可以交换。但是,在一些特殊情况下,可以满足矩阵交换律,如两次连续的平移变换,两次连续的比例变换,两次连续的旋转变换等等;另外,旋转和等比例变换也是可以交换的。4.关于任意参照点的几何变换关于任意参照点的几何变换比例、旋转变换都与参考点有关。前面所讨论的各种变换都是以原点为参考点。若对XY平面内的任意参考点(xr,yr)作比例、旋转等几何变换,其变换过程为:(1)平移,即将该参考点(xr,yr)移到坐标原点处;(2)针对坐标原点(新)进行比例、旋转等几何变换(3)作(1)的逆变换,即将参考点(xr,yr)移回原来的位置例:求点P(x,y)相对任意点M(xr,yr)作比例变换的矩阵。其中比例系数为(sx,sy)。xqP(x,y)P(x,y)M=(xx,yy)y(1)平移坐标系XOY,使坐标系原点与任意点M重合。平移矩阵T1为:点P在新坐标系下相应的坐标点为P,且P=PT1(2)基本的比例变换:在新坐标系下,使点P相对于M点进行比例变换。比例矩阵T2为:点P经比例变换后变为P,且P=PT2(3)反平移:使坐标系回到原来位置。平移矩阵T3为:点P经过反平移变换后变为P,且P=PT3,此时P就是点P(x,y)相对任意点M(x,y)做比例变换所得到的最终坐标点。由上可知,P=PT3=(PT2)T3=(PT1)T2)T3=P(T1T2T3)T=T1T2T3=相对于某直线的几何变换(对称等)相对于某直线的几何变换(对称等)前面介绍的5中基本对称变换只能相对于坐标轴、原点、45。线进行对称变换。如相对平面内任意一条直线进行对称变换,其步骤如下:步骤平移该对称直线到原点(经过);旋转角度到与坐标轴(X轴或Y轴)重合;对变换对象进行对称变换;反向旋转到原来方向;反平移到原来位置。关于任意轴的对称变换关于任意轴的对称变换二维图形的显示流程图二维图形的显示流程图二维图形的显示流程图二维图形的显示流程图首先,在用户坐标系中生成图形;接着,将用户坐标系下的图形描述变换到观察坐标系下,即是进行坐标系间的变换;然后,在观察坐标系下对窗口进行裁减;其次,裁减之后进行窗口到视区的变换,也就是观察坐标系中描述的窗口内容变换到规格化设备坐标系的视区中;最后,将视区中的图形内容变换到设备坐标系中进行显示。1.窗口与视区窗口与视区计算机图形学中的窗口窗口是用户坐标系中需要进行观察和处理的一个坐标区域。视区视区是指将窗口映射到显示设备上的坐标区域。窗口是在用户坐标系中定义的,它定义了要显示的内容;而视区是在设备坐标系中定义的,也就是说是在屏幕坐标系中定义的,它定义了在什么地方显示。通常的窗口和视区都取为边与坐标轴平行的矩形。当然也可以取为其他形状,但是处理会变得复杂点。窗口和视区分别处于不同的坐标系内,它们所用的长度单位、大小、位置等都不相同。因此,要将窗口内的图形在视区内显示出来,必须经过将窗口到视区的变换处理(Window-ViewportTransformation),这种变换称为观察变换(ViewingTransformation)2.用户坐标系和观察坐标系用户坐标系和观察坐标系计算机本身只能处理数字,图形在计算机内部也是以数字的形式进行存储和处理的。而坐标系建立了图形与数之间的联系。为了使被显示的图形对象数字化,用户需要在图形对象所在的空间定义一个坐标系。这个坐标系的长度单位和坐标轴方向要便于对象的描述,这个坐标系称为世界坐标系世界坐标系(WC),也叫做用户坐用户坐标系。标系。观察坐标系观察坐标系(VC)是依据窗口的方向和形状在用户坐标平面中定义的直角坐标系;计算机对图形对象进行了必要的处理之后,要将它在图形显示器或者绘图纸上绘制出来,这就要在显示屏幕上或绘图纸上定义一个坐标系,这个坐标系叫做屏幕坐标系或者设备坐标系设备坐标系(DC)。窗口区到视图区的变换实际的窗口区与视图区的大小不一样,要在视图区正确地显示形体的,必须将其从窗口区变换到视图区。变换的求法:分解与合成变换的求法:分解与合成1)窗口区的边与坐标轴平行2)窗口区的边与坐标轴不平行变换公式(P28)三维图形变换三维图形变换坐标系右手法则拇指指向坐标轴Z的方向,其余四指指向旋转方向 YZX0逆时针为正三维图形变换三维图形变换三维空间点的齐次坐标矩阵(xyz1)xyz1=xyz1T三维图形变换三维图形变换三维变换矩阵可表示为:abcpdefqghirlmns其中:abcdef产生比例、错切、镜象和旋转等基本变换。ghilmn产生沿x、y、z三轴方向上的平移变换。pq产生透视变换。rs产生等比例缩放变换。T=三维图形变换中要注意注意的几个问题:1.(三维)采用 s s 来实现整体的比例整体的比例变换。当|s|1 时,三维图形整体等比例缩小。2.(三维)对称对称变换是相对于各个坐标平面相对于各个坐标平面进行的。3.(三维)旋转旋转变换是指绕坐标轴绕坐标轴的旋转。右手坐标系下,绕坐标轴逆时针为正 顺时针旋转为负。4.三维图形的级联(组合)变换 对于复杂的三维图形变换,也需要通过若干个变换矩阵的级联才能实现。特别注意:变换的方法变换的方法和矩阵级联的顺序。矩阵级联的顺序。三维几何变换三维几何变换平移变换平移变换(相对于原点)比例变换(相对于原点)比例变换=1000000000000zyxsss(),zyxsssS三维几何变换三维几何变换对称变换对称变换只考虑关于坐标平面的对称变换关于xy平面对称关于yz平面对称关于xz平面对称=1000000000000-111=100000000000011-1=10000000000001-11错切变换变换矩阵为:三维错切变换矩阵:1bc0d1f0gh100001其中:b=c=f=h=0,沿X方向产生错切T=三维几何变换三维几何变换旋转变换旋转变换需要指定旋转角度和旋转轴需要指定旋转角度和旋转轴.yxzrotationaxis(x,y,z)(x,y,z)三维几何变换三维几何变换旋转变换旋转变换绕绕x轴轴(x,y,z)(x,y,z)xyz三维几何变换三维几何变换旋转变换旋转变换绕绕y轴轴(x,y,z)(x,y,z)xyz三维几何变换三维几何变换绕绕z轴轴xz(x,y,z)(x,y,z)几点说明几点说明1)平移变换只改变图形的位置,不改变图形的大小和形状;平移变换只改变图形的位置,不改变图形的大小和形状;2)旋旋转转变变换换保保持持图图形形各各部部分分间间的的线线性性关关系系和和角角度度关关系系,变变换换后后直直线的长度不变;线的长度不变;3)比例变换可改变图形的大小和形状;)比例变换可改变图形的大小和形状;4)错切变换引起图形角度关系的改变,甚至导致图形发生崎变;)错切变换引起图形角度关系的改变,甚至导致图形发生崎变;5)拓扑不变的几何变换不改变图形的连续关系和平行关系;拓扑不变的几何变换不改变图形的连续关系和平行关系;三维复合变换实际的图形对象的变换往往是由多个简单变换复合而来。将相关的简单变换的变换矩阵乘起来就可得到复合变换的变换矩阵。例:求基于参考点(xf,yf,zf)的比例变换,变换方法步骤:1)通过平移变换将参考点移到原点,使原点与参考点重合;2)相对于原点进行比例变换;3)通过平移变换将参考点移原来位置;绕空间任意轴的三维旋转变换。例:有空间任意轴AB(用点A:xA,yA,zA,方向数a,b,c表示),现有空间点P(x,y,z)绕AB轴旋转角后为P(x,y,z),求该变换矩阵。方法步骤:1)平移AB轴与原点重合;2)AB绕X轴旋转角,使之落到ZX平面上;3)将AB绕Y轴旋转角,使之与Z轴重合;4)此时AB与Z轴重合,绕Z轴旋转角;5)绕X轴反旋转-角;6)绕X轴反旋转-角;7)反平移。预备知识:方向数与各坐标轴、坐标平面的关系(夹角、投影等)B点的方向数为(2,3,4)YXZ绕X轴旋转角;绕Y轴旋转角。PPT(全名:PowerPoint)是美国微软公司出品的办公软件系列重要组件之一(另外还有Excel、Word等);最常用的就是用来制作幻灯片。MicrosoftOfficePowerPoint 是一种演示文稿图形程序,该软件是功能强大的演示文稿制作软件;可协助用户独自或联机创建永恒的视觉效果;它增强了多媒体支持功能,利用该软件制作的文稿,可以通过不同的方式播放,也可将演示文稿打印成一页一页的幻灯片,使用幻灯片机或投影仪播放,可以将演示文稿保存到光盘中以进行分发,并可在幻灯片放映过程中播放音频流或视项目列表;新增项目;修改项目;删除项目;项目授权;项目任务统计;项目资源管理;项目进度管理;项目任务包管理;项目文档管理;项目费用管理;项目归档;项目查询;当前任务;项目统计分析。4.库存管理掌握库存的动态流动状况,减少库存资金的占用,加强资金的合理使用。选择“库存管理”模块后,在主菜单下将出现库存资料维护、入库、出库、库存查询、仓库资料维护、业务类型维护、货物单位资料维护几个子菜单。左方出现“存货管理”模块的树状结构的库存分类信息。右边会出现库存列表,当没有选择库存分类的时候,库存资料列表将显示所有库存项目,按录入时间排序;在选择某个分类的时候,将显示该分类下的库存列表,库存列表会把当前的库存数量显示出来,点击某库存的链接将显示库存项目的详细信息。此模块包含以下主要功能:新增分类;修改分类;删除分类;新增存货项目;修改存货资料;删除存货资料;库存查询;入库登记;出库登记;查询存货收发记录;仓库资料维护;业务类型资料维护;货物单位资料维护。=原文出自【比特网】,转载请保留原文链接:http:/