第五章图形的变换1.变换的数学基础2.图形变换的基本概念3.变换的齐次坐标表示4.二维几何变换√1.变换的数学基础A.矢量–矢量和zyxuuuUzyxvvvVzzyyxxvuvuvuVU–矢量的数乘–矢量的点积•性质zyxkukukuUkzzyyxxvuvuvuVUUVVUVUVU000UUU–矢量的长度•单位矢量•矢量的夹角–矢量的叉积222zyxuuuUUUVUVUcoszyxzyxvvvuuukjiVUB.矩阵矩阵的定义:由m×n个数按一定位置排列的一个整体,简称m×n矩阵。mnmmnnaaaaaaaaa..................212222111211A=其中,aij称为矩阵A的第i行第j列元素矩阵的运算•加法设A,B为两个具有相同行和列元素的矩阵A+B=...b............bm22111112121111mnmnmmmnnbaababaaba•乘法设A为2×3矩阵,B为3×2矩阵C=A·B=•单位矩阵在一矩阵中,其主对角线各元素aii=1,其余皆为0的矩阵称为单位矩阵。n阶单位矩阵通常记作In。babababababababababababa322322221221312321221121321322121211311321121111•逆矩阵若矩阵A存在A·A-1=A-1·A=I,则称A-1为A的逆矩阵•矩阵的转置把矩阵A=(aij)m×n的行和列互换而得到的n×m矩阵称为A的转置矩阵,记作AT。(AT)T=A(A+B)T=AT+BT(aA)T=aAT(A·B)T=BT·AT当A为n阶矩阵,且A=AT,则A是对称矩阵。矩阵运算的基本性质•交换律与结合律A+B=B+A;A+(B+C)=(A+B)+C•数乘的分配律及结合律a(A+B)=aA+aB;a(A·B)=(aA)·B=A·(aB)(a+b)A=aA+bAa(bA)=(ab)A•矩阵乘法的结合律及分配律A·(B·C)=(A·B)·C(A+B)·C=A·C+B·CC·(A+B)=C·A+C·B•矩阵的乘法不适合交换律第五章图形的变换1.变换的数学基础2.图形变换的基本概念3.变换的齐次坐标表示4.二维几何变换√图形变换是图形显示过程中不可缺少的一个环节。–通过图形变换可由简单图形生成复杂图形;–改变和管理各种图形的显示。例如:•通过调整组成部分的方向和大小来实现设计和实施布局;•通过沿动画路径移动“照相机”或场景中的对象而产生动画;•通过改变对象坐标描述的几何变换来完成在方向、尺寸和形状方面的变化。•第五章图形的变换1.变换的数学基础2.图形变换的基本概念3.变换的齐次坐标表示4.二维几何变换√可用齐次坐标三元组(xh,yh,h)表示每个笛卡尔坐标位置(x,y)。其中:x=xh/h,y=yh/h,也可写为(h·x,h·y,h)齐次参数h可取为任何非零值,每个坐标点(x,y)可有无数个等价齐次表达。最方便的选择是设置h=1。即:每个二维位置都可用齐次坐标(x,y,1)来表示。参数h的其它值也是需要的。变换的齐次坐标表示第五章图形的变换1.变换的数学基础2.图形变换的基本概念3.变换的齐次坐标表示4.二维几何变换√√基本几何变换:平移将物体沿直线路径从一个坐标位置到另一个坐标位置重定位。给原始坐标位置(x,y)加上平移距离tx和ty来表示到新位置(x1,y1):x1=x+tx,y1=y+ty(tx,ty)称为平移向量。•平移的矩阵方程:P1=P+TT=(tx,ty)T,P=(x,y)T,P1=(x1,y1)TPP1T平移的特性•不产生变形而移动物体的刚体变换,物体上的每个点移动相同的坐标。–直线的平移是将平移方程加到线的每个端点上;–多边形的平移是将平移向量加到每个顶点的坐标;–曲线可用同样方法来平移:•为了改变圆或椭圆的位置,可以平移中心坐标并在新中心位置重画图形;•通过替代定义曲线的坐标位置,而后用平移过的坐标点来重构曲线路径来实现其它曲线的平移。TT√2.旋转变换•二维旋转--是指定物体以旋转点(或基准点)的位置(xr,yr)和旋转角θ(逆时针旋转时旋转角为正),将物体沿xy平面内的圆弧路径重定位。–或:绕通过基准点、垂直于xy平面的旋转轴旋转。•当基准点为坐标原点时,变换方程:x1=xcosθ–ysinθy1=xsinθ+ycosθ•方程的向量矩阵为:P1=R·P旋转矩阵为:cossinsincosRPP1xy旋转变换的特性•旋转也是一种不变形地移动物体的刚体变换,物体上的所有点旋转相同的角度:–直线段旋转是将每个线端点旋转指定的旋转角;–多边形的旋转则是将每个顶点旋转指定的旋转角;–曲线的旋转则是旋转控制取样点。(xr,yr)√3.缩放(比例)变换•该操作施加于多边形。通过将每个顶点坐标值(x,y)乘以缩放系数sx和sy,产生变换的坐标(x1,y1):x1=x·sxy1=y·sy–sx在x方向对物体的缩放系数,–sy在y方向对物体的缩放系数。•相对于原点的缩放矩阵形式:P1=S·P缩放矩阵:yxssS00XYP1P2相对原点的一致缩放•缩放系数sx和sy可赋予任何正数。•小于1缩小物体的尺寸;•大于1则放大物体;当sx和sy值相同时,产生一致缩放;sx和sy值不等时产生差值缩放。•用缩放方程变换的物体既被缩放,又被重定位。•当缩放系数值大于1时则将坐标位置远离原点。XYP1P2相对原点的一致缩放缩放变换的特性•缩放变换改变物体的尺寸。•可选择一个在缩放变换后不改变位置的点(固定点)来控制缩放物体的位置。–固定点的坐标(xf,yf)可以选择顶点之一、物体中点或任何其它位置。–多边形通过缩放每个顶点到固定点的距离而相对于固定点缩放。√4.对称(反射)变换•反射(对称)变换是产生物体的镜像的一种变换。–相对反射(对称)轴的一维反射镜像是通过将物体绕反射(对称)轴旋转180度而生成的。关于原点反射关于x轴反射关于y轴反射5.√6.错切变换•会使物体形状发生变化的变换,经过错切的物体好象是由已经相互滑动的内部夹层组成。•常用错切变换有两种:改变x坐标值;改变y坐标值。错切变换•相对x轴的x方向错切将坐标位置转换成:x1=x+shx·yy1=y–坐标位置(x,y)水平地移动一个与它到x轴距离(y值)成shx比例的量;shx为负,坐标位置向左移动。10001001xsh√7.复合变换•矩阵的合并或复合:利用矩阵表示,通过计算单个变换矩阵的乘积,将任意顺序变换的矩阵建立为复合变换矩阵。•对于坐标位置的列矩阵表示,以从右向左的次序进行矩阵乘而形成复合变换。即:每个随后的变换矩阵左乘前面的变换矩阵。–复合平移:P1={T(txn,tyn)·……·T(tx2,ty2)·T(tx1,ty1)}·P–复合旋转:P1={R(θn)·……·R(θ2)·R(θ1)}·P复合变换复合缩放:P1={S(sxn,syn)·……·S(sx2,sy2)·S(sx1,sy1)}·P复合变换:先缩放后平移再旋转:P1={R(θn)·T(txn,tyn)·S(sxn,syn)}·P注意:矩阵乘法不满足交换率:M1•M2≠M2•M1,所以变换的结果和变换执行的顺序有关。只有在两个变换类型相同,或两者分别是一致缩放与旋转变换时,两者可以交换。任意对称(反射)变换•关于xy平面内任意线y=mx+b的反射可用平移-旋转-反射变换的组合来完成:–①平移反射轴使其经过原点;–②将反射轴旋转到坐标轴之一上,且进行关于坐标轴反射;–③利用逆旋转和平移变换将线置回原处。•关于坐标轴或坐标原点的反射可处理为缩放系数为负值的缩放变换。•反射矩阵的元素也可设置为±1以外的其它值:•大于1的值将镜像移至远离反射轴;•小于1的值将镜像接近反射轴。y=mx+b平移旋转反射逆旋转逆平移√