资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,三维变换和投影,菅光宾,数字媒体系,本章内容,6.1,三维基本几何,6.2,三维基本几何变换矩阵,6.4,投影变换,6.5,透视,变换,用规范化齐次坐标表示的三维图形基本几何变换矩阵是一个,4,4,方阵,简称为三维变换矩阵,。,(,6-1,),6.1.1,三维变换矩阵,对图进行比例、旋转、反射和错切变换。,对图,形进行平移变换,对图形进行,投影变换。,对图形进行,整体比例变换。,三维几何变换的基本方法是把变换矩阵作为一个算子,作用到变换前的图形顶点集合的规范化齐次坐标矩阵上,得到变换后新的图形顶点集合的规范化齐次坐标矩阵。连接变换后的新的图形顶点,可以绘制出变换后的三维图形。,6.1.2,三维几何变换,设图形变换前的顶点集合的规范化齐次坐标矩阵为:,变换后的顶点集合的规范化齐次坐标矩阵为:,变换矩阵为:,则三维图形基本几何变换有,可以写成:,(,6-2,),6.2.1,平移变换,平移变换的坐标表示为:,因此,三维平移变换矩阵为:,T,x,,,T,y,,,T,z,是平移参数。,(,6-3,),比例变换的坐标表示为:,因此,三维比例变换矩阵为:,S,x,,,S,y,,,S,z,是比例系数,(,6-4,),6.2.2,比例变换,6.2.3,旋转变换,三维旋转一般看作是二维旋转变换的组合,可以分为:绕,x,轴的旋转,绕,y,轴的旋转,绕,z,轴的旋转。转角的正向满足,右手定则,:大拇指指向旋转轴,四指的转向为正向。,因此,绕,x,轴的三维旋转变换矩阵为:,为正向旋转角,绕,x,轴旋转变换的坐标表示为:,(,6-5,),1.,绕,x,轴旋转,因此,绕,y,轴的三维旋转变换矩阵为:,绕,y,轴旋转变换的坐标表示为:,(,6-6,),2.,绕,y,轴旋转,因此,绕,z,轴的三维旋转变换矩阵为:,绕,z,轴旋转变换的坐标表示为:,(,6-7,),3.,绕,z,轴旋转,三维反射可以分为:关于坐标轴的反射和关于坐标平面的反射两类。,(,6-8,),6.2.4,反射变换,因此,关于,x,轴的三维反射变换矩阵为:,1.,关于,x,轴的反射,关于,x,轴反射变换的坐标表示为:,关于,y,轴反射变换的坐标表示为:,因此,关于,y,轴的三维反射变换矩阵为:,(,6-9,),关于,y,轴的反射,关于,z,轴反射变换的坐标表示为:,因此,关于,z,轴的三维反射变换矩阵为:,(,6-10,),3,、关于,z,轴的反射,关于,xoy,面反射变换的坐标表示为:,因此,关于,xoy,面的三维反射变换矩阵为:,(,6-11,),4,、关于,xoy,面的反射,关于,yoz,面反射变换的坐标表示为:,因此,关于,yoz,面的三维反射变换矩阵为:,(,6-12,),5,、关于,yoz,面的反射,关于,zox,面反射变换的坐标表示为:,因此,关于,zox,面的三维反射变换矩阵为:,(,6-13,),6,、关于,zox,面的反射,三维错切变换的坐标表示为:,(,6-14,),6.2.5,错切变换,因此,三维错切变换矩阵为:,三维错切变换中,一个坐标的变化受另外两个坐标变化的影响。如果变换矩阵第,1,列中元素,d,和,g,不为,0,,产生沿,x,轴方向的错切;第,2,列中元素,b,和,h,不为,0,,产生沿,y,轴方向的错切;第,3,列中元素,c,和,f,不为,0,,产生沿,z,轴方向的错切。,此时,,b,0,,,h,0,,,c,0,,,f,0,。,因此,沿,x,方向错切变换矩阵为:,当,d,0,时,错切平面离开,z,轴,沿,x,方向移动,gz,距离;当,g,0,时,错切平面离开,y,轴,沿,x,方向移动,dy,距离。,(,6-15,),1.,沿,x,方向错切,2.,沿,y,方向错切,此时,,d,0,,,g,0,,,c,0,,,f,0,。,同理可得,沿,y,方向错切变换矩阵为:,当,b,0,时,错切平面离开,z,轴,沿,y,方向移动,hz,距离;当,h,0,时,错切平面离开,x,轴,沿,y,方向移动,bx,距离。,(,6-16,),此时,,d,0,,,g,0,,,b,0,,,h,0,。,同理可得,沿,z,方向错切变换矩阵为:,当,c,0,时,错切平面离开,y,轴,沿,z,方向移动,fy,距离;当,f,0,时,错切平面离开,x,轴,沿,z,方向移动,cx,距离。,(,6-17,),3.,沿,z,方向错切,6.3,三维复合变换,三维基本几何变换是相对于坐标原点和坐标轴进行的几何变换。同二维复合变换类似,三维复合变换是指对图形作一次以上的基本几何变换,总变换矩阵是每一步变换矩阵相乘的结果。,例,6-1,已知空间线段的坐标是,P,1,(x,1,,,y,1,,,z,1,),,,P,2,(x,2,,,y,2,,,z,2,),,它与三个坐标轴的方向余弦分别为:,求空间一点,P(x,,,y,,,z),绕,P,1,P,2,逆时针旋转,角的各个步骤的变换矩阵。,P,2,P,P,1,图,6-1,绕空间直线段旋转,变换方法为,将,P,1,(x,1,y,1,z,1,),平移到坐标原点,并使,P,1,P,2,分别绕,y,轴、,x,轴旋转适当角度与,y,轴重合,再绕,y,轴逆时针旋转,角,最后再进行上述变换的逆变换,使,P,1,P,2,回到原来位置。,(1),将,P,1,(x,1,,,y,1,,,z,1,),平移到坐标原点,(,6-18,),(,2),将,P,1,P,2,轴绕,y,轴旋转,y,角,与,yoz,平面重合,(,6-19,),(3),将,P,1,P,2,轴绕,x,轴旋转,x,角,与,y,轴重合,(,6-20,),(4),将,P(x,,,y,,,z,)点绕,y,轴旋转,角,(,6-21,),(,5,)将,P,1,P,2,绕,x,轴旋转,-,x,角,(,6-22,),(,6,)将,P1P2,绕,y,轴旋转,-,y,角,其变换矩阵为,(,6-23,),(,7,)将,P,1,(x,1,,,y,1,,,z,1,),点平移回原位置,(,6-24,),式中,,sin,x,、,sin,y,、,cos,x,、,cos,y,为中间变量。,考虑,P,1,P,2,轴上的单位矢量,n,,它在三个坐标轴上的投影值为,n,1,、,n,2,、,n,3,。取,y,轴上一单位矢量将其绕,x,轴旋转,-,x,角,再绕,y,轴旋转,-,y,角,则此单位矢量将同单位矢量,n,重合,其变换过程为:,即,,同时考虑到,6.4,平行投影,由于显示器只能用二维图像表示三维物体,因此三维物体就要靠投影来降低维数得到二维平面图形,因此把三维物体转变为二维图形的过程称为投影变换。,投影中心到投影面的距离为无限大时得到的投影称为平行投影。平行投影的最大特点是无论物体距离视点多远,投影后的物体尺寸保持不变。,平行投影可分成两类:正投影,(,正交投影,),和斜投影。当投影方向与投影面垂直时,得到的投影为正投影,否则为斜投影。,6.4.1,三视图,三视图是正投影视图,包括主视图、俯视图和侧视图,投影面分别与,y,轴、,z,轴和,x,轴垂直。即将三维物体分别对正面、水平面和侧平面做正投影得到三个基本视图。,侧视图,主视图,俯视图,图,6-2,正三棱柱的立体图 图,6-3,正三棱柱的三视图,将三棱柱向,xoz,面作正交投影,得到主视图。设三棱柱上任一点坐标用,P(x,,,y,,,z),表示,它在,xoz,面上投影后坐标为,P,(x,,,y,,,z,),。其中,x,=x,,,y,=0,,,z,=z,。,主视图投影变换矩阵为:,1.,主视图,将三棱柱向,xoy,面作正交投影得到俯视图。设三维物体上任一点坐标用,P(x,,,y,,,z),表示,它在,xoy,面上投影后坐标为,P,(x,y,z,),。其中,x,=x,,,y,=y,,,z,=0,。,投影变换矩阵为:,2.,俯视图,为了使俯视图和主视图在一个平面内,就要使,xoy,面绕,x,轴顺时针旋转,90,,旋转变换矩阵为:,为了使俯视图和主视图有一定的间距,还要使,xoy,面沿,z,负方向平移一段距离,-z,0,,平移变换矩阵为:,俯视图的投影变换矩阵为上述三个变换矩阵的乘积:,俯视图投影变换矩阵为:,将三棱柱向,yoz,面作垂直投影得到侧视图。设三维物体上任一点坐标用,P(x,,,y,,,z),表示,它在,yoz,面上投影后坐标为,P,(x,,,y,,,z,),。其中,x,=0,,,y,=y,,,z,=z,。,投影变换矩阵为:,3.,侧视图,为了在,xoz,平面内表示侧视图,需要将,yoz,面绕,z,轴逆时针旋转,90,旋转变换矩阵为:,为了使侧视图和主视图之间有一定的间距,还要将,yoz,面沿,x,轴负向平移一段距离,-x,0,,平移变换矩阵为:,侧视图的投影变换矩阵为上面三个变换矩阵的乘积:,侧视图投影变换矩阵为:,从三视图的三个变换矩阵可以看出,三个视图中的,y,坐标始终为,0,,表明三个视图均落在,xoz,平面上,即三维物体用二维视图来表示。三视图是工程上常用的图样,由于三视图中物体的一个投影面平行于坐标平面,其投影能真实地反映物体的实际尺寸,三个视图具有长对正、高平齐、宽相等的特点,因此,机械工程中常用三视图来测量形体间的距离、角度等尺寸。但是三视图缺乏立体感,只有将主视图、俯视图和侧视图结合在一起加以抽象,才能获得物体的空间结构。三视图的使用者一般需要接受,画法几何,、,机械制图,等课程的专业培训。,6.4.2,斜轴测图,斜轴侧图是将三维物体向投影面作平行投影,但投影方向不垂直于投影面得到的斜投影视图。斜平行投影能够将正平行投影的可测量性和投影的立体效果特性结合起来表示。比如选择投影面垂直于某个坐标轴,这样,平行于投影面的物体表面的长度和角度投影后保持不变,可以进行测量。,图,6-4,斜轴侧图原理,P,1,(,x,,,y,,,z,),P,2,(,0,,,y,,,z,),P,3,(,0,,,y,,,z,),所以,斜轴侧图的投影变换矩阵为,(,6-28,),取,45,=45,,得到的斜投影图为斜等侧图,代入式(,6-28,)有,(,6-29,),斜等测图,与平行投影相比,透视投影的特点是所有的投影线都从空间一点投射,离视点近的物体投影大,离视点远的物体投影小,小到极点成为灭点。生活中,照相机拍摄的照片,画家的写生画等均是透视投影的例子。透视投影模拟了人的眼睛观察物体的过程,符合人类的视觉习惯,所以在真实感图形中得到广泛应用。,一般将屏幕放在观察者和物体之间,如图,6-8,所示。投影线与屏幕的交点就是物体上点的透视投影。观察者的眼睛位置称为视点,视线与屏幕的交点称为视心,视点到视心的距离称为视距。,6.5,透视投影,图,6-8,透视变换中屏幕的位置,透视投影变换中,物体位于用户坐标系中,视点位于观察坐标系中,投影位于屏幕坐标系中。三种坐标系的关系如下图所示,.,6.5.1,透视变换坐标系,用户坐标系采用右手球面坐标系。坐标原点在,O,点,视点的直角坐标为,O,s,(,a,,,b,,,c,),,OO,S,的长度为,R,,,OO,S,和,z,轴的夹角为,,,O,点在,xoy,平面内的投影为,P,(,a,,,b,),,OP,和,x,轴的夹角为,。视点的球面坐标表示为,O,s,(,R,,,,,)。视点的球面坐标和直角坐标的关系为:,(,6-31,),1,、,用户坐标系,0R,,,0,,,0,2,。,观察坐标系为左手系,坐标原点位于视点,O,s,上。,z,s,轴沿着视线方向,O,S,O,,视线的正右方为,x,s,轴,视线的正上方为,y,s,轴。,2,、观察坐标系,3,、屏幕坐标系,屏幕坐标系也是左手系,坐标原点,O,p,位于视心。屏幕坐标系的,x,p,和,y,p,轴与观察坐标系的,x,s,轴和,y,s,轴方向一致,也就是说屏幕垂直于视线,,z,p,轴自然与,z,s,轴重合。,6.5.2,坐标系变换,如果观察坐标系中的视点固定,旋转用户坐标系中的物体,就可以在屏幕上产生该物体各个方向的透视图。把用户坐标系中三维物体上的点变换为观察坐标系中的点,等同于点固定,坐标系发生变换。,在,6.2,节讲解三维基本几何变换矩阵时,坐标系固定,点发生变换。有时需要点固定,坐标系发生变换,二者效果一致。如图,6-10,中,点从,P,变换到,P,等价于点,P,点固定,坐标系从,xyz,变换到,x,y,z,。这时,变换矩阵的参数需要取反。平移矩阵为:,式中,,T,x,,,T,y,,,T,z,是坐标系之间的平移参数。,图,6-10,坐标系变换,P,(x,y,z,),P(x,y,z),P(x,y,z)(P,(,x,,,y,,,z,),),首先将用户坐标系圆点,O,平移到观察坐标系原点,O,s,,然后将用户右手坐标系变换为观察左手坐标系,就可以实现从用户坐标系到观察坐标系的变换。,1.,原点到视点的平移变换,把用户坐标系的原点,O,平移到观察坐标系的原点,O,s,,形成新坐标系,x,1,y,1,z,1,,视点的直角坐标为,O,s,(,a,,,b,,,c,),如图,6-11,所示。,变换矩阵为:,6.5.3,用户坐标系到观察坐标系的变换,图,6-11,平移变换,2.,绕,z,1,轴的旋转变换,图,6-11,中坐标系,x,1,y,1,z,1,绕,z,1,轴作,90,-,角的顺时针旋转变换,使,y,1,轴位于,O,1,PO,平面内,形成新坐标系,x,2,y,2,z,2,,如图,6-12,所示。,这里坐标系旋转变换矩阵取为逆时针变换矩阵。,图,6-12,中坐标系,x,2,y,2,z,2,绕,x,2,作,180,-,的逆时针旋转变换,使,z,2,轴沿视线方向,形成新坐标系,x,3,y,3,z,3,,如图,6-13,所示。,这里坐标系旋转变换矩阵取为顺时针变换阵。,3,、绕,x,2,轴的旋转变换,图,6-12,绕,z,1,轴顺时针旋转变换,90,图,6-13,绕,x,2,轴的逆时针旋转变换,图,6-13,中坐标轴,x,3,作关于,y,3,O,3,z,3,面的反射变换,形成新坐标系,x,s,y,s,z,s,,如图,6-14,所示,这样就将观察坐标系从右手系变换为左手系,并且,z,s,轴指向,xyz,坐标系的原点。,这里坐标系反射变换矩阵不变。,4,、关于,y,3,o,3,z,3,面的反射变换,图,6-14,反射变换,变换矩阵,(,6-32,),变换为:,写成展开式为:,(,6-33,),则有,因此式(,6-33,)可以写为:,令,(,6-34,),经过上节变换,用户坐标系中的点已经变换为观察坐标系种的点。观察坐标系和屏幕座标系同为左手系,而且,z,轴同向。视点,O,s,和视心,O,p,的距离为视距,d,。假定观察坐标系中物体上的一点为,P,0,(,x,s,,,y,s,,,z,s,),视线,O,s,P,0,和屏幕的交点为,P,p,。如图,6-15,所示。,6.5.4,观察坐标系到屏幕坐标系的变换,P,0,(,x,s,,,y,s,,,z,s,),P,p,(,x,p,,,y,p,),P,P,图,6-15,透视变换,d,根据相似三角形对应边成比例的关系,有,于是有:,写成矩阵形式为:,(,6-35,),透视变换矩阵为:,(,6-36,),在,6.2,节曾经介绍过,,投影,变换。这里,r,1/d,。如果,d,时,则,r0,,透视变换转化为平行投影变换。,进行的是透视,通过以上分析,用户坐标系到屏幕坐标系的透视投影变换矩阵为:,(,6-37,),图,6-16,中的林中小路在远方汇聚成为一点。透视投影中,与屏幕平行的平行线投影后仍保持平行。不与屏幕平行的平行线投影后汇聚为一点,此点称为灭点,灭点是无限远点在屏幕上的投影。每一组平行线都有其不同的灭点。一般来说,三维物体中有多少组平行线就有多少个灭点。,图,6-16,小路的透视投影 图,6-17,一点透视投影图,灭点,6.5.5,透视投影分类,平行于某一坐标轴方向的平行线在屏幕上投影形成的灭点称为主灭点。因为有,x,、,y,和,z,三个坐标轴,所以主灭点最多有三个。当某个坐标轴与物体投影面平行时,则该坐标轴方向的平行线在屏幕上的投影仍保持平行,不形成灭点。透视投影中主灭点数目由与投影面相交的坐标轴数目来决定,并据此将透视投影分类为一点、二点和三点透视。一点透视有一个主灭点,即投影面仅与一个坐标轴相交,与另外两个坐标轴平行,如图,6-17,所示;两点透视有两个主灭点,即投影面仅与两个坐标轴相交,与另一个坐标轴平行;三点透视有三个主灭点,即投影面与三个坐标轴都相交。,当屏幕仅与一个坐标轴相交时,形成一个灭点,透视投影图为一点透视图,如图,6-18,所示。从图,6-9,可以看出,当,0,,,90,时,屏幕平行于,yoz,面,得到一点透视图。将,0,,,90,代入式(,6-37,),得到一点透视变换矩阵。,一点透视的变换矩阵为:,(,6-38,),1,、一点透视,图,6-18,立方体的一点透视投影图,当屏幕仅与两个坐标轴相交时,形成两个灭点,透视投影图为二点透视图,如图,6-19,所示。从图,6-9,可以看出,当,0,90,,,90,时,屏幕与,x,轴和,y,轴相交,平行于,z,轴,得到二点透视图。将,90,代入式(,6-37,),得到二点透视变换矩阵。,(,6-39,),2,、二点透视,图,6-19,立方体的二点透视投影图,三点透视图是屏幕与三个坐标轴都相交时的透视投影图,如图,6-20,所示。从图,6-9,可以看出,当,0,90,,,0,90,时,屏幕与,x,轴、,y,轴和,z,轴相交,得到三点透视图。,三点透视变换矩阵:,(,6-40,),3,、三点透视,图,6-20,立方体的三点透视投影图,
展开阅读全文