计算机图形学基础华东理工大学计算机系·谢晓玲2第六章二维变换及二维观察如何对二维图形进行方向、尺寸和形状方面的变换。如何进行二维观察。3二维变换及二维观察基本几何变换与基本概念二维图形几何变换的计算复合变换变换的性质4图形的几何变换平移、旋转、缩放、反射和错切变换的组合图形几何变换的目的改变图形的位置、方向、大小基本几何变换都是相对于坐标原点和坐标轴进行的几何变换。6.2基本几何变换6.2齐次坐标齐次坐标将一个原本是n维的向量用一个n+1维向量来表示。例如:向量(x1,x2,…,xn)的齐次坐标表示为(Hx1,Hx2,…,Hxn,H),其中H是一个不为0的实数。H=1的齐次坐标称为规范化齐次坐标;反之:由点或向量的齐次坐标(Hx1,Hx2,…,Hxn,H),求它的规范化齐次坐标,可根据如下公式求得x1=Hx1/H,x2=Hx2/H,…xn=Hxn/H齐次坐标表示法的优点将平移、旋转、缩放等变换同统一的方式表示6齐次坐标表示就是用n+1维向量表示一个n维向量。规范化齐次坐标表示就是h=1的齐次坐标表示。0),,(),(hhyhxhyx)1,,(),(yxyx基本几何变换——规范化齐次坐标恒等变换平面图形的恒等变换保持原图形的大小、形状、位置不变,其变换矩阵为:1000100012DT7.2二维几何变换的齐次坐标表示8基本几何变换——平移变换平移是指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程。YXTxTyP'PT图6-1平移变换yxTyyTxx''100设:P‘=x’y'1=xy1010TxTy1令:T(Tx,Ty)=100010TxTy1记:P'=P*T(Tx,Ty)Tx,Ty称为平移矢量。基本几何变换——平移变换10比例变换是指对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为比例系数。YXP'(4,3)P(2,1)基本几何变换——比例变换图6-2比例变换(Sx=2,Sy=3)ySyxSxyx''11矩阵形式:Sx00设:P‘=x’y'1=xy10Sy0001令:S(Sx,Sy)=Sx000Sy0001记:P'=P*S(Sx,Sy)Sx,Sy称为比例系数。基本几何变换——比例变换12基本几何变换——比例变换图6-3比例变换(a)Sx=Sy比例原图(b)SxSy比例原图SxSySxSySx=Sy1Sx=Sy113Syxyx0001000111''整体比例变换:当S1,图形整体缩小;当S1,图形整体放大。基本几何变换——比例变换14二维旋转是指将p点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点p’的重定位过程。x’=r•cos(+)=r•cos•cos-r•sin•sin=x•cosθ-y•sinθy’=r•sin(+)=r•cos•sin+r•sin•cos=x•sinθ+y•cosθYXP'Prrαθ基本几何变换——旋转变换图6-4旋转变换15矩阵形式:逆时针旋转θ角cosθsinθ1设:P‘=x’y'1=xy1-sinθcosθ0001令:R(θ)=cosθsinθ1-sinθcosθ0001记:P'=P*R(θ)基本几何变换——旋转变换16smlqdcpbayxTyxyxD111''2基本几何变换——二维变换矩阵T1=ab比例、旋转、对称、错切等;cdT2=lm平移T3=p投影qT4=s整体比例sqypxmdybxy'sqypxlcyaxx'17对称变换后的图形是原图形关于某一轴线或原点的镜像。XY(a)关于x轴对称XY(b)关于y轴对称XY(c)关于原点对称基本几何变换——对称变换18XY(d)关于x=y对称XY(e)关于x=-y对称基本几何变换——对称变换19(1)关于x轴对称smlqdcpbaYXP'(x,-y)P(x,y)100010001基本几何变换——对称变换图6-6关于x轴对称20(2)关于y轴对称YXP'(-x,y)p(x,y)100010001图6-6关于y轴对称基本几何变换——对称变换21(3)关于原点对称YXP(x,y)100010001基本几何变换——对称变换图6-6关于原点对称22(4)关于y=x轴对称YXp(x,y)p'(y,x)x=y100001010基本几何变换——对称变换图6-6关于x=y对称23(5)关于y=-x轴对称YXP'(-y,-x)P(x,y)x=-y100001010基本几何变换——对称变换图6-6关于x=-y对称(a)原图(b)沿x正方向错切(c)沿y正方向错切xyOxyOOxy24错切变换,也称为剪切、错位变换,用于产生弹性物体的变形处理。基本几何变换——错切变换图6-7错切变换①沿X方向关于Y轴的错切矩形p1p2p3p4沿X方向错切变换,得到矩形p1p2p3’p4’,错切角θ,点(x,y)变换为:x’=x+y*tan(θ),y’=y令:shx=tan(θ)记:x’y’1=xy1100shx10001P1P2P4P3P'4P‘3θyy*tan(θ)图6.7沿X方向错切基本几何变换——错切变换②沿Y方向关于X轴的错切矩形p1p2p3p4沿Y方向错切变换,得到矩形p1p2’p3’p4,错切角θ,点(x,y)变换为:x’=x,y’=y+x*tan(θ)令:shy=tan(θ)记:x’y’1=xy11shy0010001O41P‘2P‘3P1P2P3P4θx*tan(θ)图6.7沿Y方向错切基本几何变换——错切变换③沿两个方向的错切x’=x+y*tan(α)y’=y+x*tan(θ)令:shx=tan(α)、shy=tan(θ)记:x’y’1=xy11shy0shx10001O41P‘2P‘3P1P2P3P4θx*tan(θ)图6.7沿X、Y方向错切αy*tan(α)基本几何变换——错切变换28其变换矩阵为:1000101cb(1)沿x方向错切:b=0(2)沿y方向错切:c=0(3)两个方向错切:b≠0,c≠0基本几何变换——错切变换29二维图形几何变换的计算几何变换均可表示成P’=P*T的形式。1.点的变换rmlqdcpbayxyx11''302.直线的变换rmlqdcpbayxyxyxyx11112211'2'2'1'1二维图形几何变换的计算313.多边形的变换rmlqdcpbayxyxyxyxyxyxyxyxnnnn1.........1111.........111332211'''3'3'2'2'1'1二维图形几何变换的计算32复合变换图形作一次以上的几何变换,变换结果是每次变换矩阵的乘积。任何一复杂的几何变换都可以看作基本几何变换的组合形式。复合变换具有形式:P’=P·T=P·(T1·T2·T3·…·Tn)=P·T1·T2·T3·…·Tn(n1)331010001101000110100012121221121yyxxyxyxtttTTTTTTTTTTT复合变换——二维复合平移341000000100000010000002121221121yyxxyxyxsssSSSSSSSSTTT复合变换——二维复合比例35)(21)()(21RRRR1000)cos()sin(0)sin()cos(1000cossin0sincos1000cossin0sincos212121212222111121rrrTTT复合变换——二维复合旋转361000cos000cos100010110001011000cos000cos1000cossin0sincostgtgtgtgR复合变换旋转变换等价于先比例后错切,或者先错切后比例。矩阵相乘是符合结合律,但不符合交换律。A·B·C=(A·B)·C=A·(B·C)A·B≠B·C在连续的同种变换的特殊情况下,矩阵相乘可以符合交换律。1.二次连续旋转,可以用任意顺序进行;2.连续的平移或连续的比例变换可以交换;3.两向相同(Sx=Sy)的比例变换与旋转变换可以交换。复合变换38相对任一参考点的二维几何变换相对某个参考点(xF,yF)作二维几何变换,其变换过程为:(1)平移;(2)针对原点进行二维几何变换;(3)反平移。1.相对于任一固定点的比例变换则:P’=P·{T(-xA,-yA)·S(sx,sy)·T(xA,yA)}记:SA(sx,sy)=T(-xA,-yA)·S(sx,sy)·T(xA,yA)∴=100sx00100=sx000100sy00100sy0-xA-yA1001xAyA1xA(1-sx)yA(1-sy)1T(-xA,-yA)·A(xA,yA)ooAS(sx,sy)oAT(xA,yA)·A(xA,yA)o相对任一参考点的二维几何变换2.围绕任一基准点的旋转变换则:P’=P·{T(-xA,-yA)·R(θ)·T(xA,yA)}记:RA(θ)=T(-xA,-yA)·R(θ)·T(xA,yA)∴=100cosθsinθ0100010-sinθcosθ0010-xA-yA1001xAyA1=cosθsinθ0-sinθcosθ0xA(1-cosθ)+yAsinθyA(1-cosθ)-xAsinθ1T(-xA,-yA)R(θ)T(xA,yA)A(xA,yA)ooAoAθoA(xA,yA)例1错切变换矩形P1P2P3P4沿X轴、Y轴双向错切。设:tan(θ)=2,tan(Φ)=1100110100110010·210·010=210111001-1-11211则P’=-1-11110=-1-113-11·210331-1412119413411381θΦyP4P3P1OP2x*P4*P2*P1*P3相对任一参考点的二维几何变换例2组合变换平面图形变换举例设△P1P2P3的三个顶点分别为:P1(10,20),P2(20,20),P3(15,30),它绕点Q(5,25)逆时针方向旋转30°。它的复合变换由如下三种变换组成:(1)平移,使Q移到原点O,平移常量l=-5,m=-25,平移变换矩阵为:p1p2p3Q51-250100011T相对任一参考点的二维几何变换(1)平移,使Q移到原点O,平移常量l=-5,m=-25,平移变换矩阵为T1,平移变换后的△P′1P′2P′3。51-250100011TyQP3P2P1QO2Px3P(a)1P相对任一参考点的二维几何变换(2)绕原点逆时针旋转30°,旋转变换矩阵为T2,旋转变换后的△P″1P″2P″3。yP3P2Q3P2P1POxQP10100cos30°-sin30°0sin30°cos30°2T相对任一参考点的二维几何变换(3)最后将Q点移回原来位置Q(5,25),平移变换矩阵为T3,旋转变换后的△P*1P*2P*3。51250100013Ty*P3*P2Q3P2P1POxQ*P1相对任一参考点的二维几何变换46相对任意方向的二维几何变换相对任意方向作二维几何变换,其