




免费预览已结束,剩余147页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章二维变换和二维观察,二维变换内容,图形变换预备知识Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),5.1图形变换预备知识,矢量矢量和,5.1.1矢量和矩阵,矢量的数乘矢量的点积性质,矢量的长度单位矢量矢量的夹角矢量的叉积,矩阵阶矩阵n阶方阵零矩阵行向量与列向量单位矩阵矩阵的加法矩阵的数乘矩阵的乘法矩阵的转置矩阵的逆,矩阵的含义矩阵:由mn个数按一定位置排列的一个整体,简称mn矩阵。,A=,矩阵运算加法设A,B为两个具有相同行和列元素的矩阵A+B=数乘kA=k*aij|i=1.m,j=1,.n,乘法设A为32矩阵,B为23矩阵C=AB=C=Cmp=AmnBnpcij=aik*bkj单位矩阵在一矩阵中,其主对角线各元素aii=1,其余皆为0的矩阵称为单位矩阵。n阶单位矩阵通常记作In。Amn=AmnIn,k=1,n,逆矩阵若矩阵A存在AA-1=A-1A=I,则称A-1为A的逆矩阵矩阵的转置把矩阵A=(aij)mn的行和列互换而得到的nm矩阵称为A的转置矩阵,记作AT。(AT)T=A(A+B)T=AT+BT(aA)T=aAT(AB)T=BTAT当A为n阶矩阵,且A=AT,则A是对称矩阵。,矩阵运算的基本性质交换律与结合律师A+B=B+A;A+(B+C)=(A+B)+C数乘的分配律及结合律a(A+B)=aA+aB;a(AB)=(aA)B=A(aB)(a+b)A=aA+bAa(bA)=(ab)A,矩阵乘法的结合律及分配律A(BC)=(AB)C(A+B)C=AC+BCC(A+B)=CA+CB矩阵的乘法不适合交换律,所谓齐次坐标表示法就是由n+1维向量表示一个n维向量。如n维向量(P1,P2,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标。1、h可以取不同的值,所以同一点的齐次坐标不是唯一的。如普通坐标系下的点(2,3)变换为齐次坐标可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。2、普通坐标与齐次坐标的关系为“一对多”由普通坐标h齐次坐标由齐次坐标h普通坐标3、当h=1时产生的齐次坐标称为“规格化坐标”,因为前n个坐标就是普通坐标系下的n维坐标。,5.1.2齐次坐标,(x,y)点对应的齐次坐标为(x,y)点对应的齐次坐标为三维空间的一条直线,1.将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高维空间上的一个点从一个坐标系变换到另一坐标系的有效方法。2.便于表示无穷远点。例如:(xh,yh,h),令h等于03.齐次坐标变换矩阵形式把直线变换成直线段,平面变换成平面,多边形变换成多边形,多面体变换成多面体。4.变换具有统一表示形式的优点便于变换合成便于硬件实现,齐次坐标的作用,图形变换是计算机图形学基础内容之一。几何变换,投影变换,视窗变换线性变换,属性不变,拓扑关系不变。作用:把用户坐标系与设备坐标系联系起来;可由简单图形生成复杂图形;可用二维图形表示三维形体;动态显示。,5.1.3图形变换,图形的几何变换,图形变换:对图形的几何信息经过几何变换后产生新的图形。图形变换的两种形式:1.图形不变,坐标系改变;2.图形改变,坐标系不变。我们所讨论的是针对坐标系的改变而讲的。,5.2基本二维变换内容,图形变换预备知识Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),5.2BasicTransformations基本变换,Def.改变对象坐标描述的变换称为几何变换,例如改变对象的方向、尺寸和形状。Def.Geometrictransformationsaltercoordinatedescriptionsofobjects,suchaschangesinorientation,sizeandshape.TypesTranslation平移Rotation旋转Scaling变比,5.2.12D平移,Translation平移Def.图形对象沿直线运动产生的变换Parameters:平移向量(tx,ty)Formula:x=x+txy=y+ty,矩阵表示xxtxP=P=T=yytyP=P+T,Example,5.2.22D旋转,Rotation旋转Def.图形对象沿圆弧路径运动产生的变换Parameters基准点(pivot),坐标原点或任意点旋转角方向,约定:逆时针为正,绕原点旋转,绕任意点旋转,Formula针对坐标原点x=x*cos-y*siny=x*sin+y*cos如何得到上述公式?针对任意点(xr,yr)旋转的计算公式?,x=r*cos(+)=r*(cos*cos-sin*sin)=rcos*cos-rsin*sin=x*cos-y*siny=r*sin(+)=r*(cos*sin+sin*cos)=rcos*sin+rsin*cos=x*sin+y*cos,矩阵表示xxcos-sinP=P=R=yysincosP=RP,旋转也是一种不产生变形而移动对象的刚体变换。,Scaling变比Def.改变图形对象大小的变换Parameters:变比因子(Sx,Sy),基准点,方向Formula:针对坐标原点针对固定参考点(xf,yf)x=x*Sxx=xf+(x-xf)*Sxy=y*Syy=yf+(y-yf)*Sy,5.2.32D变比(缩放),矩阵表示xxsx0P=P=S=yy0syP=SP,Example,2D变比讨论,如果|Sx|或|Sy|大于1,则表示图形在X轴方向或Y轴方向放大;如果|Sx|或|Sy|小于1,则表示图形在X轴方向或Y轴方向缩小;如果|Sx|=|Sy|,则表示均匀缩放;如果|Sx|Sy|,则表示差值缩放;如果|Sx|或|Sy|等于1,则表示图形在X轴方向或Y轴方向不变;如果Sx或Sy小于零,则表示图形在X轴方向或Y轴方向作镜面变换。,二维变换内容,图形变换预备知识Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),5.2.42D矩阵表示,在图形系统中,矩阵式实现变换的标准方法。P=P+T(平移);P=RP(旋转);P=SP(变比);对于平移、旋转和缩放变换,每个基本的变换都可表示为普通距阵形式:P=M1*P+M2采用齐次坐标(xh,yh,h)表示每个2D坐标位置(x,y)齐次坐标表示就是用n+1维向量表示n维向量。,P=M*P,5.2.42D矩阵表示,Point(x,y)-(xh,yh,h)-(x,y,1)T2Dgraph-3xn基本变换参数-3x32D图形变换坐标计算:P最终坐标=M变换矩阵*P原坐标,平移变换x10txxy=01tyy10011P=T(tx,ty)*P,举例,旋转变换xcos-sin0 xy=sincos0y10011P=R()*P,举例,变比变换xsx00 xy=0sy0y10011P=S(sx,sy)*P注意:上述三种都是针对坐标原点和X/Y轴方向的。,举例,Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),二维变换内容,5.3复合变换,进行一次以上的基本变换复合变换利用矩阵表示,就可通过计算单个变换的矩阵乘积,将任意顺序变换的矩阵建立为组合变换矩阵。形成变换矩阵的乘积被称为矩阵的合并(concatenation)或复合(composition),5.3复合变换,Translations连续平移Rotations连续旋转Scalings连续变比Generalpivot-pointtransformations通用基准点的变换GeneralDirectionstransformations通用方向的变换,5.3.1Translations连续平移,n个连续的平移向量(tx1,ty1),(tx2,ty2),(txn,tyn)被用于点P,那么最后的点坐标可计算为P=T(txn,tyn)*T(tx2,ty2)*T(tx1,ty1)P=T(txn,tyn)*T(tx2,ty2)*T(tx1,ty1)P计算时,可先计算两个平移变换矩阵的乘积T(tx2,ty2)T(tx1,ty1)=T(tx2+tx1,ty2+ty1)连续平移是可加的,平移变换x10tx10tx1y=01ty01ty1*P100100110tx+tx1P=01ty+ty1*P001,举例,5.3.2Rotations连续旋转,应用于点P的n个连续旋转(1),(2).(n),得到的点P的坐标可计算为P=R(n)*R(2)R(1)P=R(n)*R(2)R(1)PR(2)R(1)=R(1+2)则P的坐标可计算为P=R(1+2)P连续旋转是可加的.自己推导。,举例,5.3.3Scalings连续变比,n个连续缩放操作S(sx1,sy1),S(sx2,sy2),S(sxn,syn)的变换距阵连接,产生的组合变换距阵P=S(sxn,syn)*S(sx2,sy2)*S(sx1,sy1)*PS(sx2,sy2)*S(sx1,sy1)=S(sx1*sx2,sy1*sy1)连续缩放操作是相乘的,非叠加的,自己推导。前三个基本变换是针对原点和X,Y轴的。,举例,5.3.4通用基准点变换,Solution平移使基准点移动到坐标原点(T)针对原点做指定变换(M)反向平移使基准点回到原始位置(T-1)Examples,Example1针对固定点变比,y,10 xf01yf001,sx000sy0001,10-xf01-yf001,Example2针对固定点旋转,10 xf01yf001,y,cos-sin0sincos0001,10-xf01-yf001,5.3.5通用方向变换,Solution旋转对象使任意方向与坐标轴方向重合针对坐标轴方向做指定变换反向旋转使任意方向回到原方向Example,Example,cos-45sin-450Sin-45cos-450001,100020001,S1=1,S2=2=45,cos45-sin450sin45cos450001,3/21/201/23/20001,M=,03/221/201/223/21111,P=M*,011000111111,=,xrsxxrsxytrsxxy=rsyxrsyytrsyy10011,5.3.6通用复合变换矩阵,Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),二维变换内容,5.32D其他变换,Reflections反射(对称)Reflectionaboutx-axisX轴反射Reflectionabouty-axisY轴反射Reflectionabout(0,0)原点反射Reflectionaboutx=y45度线反射Shearing错切shearinginxX方向错切shearinginyY方向错切,1Reflection反射,aboutx-axis1000-10001,X轴坐标不变Y轴坐标变反,abouty-axis-100010001,Y轴坐标不变X轴坐标变反,about(0,0)-1000-10001,X轴坐标变反Y轴坐标变反,绕原点旋转180,Aboutx=y010100001,X,Y坐标互换位置,举例,2shearing错切(X/Y方向的拉伸),1SHx0010001,100SHy10001,举例,二维变换内容,Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),坐标系间的变换,平移(x0,y0)到(0,0)旋转轴x使与x轴重合M=R(-)*T(-x0,-y0),x,y,x,y,x0,y0,y方向的单位矢量v=V/|V|=(vx,vy)V顺旋90度获得x的单位矢量u=(vy,-vx)=(ux,uy)uxuy0R=vxvy0001,V,二维变换内容,Basictransformation(基本变换)Matrixrepresentation(矩阵表示)Compositetransformation(复合变换)Other2Dtransformations(其他变换)TransformationbetweenCoordinateSystems(坐标系间的变换)Rastermethodoftransformation(变换的光栅方法),二维观察内容,2DViewingPipeline(二维观察流程)ClippingWindowViewport2DClipping(二维裁剪)PointclippingLineclippingAreaclippingTextclipping,5.4.12DViewingPipeline,Def.常规图形系统中,世界坐标系中指定的用于显示的坐标区域-裁剪窗口(clippingwindow)或窗口(window)Def.显示设备上用于窗口映射的坐标区域-视区、视口(viewport)。Def.通常,世界坐标系中部分场景映射到设备坐标系的过程-观察(视图、视像)变换。,世界坐标系(WorldCoordinates)图形定义时所采用的坐标系,坐标的大小和尺寸由用户确定。设备坐标系(DeviceCoordinates)与一个图形设备相关的坐标系叫设备坐标系。如显示器或打印机有它们自己的坐标系。规范化坐标系(NormalizedCoordinates)它是独立于具体物理设备的一种坐标系,其显示空间在X和Y方向上都是从0到1,坐标系,窗口-视口变换,保持视口与窗口中的对象具有同样的相对位置,必须满足(Xw-W1)/(W2-W1)=(Xv-V1)/(V2-V1)(Yw-W3)/(W4-W3)=(Yv-V3)/(V4-V3),窗口-视口变换,Xv=SxXw+txYv=SyYw+ty缩放系数Sx=(V2-V1)/(W2-W1)Sy=(V4-V3)/(W4-W3)平移参数tx=(W2*V1-W1*V2)/(W2-W1)ty=(W4*V3-W3*V4)/(W4-W3),已知w1=10,w2=20,w3=40,w4=80,v1=80,v2=110,v3=10,v4=130,窗口中一点P(15,60),求视区中的映射点P?解:(15-10)/(20-10)=(xv-80)/(110-80)(60-40)/(80-40)=(yv-10)/(130-10)xv=95,yv=70,Example,二维观察内容,2DViewingPipeline(二维观察流程)ClippingWindowViewport2DClipping(二维裁剪)PointclippingLineclippingAreaclippingTextclipping,5.4.42D裁剪,裁剪定义Clipping识别图形在指定区域内或区域外的过程-裁剪裁剪的时机(1)针对窗口边界裁剪(2)针对视区边界裁剪,裁剪类型点裁剪直线裁剪多边形区域裁剪曲线裁剪(自学)文字裁剪,5.4.5点的裁剪,点(x,y)如果满足下列不等式则保留:w1=x=w2w3u2所以线段全部被裁剪,线段的两个端点(-2,-1)和(1,1.5)窗口边界x1=-1,x2=1,y1=-1,y2=1,LB线段裁剪算法例2,x=3,y=2.5p1=-3q1=-1r1=1/3p2=3q2=3r2=1p3=-2.5q3=0r3=0p4=2.5q4=2r1=4/5对于p0,u2=min1,1,4/5=4/5则u1*u1)*u1=r;returnTRUE;。/下页,elseif(p0)r=p/q;if(r*u1)returnFALSE;elseif(r*u2)*u2=r;returnTRUE;elseif(q0)returnFALSE;returnTRUE;,LBvs.CSLB效率高于CS,因为减少了交点计算次数。参数u1和u2的更新需要四次除法,交点坐标计算至多4次乘法。Liang-Barsky和Cohen-Sutherland算法很容易扩展为三维裁剪算法,3中点分割裁剪算法,基本思想:与前一种Cohen-Sutherland算法一样首先对线段端点进行编码,并把线段与窗口的关系分为三种情况:全在、完全不在和线段和窗口有交。对前两种情况,进行一样的处理。对于第三种情况,用中点分割的方法求出线段与窗口的交点。,求线段与窗口的交点,A、B分别为距P0、P1最近的可见点,Pm为P0P1中点,问:算法为什么可行?会不会无限循环、不断二分?,从出发找最近可见点的方法先求出的中点若不是显然不可见的,并且在窗口中有可见部分,则距最近的可见点一定落在上,所以用代替;,否则取代替再对新的求中点。重复上述过程,直到长度小于给定的控制常数为止,此时收敛于交点。从出发找最近可见点采用上面类似方法。,中点分割算法的核心思想是通过二分逼近来确定直线段与窗口的交点。,举例,4NLN直线裁剪算法IDEA通过在裁剪窗口周围创立多个区域,并在求交运算之前进行更多的区域测试,从而避免对直线段进行多次剪裁。适用范围仅仅适用于2D剪裁,算法步骤从P1点向窗口的四个角点发出射线,这四条射线和窗口的四条边界直线一起将二维平面划分为更多的小区域。,线段端点P1的三种位置,Case1,Case2,Case3A,Case3B,P2位置?比较直线段P1P2的斜率和剪裁区域边界的斜率.yt-y1y2-y1yt-y1xr-x1x2-x1xl-x1交点计算,裁剪类型点裁剪直线裁剪多边形区域裁剪曲线裁剪(自学)文字裁剪,5.4.7多边形的裁剪,问题的提出:,裁剪算法Sutherland-Hodgman算法Weiler-Atherton算法,多边形的裁剪算法,1.Sutherland-Hodgeman多边形裁剪,基本思想:以多边形顶点为初始集合,首先用窗口左边界剪裁多边形,产生新的顶点序列。新的顶点集依次传给右边界、下边界和上边界进行处理。SH算法最终输出定义剪裁后的多边形边界的顶点序列。,沿多边形依次处理顶点有四种情况剪裁情况一Sout,Pin;由外至内输出i和p,剪裁情况二S2.文字裁剪文字裁剪的策略包括几种:串精度裁剪字符精度裁剪笔划、象素精度裁剪,3.外部裁剪保留落在裁剪区域外的图形部分、去掉裁剪区域内的所有图形,这种裁剪过程称为外部裁剪,也称空白裁剪。,字符裁剪,串精度:将包围字串的外接矩形对窗口作裁剪字符精度:将包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承住房协议书
- 辞退补偿保密协议书
- 远期利率协议书计算
- 工伤事故和解协议书范本
- 二手房提前装修协议书
- 国际许可证协议书根据许可人
- 电表 通信 协议书
- 中国广电天水市2025秋招笔试行测题库及答案行业解决方案经理岗
- 中国广电佛山市2025秋招笔试行测题库及答案互联网运营
- 海南工程车辆安全培训课件
- 食材配送服务方案投标方案【修订版】(技术标)
- JT-T-795-2011事故汽车修复技术规范
- GB/T 43731-2024生物样本库中生物样本处理方法的确认和验证通用要求
- 食品行业的食品创新与新产品开发
- 华中师范大学2016年841物理化学考研真题
- 岩棉复合板外墙保温的施工工艺
- JJF 1334-2012混凝土裂缝宽度及深度测量仪校准规范
- GB/T 4025-2010人机界面标志标识的基本和安全规则指示器和操作器件的编码规则
- 大学学生转学(转入)申请表
- 角膜 角膜炎课件
- DL∕T 5440-2020 重覆冰架空输电线路设计技术规程
评论
0/150
提交评论