第四章 图形变换——投影变换

上传人:猪** 文档编号:243416470 上传时间:2024-09-22 格式:PPT 页数:103 大小:4.46MB
返回 下载 相关 举报
第四章 图形变换——投影变换_第1页
第1页 / 共103页
第四章 图形变换——投影变换_第2页
第2页 / 共103页
第四章 图形变换——投影变换_第3页
第3页 / 共103页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,4.2,三维图形投影变换,通常图形输出设备(显示器,绘图仪等)都是二维的,所以要将三维坐标系下图形上各点的坐标转化为某一平面坐标系下的二维坐标。,投影变换,:,把三维物体变为二维图形表示的过程称为投影变换。,投影平面,三维场景生成步骤类似于照相机拍摄一张照片的过程,,s1,、,s2,、,s3,可为任意指定平面,指定一个投影面,再取景物面片上的一条线段,AB,,把线段投影到投影面上,如图,:,投影中心、观察平面、投影线:,透视投影,:,物体位置沿收敛于一点的直线变换到观察平面,投影中心到观察平面之间的距离是有限的。,平行投影,:,物体位置沿平行线变换到观察平面上,投影中心到观察平面之间的距离是无限的。,平面几何投影分为透视投影和平行投影,平行投影,根据投影线方向与投影平面的夹角,平行投影分为两类:,正投影和斜投影。,4.3.1,正投影,正投影又可分为:三视图和正轴测。,当观察平面与某一坐标轴垂直时,得到的投影为三视图;否则,得到的投影为正轴测图。,三视图:正视图、侧视图和俯视图,4.2.1.1,三视图,4.2.1.1,三视图,三视图包括主视图、侧视图和俯视图三种,观察平面分别与,Y,轴、,X,轴和,Z,轴垂直。,把三维空间的图形在三个方向上所看到的棱线分别投影到三个坐标面上。再经过适当变换放置,到同一平面上。,计算步骤:,确定三维物体上各点的位置坐标,引入齐次坐标表示位置坐标,将所作变换用矩阵表示,通过矩阵运算求得三维物体上各点,(,x,y,z,),经变换后的相应点,(,x,y,),(,xoy,平面)或,(,y,z,) (,yoz,平面),由变换后的所有二维点绘出三维物体投影后的三视图。,三视图,1,、主视图,(,V,),面,将三维物体向,xoz,面(又称,V,面)作垂直投影(即正平行投影),得到主视图。,设三维点为,(,x, y, z,),则正向投影点为,(,x,y,z,),三维物体向,xoy,面(又称,H,面,),作垂直投影得到俯视图,,(1),投影变换,(2),使,H,面绕,x,轴顺时针旋转,90,(3),使,H,面沿,z,方向平移一段距离,-n,2,、 俯视图,(,H,),面,三维型体及其三视图,设三维点为(,x, y, z,),则正向投影点为,(,x, y, z,),点在,H,面上投影的坐标变换为:,3,、,侧视图,(,W,面,),侧视图是将三维物体往,yoz,面,(,侧面,W,)作垂直投影。,(1),侧视图的投影变换,(2),使,W,面绕,z,轴逆时针旋转,90,(3),使,W,面沿负,x,方向平移一段距离,-k,点的侧面,(,W,),投影变换为:,注意:,由上述我们可以看出,三个视图中,y,均为,0,这是由于变换后三个视图均落在,XOZ,平面上的缘故。,因此,可用,x,,,z,坐标直接画出三个视图。,正轴测有等轴测、正二测和正三测三种。,当观察平面与三个坐标轴之间的夹角都相等时为等轴测;,当观察平面与两个坐标轴之间的夹角相等时为正二测;,当观察平面与三个坐标轴之间的夹角都不相等时为正三测。,4.2.1.2,正轴测图,正轴测投影方式:,先将三维实体分别绕两个坐标轴旋转一定的角度,然后再向由这两个坐标轴所决定的坐标平面作正投影。,正轴测投影有三种方式:,二、先将三维实体绕,X,轴和,Z,轴分别旋转一定的角度,然后再向,XOZ,平面,(,V,面,),作正投影;,三、先将三维实体绕,Y,轴和,Z,轴分别旋转一定的角度,然后再向,YOZ,平面,(,W,面,),作正投影。,一、先将三维实体绕,X,轴和,Y,轴分别旋转一定,的角度,然后再向,XOY,平面(,H,面)作正投影,最常用的是第二种方式,第二种方式的正轴测投影过程为:,将三维实体绕,Z,轴逆时针转,角;,将三维实体绕,X,轴顺时针转,角;,向,XOZ,平面(,V,面)作正投影。,1,、正轴测投影变换矩阵,2,轴向变形系数,原坐标轴经轴测投影变换后,其在,V,面上的投影长度发生变化,我们把,OX/OX=,x,OY/OY =,y,OZ/OZ,=,z,分别称为,OX,轴,OY,轴和,OZ,轴的轴向变形系数。,为了便于讨论,沿,X,Y,Z,方向各取一单位长度,可得三点的齐次坐标分别为:,A1 0 0 1, B0 1 0 1,C0 0 1 1 ,。,对其进行正轴测投影变换,变换得:,X,y,z,三个轴向的变形系数为:,3,正等轴测投影变换,所谓正等轴测投影就是当,x,=,y,=,z,时所得到的正等轴测图。由,x,=,y,=,z,得:,由,得:,即,:,(,),取,在正轴测投影变换中,一般地 ,即,所以:,取,将 代入,中得:,将 代入 得到正等轴测投影变换矩阵为:,轴间变形系数:,因此正等轴测投影变换就是用图形点集,X Y Z 1T,ISO,即可。,例:若有一个边长为,100,的正六面体,其各顶点坐标为,:,O,(0, 0, 0),,,A,(0, 0, 100),,,B,(100, 0, 100),C,(100, 100,100),D,(0, 100, 100),E,(100, 0, 0),F,(100, 100, 0),G,(0, 100, 0),。,现对它进行正等轴测投影,4,正二轴测投影变换,由,得:,代入,,解得:,正二轴测图其轴向变形系数有如下关系:,则:,将 代入 ,得正二轴测投影变换矩阵:,轴向变形系数:,因此正二轴测投影变换就是用图形点集,X Y Z,1,T,正二,即可。,例:若有一个边长为,100,的正立方面体,其各顶点坐标为,O,(0, 0, 0),,,A,(0, 0, 100),,,B,(100, 0, 100),C,(100, 100,100),D,(0, 100, 100),E,(100, 0, 0),F,(100, 100, 0),G,(0, 100, 0),。,对立方体进行正二轴测投影变换为,斜投影图,即斜轴测图,是将三维物体向一个单一的观察平面作平行投影,但投影方向不垂直于观察平面所得到的平面图形。,常用的斜轴测图有斜等测图和斜二测图。,4.2.2,斜投影,斜平行投影,斜轴测图的形成,即:,斜等测投影变换矩阵一,斜等测投影变换矩阵二,斜二测投影变换矩阵一,斜二测投影变换矩阵二,透视投影是一种中心投影法,在日常生活中,我们观察外界的景物时,常会看到一些明显的透视现象。,如:站在笔直的大街上,向远处看去,会感到街上具有相同高度的路灯柱子,显得近处高,远处矮,越远越矮。这些路灯柱子,即使它们间的距离相等,但是视觉产生的效果是近处的间隔显得大,远处的间隔显得小,越远越密。观察道路的宽度,也会感到越远越窄,最后汇聚于一点。这些现象,称之为透视现象。,4.2.2,透视投影变换,图中,AA,BB,CC,为一组高度和间隔都相等,排成一条直线的电线杆,从视点,E,去看,发现,AEA,BEB,CEC,若在视点,E,与物体间设置一个透明的画面,P,,则在画面上看到的各电线杆的投影,aa,bbcc,aa,即,EA,EA,与画面,P,的交点的连线,;,bb,即为,EB,EB,与画面,P,的交点的连线。,cc,即为,EC,EC,与画面,P,的交点的连线。,近大远小,产生透视的原因,可用下图来说明:,若连,a,b,c,及,a,b,c,各点,它们的连线汇聚于一点。,然而,实际上,A,B,C,与,A,B,C,的连线是两条互相平行的直线,这说明空间不平行于画面,(,投影面)的一切平行线的透视投影,即,a,b,c,与,a,b,c,的连线,必交于一点,这点我们称之为灭点。,透视投影,投影中心与投影平面之间的距离为有限,特点:产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实。,灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点,.,主灭点,:,平行于坐标轴的平行线产生的灭点,一点透视、两点透视、三点透视,主灭点数是和投影平面切割坐标轴的数量相对,应的,即由坐标轴与投影平面交点的数量来决定,的。,如投影平面仅切割,z,轴,则,z,轴是投影平面,的法线,因而只在,z,轴上有一个主灭点,平行于,x,轴或,y,轴的直线也平行于投影平面,因而没有主,灭点。,y,x,z,o,一点透视(平行透视),人眼从正面去观察一个立方体,当,z,轴与投影,平面垂直时,另两根轴,ox,oy,轴平行于投影平,面。这时的立方体透视图只有一个主灭点,即与画面垂直的那组平行线的透视投影交于,一点。,二点透视(成角透视),人眼观看的立方体是绕,y,轴旋转一个角度之后,再进行透视投影。三坐标轴中,oy,轴与投影平面平行,而其它两轴与画面倾斜,这时除平行于,oy,轴的那组平行线外,其它两组平行线的透视投影分别在投影平面的左右两侧,作出的立方体透视图产生两个主灭点。,三点透视(斜透视),此时,投影平面与三坐标轴均不平行。,这时的三组平行线均产生灭点。,透视举例,1,、一点透视投影变换矩阵,(,1,)设,z,轴上有一观察点(即视点),V(0,0,h),从,V,点出发将空间任意一点,P(x,y,z),投影到,XOY,平面上得到,P (x,y,0),由相似三角形可知:,令,:,变换矩阵为,齐次坐标变换,它可以看作是先作变换,再作变换,的合成。,在透视变换,T,r,下有:,当,z,时,,x,0,y,0,z,-,h,(0,0,-,h,),为该透视的一个主灭点。,(,2,)视点在,(,h,0,0),的透视变换,主灭点在,(-,h,0,0),透视投影变换矩阵为:,(,3,)视点在,(0,h,0),的透视变换,主灭点在,(0,-h,0),透视投影变换矩阵为:,在变换矩阵中,第四列的,p,q,r,起透视变换作用,用,T,p,、,T,q,、,T,r,、,表示三个透视投影变换矩阵,当,p,、,q,、,r,中有一个不为,0,时的变换。,假定,q!=0,p=r=0,.,对空间上任一点,(,x,y,z,),进行透视变换结果如下:,对该结果进行规范化处理后,便得:,习惯上使用,XOZ,面作为投影平面,为了增强透视效果,通常将物体置于画面,V,之后,水平面,H,之下,若物体不在该位置时,应首先把物体平移到此位置,然后再进行透视投影变换。,q,的选择决定了视点的位置,一般选择视点位于画面,V,之前。,T,1,=T,t,*T,q,*T,xoz,=,例:有一个边长为,100,的正六面体,其各顶点坐标为,O,(,0, 0, 0,),,A,(,0, 0, 100,),,B,(,100, 0, 100,),C,(,100, 100,100,),D,(,0, 100, 100,),E,(,100, 0, 0,),F,(,100, 100, 0,),G,(,0, 100, 0,)。,令,a=60,b=-120,c=-120,q=-0.5,在变换矩阵中,第四列的,p,q,r,起透视变换作用,当,p,、,q,、,r,中有两个不为,0,时的透视变换称为二点透视变换。,假设,p!=0,q!=0, r=0,,将空间上一点,(x,y,z),进行变换,可得如下结果:,、 二点透视投影变换矩阵,由上式可看出:,当,x-,时,在,X,轴上,处有一个灭点;,当,y-,时,在,Y,轴上,处有一个灭点;,经齐次化处理后得:,1/p,1/q,为了使二点透视后的投影有一恰当的位置,通常采取平移、透视,(,T,p,和,T,q,),、绕,Z,轴正转 角、再向,XOZ,平面投影。,平移:设平移量分别为,a,、,b,、,c,;,透视变换:变换矩阵为,T,pq,;,绕,Z,轴正转 角;,向,XOZ,平面投影。,变换结果如图所示。,Z,X,O,若,p,q,r,都不为,0,,则可得到有三个灭点的三点透视。,经齐次化处理后得:,3,、 三点透视投影变换矩阵,由上式可看出:,当,x-,时,在,X,轴上,1/p,处有一个灭点;,当,y-,时,在,Y,轴上,1/q,处有一个灭点;,当,z-,时,在,Z,轴上,1/r,处有一个灭点;,4.3,窗口视区变换,4.3.1,坐标系,世界坐标系,(World Coordinate System,简称,WC),是最常用的坐标系,它是一个符合右手定则的直角坐标系,其中图,4.25(a),是定义二维图形的坐标系,图,4.25(b),是定义三维物体的坐标。,1,世界坐标系,Y,X,O,Y,X,O,Z,图,4.25,世界坐标系,世界坐标系是用来定义用户在二维或三维世界中的物体,因此也称为用户坐标系。理论上,世界坐标系是无限大且连续的,即它的定义域为实数域。,图形输出设备,(,如显示器、绘图仪,),自身都有一个坐标系称之为设备坐标系,(Device Coordinate System),简称,DC,或物理坐标系。,2,设备坐标系,设备坐标系是一个二维平面坐标系,它的度量单位是步长,(,绘图仪,),或象素,(,显示器,),因此它的定义域是整数域且是有界的。例如,对显示器而言,分辩率就是其设备坐标系的界限范围。,由于用户的图形是定义在用户坐标系里,而图形的输出定义在设备坐标系里,它依赖于具体的图形设备。由于不同的图形设备具有不同的设备坐标系,且不同设备之间坐标范围也不尽相同,.,例如:分辨率为,1024768,的显示器,其屏幕坐标范围为:,X,方向,0,1023,,,Y,方向,0,767,,而分辨率为,640480,的显示器,其屏幕坐标范围为:,X,方向,0,639,,,Y,方向,0,479,,显然这使得应用程序与具体的图形输出设备有关,给图形处理及应用程序的移植带来不便。,3,规格化设备坐标系,为了便于图形处理,有必要定义一个标准设备,我们引入与设备无关的规格化的设备坐标系(,Normalized Device Coordinate System,简称,NDC,),采用一种无量纲的单位代替设备坐标,当输出图形时,再转换为具体的设备坐标。,规格化设备坐标系的取值范围为,:,左下角,(0.0,0.0),右上角,(1.0,1.0),。用户的图形数据经转换成规格化的设备坐标系中的值,使应用程序与图形设备隔离开,增强了应用程序的可移值性。,在图形处理中,上述三种坐标系的转换关系如图,4.26,所示。,Y,X,O,Y,X,O,1,1,Y,X,O,图,4.26 WC,、,NDC,和,DC,三种坐标系的转换,4.3.2,窗口与视区,1,窗口,在计算机中,窗口是图形的可见部分,是在用户坐标系中定义的确定显示内容的一个矩形区域,只有在这个区域内的图形才能在设备坐标系下输出,而窗口外的部分则被裁掉。,如图,4.27,所示,我们用矩形的左下角点的坐标,(,W,xl,W,yb,),和右上角点的坐标,(,W,xr,W,yt,),来确定窗口的大小和位置,通过改变窗口的大小、位置和比例,可以方便地观察局部图形,控制图形的大小。,Y,X,O,W,xl,W,xr,W,yb,W,yt,(,W,xl,W,yb,),(,W,xr,W,yt,),图,4.27,窗口的定义,视区是在设备坐标系,(,通常是屏幕,),中定义的一个矩形区域,用于输出窗口中的图形。视区决定了窗口中的图形要显示于屏幕上的位置和大小。,2.,视区,视区是一个有限的整数域,它应小于等于屏幕区域。这样可以在同一屏幕上定义多个视区,用来同时显示不同的图形信息。例图,4.28,表示在同一屏幕上定义了四个视区,分别代表一个机械零件的正视图,侧视图、俯视图和轴测图。,图,4.28,一个三维物体的多视图,4.3.3,窗口,-,视区变换,由于窗口和视区是在不同的坐标系中定义的,因此,在把窗口中的图形信息送到视区去输出之前,必须进行坐标变换,即把用户坐标系的坐标值转化为设备(屏幕)坐标系的坐标值,这个变换即为窗口,-,视区变换。,如图,4.29,所示,设在用户坐标系下定义的窗口为:左下角点坐标,(,W,xl,W,yb,),右上角点坐标,(,W,xr,W,yt,),;在设备坐标系中定义的视区为:左下角点坐标,(,V,xl,V,yb,),右上角点坐标,(,V,xr,V,yt,),。,Y,w,X,W,W,xl,W,xr,W,yt,W,yb,O,(,x,W,y,W,),Y,V,X,V,V,yt,V,yb,V,xl,V,xr,(,x,V,y,V,),O,图,4.29,窗口,-,视区变换,由图可知,在用户坐标系中的点(,x,w,,,y,w,),投影到设备坐标系中的点(,x,v,,,y,v,),,有下列等式:,(,4-1,),由(,5-1,)式得窗口中一点,W,(,x,w,,,y,w,),变换到视区中对应的点,V,(,x,v,,,y,v,),二者之间的关系为:,(,4-2,),设,:,则,(5-2),式可写成:,(,4-3,),写成矩阵为:,(,4-4),4.4,视向变换,4.4.1,世界坐标系和观察坐标系,这里再引进一种新的参考坐标系,这种坐标系比较符合人们在三维空间中观察物体和绘图的习惯。这个习惯包括这样两点:, 当观察空间某一物体时,该物体与视点之间距离的大小反映了物体离我们的远近,称该距离为“观察深度”或简称深度。这个深度应该在新坐标系里的某个坐标轴上得到相应的体现:即深度大,该坐标值应大;反之,深度小,则该坐标值应小。,我们平常在图纸上绘图时,二维绘图坐标系的位置一般使坐标系的原点在图纸的左下角,然后让,x,轴自原点水平向右,让,y,轴自原点垂直向上。这比较符合人们平常看图和作图的习惯。为满足这一习惯,我们可以让新的坐标系中有一根坐标轴自左水平向右,而让另一根坐标轴自下垂直向上,以使这两根坐标轴确定的坐标平面和二维绘图平面相对应,使三维立体在这个坐标平面上产生的投影能与图形输出平面上输出的图形之间产生直观的对应。这样就给三维立体的二维表示带来了极大的方便。,显然,满足以上要求的坐标系列化可以通过以下的方法来设置:, 把坐标系原点设置在观察点(即视点处,),让坐标系中的一根坐标轴从该原点出发,顺着观察方向指向远方。那么该坐标轴上的坐标就反映了空间立体的观察深度的大小,该轴即为深度坐标轴,在这里我们指定由,z,轴来做深度坐标轴。,然后让另外两根坐标轴中的一根自该原点水平向右;另一根自原点向上。为了和图形输出平面坐标系统直接对应,把水平向右的轴设置为,x,轴,而把向上的坐标轴设置为,y,轴。,这个新的参考坐标系是一个符合左手规则的笛卡尔坐标系,我们称这个坐标系为“观察坐标系”。,建立一个观察坐标系,主要取决于两个因素,:,一个是,观察点的位置,因为观察点的位置决定了坐标系原点位置,;,另一个是,观察方向,它决定了深度坐标轴的指向。,观察点和观察方向是可以由观察者随意定的,即观察点可以设置在空间的任意位置,观察方向可以朝向任何一个方向,于是观察坐标系也是随意的。为了简化问题,我们在这里作了一个假定:,观察点可以设置在空间的任何位置,但观察方向总是指向世界坐标系的原点。,4.4.2,视向变换矩阵,把世界坐标系中的点,P(x,y,z),转换为观察坐标系中的点,P*(x*,y*,z*),的过程称为“视向变换”。视向变换也是一种坐标变换,可以用矩阵的形式表示为:,x* y* z* 1 = x y z 1V,式中的,V,称为视向变换矩阵。因为视向变换是不能靠一次单一的简单变换就可以实现的,所以视向变换矩阵,V,是一个包括平移和旋转的多次变换的级联。,视向变换矩阵,V,的推导过程如下:, 因为观察坐标系的原点设置在观察点,所以一旦选定了观察点,观察坐标系的原点也就确定了。这一步把坐标系原点变到观察点位置的变换,是通过把坐标系原点从世界坐标系的原点平移到观察点,E(x,y,z,),来完成的。,Z,W,X,W,Y,W,O,X,Z,Y,E,Z,W,X,W,Y,W,O,E,X,Z,Y,图,4.30,坐标平移(左)和绕,x,轴旋转,(,右,), 第二步是将经过平移后的坐标系绕,x,轴逆时针旋转,90,,改变,y,轴和,z,轴的指向,使得,y,轴垂直向上,,z,轴垂直指向,x,w,o,z,w,坐标平面,如图,4.30,(右)所示的那样,该旋转变换矩阵为:, 第三步是将经过上两次变换后的坐标系绕,y,轴顺时针旋转一个值为,的角度,使得新坐标系的,z,轴垂直指向原来世界坐标系的,z,w,轴,见图,4.31,(左)所示。,其矩阵中的三角函数值可以用直角三角形的关系求得。即:, 第四步是将经过以上三次变换后的坐标系再一次绕,x,轴逆时针旋转,角,将新坐标系的,z,轴指向原世界坐标系的原点,见图,4.31,(右)所示。,O,Z,W,X,W,Y,w,E,Y,Z,X,O,Z,W,X,W,Y,w,E,Y,Z,X,图,4.31,绕,y,轴旋转(左)和绕,x,轴旋转(右),这次旋转的变换矩阵为:,同样可以由直角三角形的关系推导出矩阵中三角函数的值:,经过以上的四次变换后,我们已经使得新的坐标系的原点放置到了观察点,并使,z,轴指向了原世界坐标系的原点(观察点),,y,轴指向上面。,唯一所差的是,x,轴还未变为指向右边。所以这最后的一步变换是要调整,x,轴的指向,使其由原来指向左边改变成指向右边。从而最终使得坐标系由原来的右手系改变成了左手系,完成了视向变换的全过程。,实现改变,x,轴指向的变换矩阵为:,先后经过上述的五次变换,实现了由原来世界坐标系到观察坐标系的转变,从而完成了视向变换,所以视向变换矩阵,V,就是上面五个基本变换矩阵的级联,即:,x,,,y,,,z,为观察点的三坐标值。,式中:,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!