ch05图形变换2012_第1页
ch05图形变换2012_第2页
ch05图形变换2012_第3页
ch05图形变换2012_第4页
ch05图形变换2012_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章:几何变换主要内容介绍 二维几何变换 三维几何变换平移变换、缩放变换、旋转变换、对称变换、错切变换。平移变换、放缩变换、旋转变换、对称变换、错切变换。图形变换图形变换是计算机图形学基础内容之一。几何变换,投影变换,视窗变换线性变换,属性不变,拓扑关系不变。作用: 把用户坐标系与设备坐标系联系起来; 可由简单图形生成复杂图形; 可用二维图形表示三维形体; 动态显示。二维几何变换5.1 基本二维几何变换二维几何变换 如何对二维图形进行方向、尺寸和形状方面的变换 如何方便地实现在显示设备上对二维图形进行观察5.1.1平移目的是将一个点P(x,y)变换到一个新的位置P(x,y)方法是将位移量加到

2、点P的坐标上生成一个新的点 P的坐标设原始点坐标为(x,y),新的点坐标为(x,y),则平移距离为tx=x-x,ty=y-y称(tx,ty)为平移向量或位移向量此时x=x+tx, y=y+ty记P=(x,y) ,P=(x,y),T=(tx,ty)则平移方程为P=P+TPPTxy二维几何变换2468x1234567(1,1)y24681234567xy(5,4)例:使用平移向量(4,3)对多边形平移二维几何变换5.1.2 旋转变换基本二维旋转是指将p点绕坐标原点原点转动某个角度(逆时针为正,顺时针为负)得到新的点p的重定位过程。ppyx旋转变换旋转变换二维几何变换(x,y)(x,y)cos()c

3、os cossin sincossinsin()sin coscos sinsincosxxyyxy 注意:是逆时针旋转角度。sincosyx5.1.2 旋转变换二维几何变换yxyxcossinsincos写成矩阵表达的形式为:24682468=30o例:使用旋转变换将多边形绕原点旋转30o5.1.2 旋转变换二维几何变换旋转后的多边形旋转前的多边形问题:若多边形不是绕原点而是绕任意给定的点旋转,变换是什么?5.1.2 旋转变换二维几何变换设空间一图形绕给定的点(xr,yr)旋转角度,此时(x,y)(x,y)(xr,yr) 1 (sincosrryyxxsincoscossin)sin(sin

4、sincoscos)cos(rrrryyyxxx将(1)式代入得cos)(sin)(sin)(cos)(rrrrrryyxxyyyyxxxx-4-224-224(-1,-2)=60o例:使用旋转变换将多边形(蓝色)绕(-1,-2)点旋转60o所得的多边形(红色)5.1.2 旋转变换二维几何变换5.1.3 缩放变换二维几何变换基本缩放变换是指对p点相对于坐标原点原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为缩放系数缩放系数。p(2,1)xy比例变换(Sx=2, Sy=3)p(4,3)此时:ySyxSxyxyxSSyxyx00即:注:Sx1表示沿x方向放大Sx倍, Sx1缩小缩小s

5、x=sysysx0:图形沿+x方向作错切位移。ABCDA1B1C1D1当b0:图形沿+y方向作错切位移。 当d1,则总体缩小;否则,总体放大。1000100011yxsyx几何变换均可表示成几何变换均可表示成P=T P的形式的形式 1. 点的变换2. 直线的变换3. 多边形的变换4. 曲线的变换5.6 二维图形几何变换的计算二维几何变换5. 7 复合变换复合变换又称级联变换,指对图形做一次以上的几何变换。变换结果是每次的变换矩阵相乘。任何一复杂的几何变换都可以看作基本几何变换的组合形式。 二维几何变换复合变换具有形式:) 1( )(121121nPTTTTPTTTTPTPnnnn5.7 复合变

6、换二维几何变换)()()(2121RRRR5.7.1 二维复合平移二维复合平移两个连续平移是加性的。5.7.2 二维复合比例二维复合比例连续比例变换是相乘的。5.7.3 二维复合旋转二维复合旋转两个连续旋转是相加的。可写为:复合变换、例1:复合平移求点P(x,y)经第一次平移变换(tx1,ty1),第二次平移变换(tx2,ty2)后的坐标P*(x*, y*)解:设点P(x,y,1)经第一次平移变换后的坐标为P(x y 1),则经第二次平移变换后的坐标为P*(x* y* 1)变换矩阵为PttTyxttyxyxyx),(110010011111111001001110010011001001110

7、0100112121112222yxttttyxttttyxttyxyyxxyxyxyxPttttTPttTttTPyyxxyxyx),(),(),(21211122*),(),(),(21211122yyxxyxyxtttttTttTttTTyx(x,y)yx(x,y)yx(x,y)Tx复合变换例2:多种复合组合例:对一线段先放大2倍(即Sx=Sy=2,且以(0,0)为参照点),再平移Tx=10, Ty=0。解:设点(x,y)为线段上的任意一点,点(x,y)为点(x,y)放大后的坐标则: x,y,1T=S(2,2) x,y,1T 设点(x,y)为点(x,y)经平移后的坐标为: x,y,1T

8、=T(10,0) x,y,1T令:T=T(10,0).S(2,2) ,则T即为组合变换则:x,y,1T= T(10,0) x,y,1T=T(10,0)S(2,2) x,y,1T5.8 相对任一参考点的二维几何变换二维几何变换相对某个参考点(xf,yf)作二维几何变换,其变换过程为:(1) 平移到原点(2) 针对原点进行二维几何变换。(3) 反平移复合变换例3:旋转变换对参考点F(xf,yf)做旋转变换。解:1、把旋转中心F(xf,yf)平移至坐标原点,即坐标系平移(-xf,-yf),则2、进行旋转变换11122)(11000cossin0sincos1PRyxyxPyxTyxyxyxffff)

9、,(11001001111复合变换例3:旋转变换(续) 将坐标系平移回原来的原点因此222*),(110010011PyxTyxyxyxffffPyxTRyxTPRyxTPyxTPffffffff*),()(),()(),(),(121100sin)cos1 (cossinsin)cos1 (sincosyxxyyxrrrr复合变换例4:任意的反射轴的反射变换任一图形关于任意的反射轴y=a+bx的反射变换xyolxyolxyolxyolxyolxyol思考过程如下图思考过程如下图2. 将反射轴(已平移后的直线)按顺时针方向旋转角,使之与x轴重合 xyol1bl解:1. 将坐标原点平移到(0,a

10、)处100100011aT221sin,11cosbbb1000cossin0sincos)(R复合变换例4:任意的反射轴的反射变换(续)3. 图形关于x轴的反射变换4. 将反射轴逆时针旋转角1000100012T1000cossin0sincos)(R复合变换例4:任意的反射轴的反射变换(续)5. 恢复反射轴的原始位置因此100100013aT100) 1sin(cossincossincos2sincos2sincos2sincos)()(222222123aaTRTRTT复合变换例4:任意的反射轴的反射变换(续)221cos, sin11bbb将代入得100121112121211222

11、22222babbbbbabbbbbT复合变换例4:任意的反射轴的反射变换(续)复合变换例5:通用固定点缩放1.平移物体使固定点与坐标原点重合2.对于坐标原点缩放3.用步骤1的反向平移将物体移回原始位置设固定点为(x0,y0),缩放的倍数分别为sx,sy 。具体过程如下:1)平移使固定点与坐标原点重合1001001),(0000yxyxT变换矩阵为2)以坐标原点为参照点进行缩放1000000),(yxyxssssS变换矩阵为3)将坐标原点移回到(x0,y0)点复合变换例5:通用固定点缩放1001001),(0000yxyxT变换矩阵为 则以(x0,y0)为固定点,缩放的倍数分别为sx,sy 的

12、变换为100)1 (0)1 (0),(),(),(000000yyxxyxsyssxsyxTssSyxTT复合变换例5:通用固定点缩放复合变换例6 :通用定向缩放比例变换中的比例因子sx,sy只能在x轴方向或y轴方向起作用。实际图形变换中,不仅是在x,y方向变换,往往要求在任意方向进行比例变换。通过旋转变换和比例变换的组合,可以实现任意方向的比例变换。解:定义比例因子s1和s2。1. 使s1和s2旋转角后分别与x轴和y轴重合。2. 进行比例变换。3.使s1和s2旋转-角,返回原始位置。如:图(a)为一单位正方形,对由(0,0)和(1,1)两点构成的对角线方向实施比例变换(1,2)1000707

13、. 0707. 00707. 0707. 01000100021000707. 0707. 00707. 0707. 0复合变换例6 :通用定向缩放1000707. 0707. 00707. 0707. 01000)45cos()45sin(0)45sin()45cos(R100010002S10005 . 15 . 005 . 05 . 11RBRA复合变换例6 :通用定向缩放5.8变换的分解旋转变换可以表示为错切变换的复合旋转变换可以表示为错切变换的复合10sin1cos11sin0110sin1cos1cossinsincos)(R10211122011021122222222)4(R例

14、:旋转45度的分解如右图任何一个二维线性变换都可以分解为旋转、缩放、任何一个二维线性变换都可以分解为旋转、缩放、旋转变换的复合。旋转变换的复合。变换的分解利用奇异值分解M=USV,其中其中U、V为正交阵,S为对角阵计算方法(利用对称阵分解)设对称阵可分解为MMT=RRT, 又MMT=US2 UT所以MUSVSRUT12/1,例:设变换矩阵为例:设变换矩阵为1011M其是一个错切变换,将其分解为旋转与缩放变其是一个错切变换,将其分解为旋转与缩放变换的复合换的复合变换的分解解:解:85. 053. 053. 085. 038. 00062. 285. 053. 053. 085. 01112TMM

15、85. 053. 053. 085. 0U38. 00062. 2S53. 085. 085. 053. 01MUSVTVSUM5.11 坐标系之间的变换二维几何变换问题:设xoy坐标系中点P(xp,yp),求其在xoy坐标系中坐标P(xp,yp)oxyy0 x0oxy分析二维几何变换p(xp,yp)oxyo (x0,y0)xypxpyx*y*p*二维几何变换可以分两步进行:P(xp,yp)oxyy0 x0oxyxyP1(xp1,yp1)1) 将 xoy系统坐标原点(x0,y0)平移到xoy系统的坐标原点(0,0)变换矩阵为1001001),(0000yxyxT二维变换P(xp,yp)oxyx

16、yxyP1(xp1,yp1)P2(xp2,yp2)2) 将 x轴旋转到x轴上变换矩阵为1000cossin0sincos)(R于是: 二维变换及二维观察110010011000cossin0sincos),()()(000012ppyxyxPyxTRPRPP(a)读出象素块的内容(b)复制象素块的内容(c)擦除原象素块的内容6.3.8 光栅变换直接对帧缓存中象素点进行操作的变换称为光栅变换光栅平移变换:(a)逆时针旋转90(x,y)(y,rowlen-x)rowlen(x,y)(rowlen-x,vollen-y)(b)逆时针旋转180rowlenvollen90、180和270的光栅旋转变换

17、:6.3.8 光栅变换旋转的象素阵列光栅网格AA213任意角度的光栅旋转变换: 6.3.8 光栅变换(a)Sx=1/2,Xy=1/2(b)原图(a)Sx=1,Xy=3/2缩小时原图中的相应象素区域放大时原图中的相应象素区域6.3.8 光栅变换光栅比例变换: 仿射变换具有平行线不变性和有限点数目的不变性 平移、比例、旋转、错切和反射等变换均是二维仿射变换的特例,反过来,任何常用的二维仿射变换总可以表示为这五种变换的复合。 ndycxymbyaxx6.3.9 变换的性质二维仿射变换是具有如下形式的二维坐标变换: 直线的中点不变性; 平行直线不变性; 相交不变性; 仅包含旋转、平移和反射的仿射变换维

18、持角度和长度的不变性; 比例变化可改变图形的大小和形状; 错切变化引起图形角度关系的改变,甚至导致图形发生畸变。二维几何变换具有如下一些性质:),(hzyxhhh0,hhzzhyyhxxhhh三维几何变换三维齐次坐标(x,y,z)点对应的齐次坐标为标准齐次坐标(x,y,z,1)右手坐标系xyz444342413433323124232221141312113aaaaaaaaaaaaaaaaTD三维几何变换变换矩阵1 平移变换若点(x,y,z)是由点(x,y,z)在x,y和z轴方向分别移动距离tx, ty和tz得到的,则这两点间的坐标关系为:x = x + tx y = y + tyz = z

19、+ tz该式的矩阵形式为:110001000100011zyxtttzyxzyx2 放大和缩小设点(x,y,z)经过缩放变换后得到点(x,y,z),这两点坐标间的关系为: 其中,sx,sy,sz 分别为沿x轴,y轴和z轴方向放大或缩小的比例。它们可以相当,也可以不相等。上式的矩阵形式如下所示:x = sx x y = sy y z = sz z110000000000001zyxssszyxzyx其中,当Sx = Sy = Sz时,上式的变换是以原点为相似中心的相似变换,这样常使变换后的图形不在原来的位置上。如下所示:yzx通用缩放通用缩放1、均匀缩放:任意点P到固定点Q的距离放缩s倍,方向不

20、变。QPP令令 v=P-Q,v=P-Q,则,则 v=sv即即 P-Q =s(P-Q)即即 P=sIP+(1-s)Q)齐次坐标形式为齐次坐标形式为11)-1s1P0QIPs(11000)1 (00)100)1001zyxqssqssqsszyxzyx(通用缩放通用缩放2、非均匀缩放:以Q为固定点,沿单位向量u方向放缩s倍。QPPuvv v sv v 设点P放缩后为P,令 v=P-Q,v=P-Q,v分解为v=v +v 其中v =(vu)u, v =v-(vu)u则v=sv +v = s(vu)u + v-(vu)u=(I+(s-1)uuT)v即P-Q =(I+(s-1)uuT)(P-Q)所以以P=

21、(I+(s-1)uuT)P +(1-s)uuT Q齐次坐标形式为11)-1) 1(1P0QuuuuIPTTss(三维变换矩阵-对称变换在二维变换下,对称变换是以线和点为基准,在三维变换下,对称变换则是以面、线、点为基准的。对称于XOZ平面对称于YOZ平面对称于XOY平面1100001000010000111zyxzyxzyx11000010000100001-11zyxzyxzyx110000100001-0000111zyxzyxzyx一般平面的对称变换设一般平面S由定点Q和单位向量N给定,设点P为平面外的一点,求其关于平面S的对称点PPPNv v -v Qvv设点P对称点为P,令 v=P-

22、Q,v=P-Q将v分解为v=v +v 其中v = (vN)N,v =v-(vN)N 则v=v -v = v-2(vN)NP-Q= (I-2NNT)(P-Q)P= (I-2NNT) P+2NNTQ齐次坐标形式为11NN22-1P0QNNIPTT三维变换矩阵-旋转变换绕X轴变换空间上的立体绕X轴旋转时,立体上各点的X坐标不变,只是Y、Z坐标发生相应的变化。x = xy = cos (+) = y cos z sinz = sin ( +) = y sin +z cosxyzyz(y,z)(y,z)矩阵表示为:三维变换矩阵-旋转变换遵循右手法则,即若 0,大拇指指向轴的方向,其它手指指的方向为旋转方

23、向。记110000cossin00sincos000011zyxzyx10000cossin00sincos00001)(xR三维变换矩阵-旋转变换绕Y轴旋转此时,Y坐标不变,X,Z坐标相应变化。x = sin( + ) = x cos + z siny = yz = cos( + ) = z cos x sinxz(z,x)(z,x)xyz三维变换矩阵-旋转变换矩阵表示为记110000cos0sin00100sin0cos1zyxzyx10000cos0sin00100sin0cos)(yR绕Z轴旋转此时,Z坐标不变,X,Y坐标相应变化。x = cos(+) = x cos y siny =

24、 sin(+) = x sin + y cosz = z三维变换矩阵-旋转变换xyzxy(x,y)(x,y)矩阵表示为:三维变换矩阵-旋转变换记11000010000cossin00sincos1zyxzyx1000010000cossin00sincos)zR绕任意轴的旋转变换-方法1a) 绕过原点的任意轴的旋转变换空间点P(x,y,z) 绕过原点的任意轴ON逆时针旋转角的旋转变换。因ON轴不是坐标轴,应设法旋转该轴,使之与某一坐标轴重合,然后进行旋转角的变换,最后按逆过程,恢复该轴的原始位置。基本思想22sinbab22cosbaa绕任意轴的旋转变换-方法1解:令ON为单位长度,其对应的单

25、位向量:a 、b 、c满足:变换过程如下1) 让ON轴绕Z轴旋转-,使之在XOZ平面上。其中ONXYZabccban 1222cba1000010000cossin00sincoszRccos10000cos0sin00100sin0cosyR绕任意轴的旋转变换-方法1因此2)让在XOZ平面上的ON绕y轴旋转-,使之与z轴重合。其中因此NXYZabc22ab22sinba zR yR zR绕任意轴的旋转变换-方法13)P点绕ON轴(即z轴)逆时针旋转角4)ON轴绕y轴旋转 5)ON轴绕z轴旋转 因此将sin,cos, sin, cos 代入化简得 zyzyzRRRRRR10000cos)cos

26、1 (sin)cos1 (sin)cos1 (0sin)cos1 (cos)cos1 (sin)cos1 (0sin)cos1 (sin)cos1 (cos)cos1 (222cabcbacabcbcabbaccabaRb)绕任意轴的旋转变换上面的ON轴若不过原点,而是过任意两点P1(x1,y1,z1), P2(x2,y2,z2),绕轴旋转变换如何呢?设ON过P1(x1,y1,z1)和P2(x2,y2,z2)两点,则ON轴的方向为:V=P2-P1=x2-x1 y2-y1 z2-z1则旋转轴对应的单位向量为这样,只需先作一次平移变换将P1移到原点,再按a)的步骤进行,最后再将原点平移变换到P1,

27、就得到绕任意轴的旋转变换。cbazzyyxxn记为|121212VVVVV变换矩阵为设1000100010001321zyxTt tzyzyztttTRRRRRTTRTMXYZP1P2XYZP1P2XYZP1P2XYZP1P2XYZP1P2XYZP1P2XYZP1P2XYZP1P2沿相反方向zo(a,b,c)(x,y,z)(x,y,z)xyN绕任意轴的旋转变换-方法2组合变换空间一点绕空间任一轴线的旋转变换。要通过将几个基本的变换组合在一起,得到该组合变换。假定空间任一直线的方向矢量分别为:(a,b,c)并经过原点绕任意轴的旋转变换-方法2能否转换成绕X、Y或Z轴旋转的变换?ON绕Z轴旋转2

28、到XOZ平面上,然后再绕Y轴旋转1,即可与Z轴重合。N21YZX绕任意轴的旋转变换-方法2这样,可得空间上任一点绕ON轴旋转的变换过程如下1)首先通过两次旋转,使ON轴与Z轴重合;2)然后使点绕Z轴旋转角;3)最后通过与1)相反的旋转,使ON轴回到原来的位置。假设,绕Z轴的旋转-2矩阵为Rz(-2)绕Y轴的旋转-1矩阵为Ry(-1)绕Z轴的旋转矩阵为Rz()绕Y轴的旋转1矩阵为Ry(1)绕Z轴的旋转2矩阵为Rz(2)110010000cos0sin-00100sin0cos1000010000cossin00sin-cos111112222cba绕任意轴的旋转变换-方法2则总体变换矩阵为:T = Rz(2)Ry(1)Rz()Ry(-1)Rz(-2)由上推导可看出,只要能求出1、 2的值,即可通过上式获得绕ON轴的变换矩阵。由于矢量(0,0,1)绕Y轴旋转1,再绕Z轴旋转2即可与ON轴重合。即:绕任意轴的旋转变换-方法2(a, b, c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论