《第3章计算机图形学》由会员分享,可在线阅读,更多相关《第3章计算机图形学(140页珍藏版)》请在金锄头文库上搜索。
1、青岛农业大学第一篇 基 础青岛农业大学第第3章章 几何变换几何变换青岛农业大学2006年7月5日上海交通大学计算机系 何援军# 2主要内容主要内容r图形变换的基本描述图形变换的基本描述 r图形变换的几何化表示图形变换的几何化表示 r投影与投影变换投影与投影变换 r透视变换透视变换 r视图变换视图变换 r总结总结青岛农业大学3.1 图形变换的基本描述图形变换的基本描述r齐次坐标齐次坐标 r二维变换二维变换 r三维变换三维变换青岛农业大学图形几何变换图形变换分为两种:图形变换分为两种:图形不变,而坐标系发生变化;图形不变,而坐标系发生变化;坐标系不变,而图形的位置和形状发生变化。坐标系不变,而图形
2、的位置和形状发生变化。 图形的几何变换是指图形的图形的几何变换是指图形的几何信息几何信息发生发生变化变化,而,而拓扑关系不变拓扑关系不变。青岛农业大学图形几何变换的基本思想 由于由于图形可以用图形可以用点集点集来表示,也就是说点集定了,来表示,也就是说点集定了,则图形也就确定了,那么,如果点的位置改变了,图形则图形也就确定了,那么,如果点的位置改变了,图形也就随之改变。因此,也就随之改变。因此,对图形进行变换,对图形进行变换,只要变换只要变换点点就就可以了可以了。 由于点集可以用由于点集可以用矩阵的方式矩阵的方式来表达,因此图形的变来表达,因此图形的变换可以通过相应的换可以通过相应的矩阵运算矩
3、阵运算来实现。即:来实现。即:旧点集旧点集 变换矩阵变换矩阵 新点集新点集矩阵运算矩阵运算青岛农业大学数乘数乘矩阵乘法。矩阵矩阵乘法。矩阵A=(aij)2X3,矩阵矩阵B=(bij)3X2,则,则图形变换的数学基础矩阵运算青岛农业大学齐次坐标n为了能用矩阵的形式统一描述图形变换,在计为了能用矩阵的形式统一描述图形变换,在计 算机图形学中常采用算机图形学中常采用齐次坐标齐次坐标的形式来描述空的形式来描述空 间的点。间的点。n所谓所谓齐次坐标表示法齐次坐标表示法就是用就是用n+1n+1维向量表示一个维向量表示一个 n n维向量维向量。n二维点(二维点(x,yx,y)的齐次表示是()的齐次表示是(h
4、x,hy,hhx,hy,h),这),这 里里h h是任何一个非零因子,有时叫做比例因子。是任何一个非零因子,有时叫做比例因子。n齐次点(齐次点(a,b,ca,b,c)被投射回复到二维时简单地就)被投射回复到二维时简单地就 是(是(a/a/c,b/cc,b/c), ,由比例因子由比例因子c c去除。去除。注意:齐次坐标表示不是唯一的,当注意:齐次坐标表示不是唯一的,当h h为为1 1时称为时称为规格化的规格化的 齐次坐标。齐次坐标。青岛农业大学二维基本变换比例变换平移变换旋转变换对称变换错切变换青岛农业大学二维基本变换1、比例变换图形中的坐标点图形中的坐标点P(x,yP(x,y), ,若在若在X
5、 X轴方向变化一个比例系数轴方向变化一个比例系数s sx x,在,在Y Y轴方向变化一个比例系数轴方向变化一个比例系数s sy y,则新坐标点则新坐标点P P (x(x,y,y)的表达式为:的表达式为:青岛农业大学二维基本变换 变换方程写成齐次坐标矩阵形式为:变换方程写成齐次坐标矩阵形式为: 这这一一变变换换称称为为相相对对于于坐坐标标原原点点的的比比例例变变换换, , s sx x 和和s sy y分分别别表表示示点点P(x,yP(x,y)沿沿X X轴轴方方向向和和Y Y轴轴方方向向相相对对坐坐标标原原点点的的比比例变换系数。例变换系数。 青岛农业大学二维基本变换比例变换的性质当 时,变换前
6、的图形与变换后的图形相似当 时,图形将放大,并远离坐标当 时,图形将缩小,并靠近坐标原点当 时,图形将发生畸变 青岛农业大学二维基本变换2、平移变换 平平移移变变换换是是指指将将图图形形从从一一个个坐坐标标位位置置移移到到另另一一个个坐坐标标位位置置的的重重定定位位变变换换。已已知知一一点点的的原原始始坐坐标标是是P(x,yP(x,y),加加上上一一个个沿沿X X,Y Y方方向向的的平平移移量量t tx x 和和t ty y ,平平移此点到新坐标(移此点到新坐标(xtxtx x,yt,yty y), ,则新坐标的表达式为:则新坐标的表达式为:青岛农业大学二维基本变换3、旋转变换绕坐标原点旋转绕
7、坐标原点旋转角度(逆时针为角度(逆时针为正,顺时针为负)。正,顺时针为负)。(1)假定假定P P点绕原点逆时针旋转点绕原点逆时针旋转角到角到P P点,点,则:则:(2)将式(将式(1)代入式()代入式(2)得:)得:yx青岛农业大学二维基本变换则变换矩阵为:则变换矩阵为:注意:注意:旋转变换只能改变图形的方位,而图形的大小和旋转变换只能改变图形的方位,而图形的大小和形状不变。形状不变。青岛农业大学二维基本变换4、对称变换 对称变换是产生图形镜象的一种变换,也称对称变换是产生图形镜象的一种变换,也称镜象变换镜象变换或或反射变换反射变换。(1)对称于X轴的坐标变换点对点对X X轴对称时:轴对称时:
8、x x=x=x,y=-yy=-y则变换方程为则变换方程为青岛农业大学二维基本变换(2)对称于Y轴的坐标变换点对Y轴对称时,有: x=-x,y=y则变换方程为:青岛农业大学二维基本变换(3)对称于原点的坐标变换点对坐标原点对称时有: x=-x,y=-y则变换矩阵为:青岛农业大学二维基本变换(4)对称于45线的坐标变换点对45 线的对称就是X、Y互换坐标,即 X=Y、Y=X,则变换矩阵为:青岛农业大学二维基本变换(5)对称于-45线的坐标变换点对-45线对称时,有:X=-Y,Y=-X,则变换矩阵为:xoy=-x青岛农业大学二维基本变换 错错切切(shearshear)变变换换是是轴轴上上点点不不动
9、动,其其它它点点沿沿平平行行于于此此轴轴方方向向移移动动变变形形的的变变换换。错错切切变变换换也也称称为为剪剪切切、错位错位或或错移变换错移变换。5、错切变换青岛农业大学二维基本变换(1)沿X轴方向关于Y轴的错切 将图形上关于将图形上关于y y轴的平行线轴的平行线沿沿x x方向方向推成推成角的倾角的倾斜线,使新的斜线,使新的坐标值坐标值x x在原有值得基础上增加了一个在原有值得基础上增加了一个增量增量,而保持,而保持y y坐标不变坐标不变。即整个图形在等高的前提。即整个图形在等高的前提下沿下沿X X轴倾斜了一个角度轴倾斜了一个角度。yxx青岛农业大学二维基本变换yxx其中:其中:a a为错切系
10、数,当为错切系数,当a0a0时沿时沿+X+X向错切,当向错切,当a0a0b0时沿时沿+Y+Y向错切,当向错切,当b0b1s1时,则三维图形产生时,则三维图形产生三三向等比例缩小的变换;向等比例缩小的变换;若若0s10sBEB CEC n若在视点若在视点E与物体间设置一个透明的画面与物体间设置一个透明的画面P,则在画面则在画面上看到的各电线杆的投影上看到的各电线杆的投影aabbccnaa即即EA,EA与画面与画面P的交点的连线的交点的连线;nbb即为即为EB,EB与画面与画面P的交点的连线。的交点的连线。ncc 即为即为EC,EC与画面与画面P的交点的连线。的交点的连线。n近大远小近大远小青岛农
11、业大学n若连接abc及abc,它们的连线汇聚于一点。n实际上,ABC与ABC的连线是两条互相平行的直线,这说明空间任何一束不平行于投影平面的平行线的投影将汇聚在一点,即abc与abc的连线,必交于一点,这点我们称之为灭点。EABCABCacbcba3.6.1 灭点及产生机理灭点及产生机理青岛农业大学 每一组平行线都有其不同的灭点。一般说每一组平行线都有其不同的灭点。一般说来,来,三维图形中有多少组平行线就有多少个灭三维图形中有多少组平行线就有多少个灭点点。 平行于坐标轴的平行线在投影平面上形成平行于坐标轴的平行线在投影平面上形成的灭点称的灭点称为为主灭点主灭点。因为有。因为有X X、Y Y和和
12、Z Z三个坐标轴,三个坐标轴,所以所以主灭点最多有三个。主灭点最多有三个。3.6.1 灭点及产生机理灭点及产生机理青岛农业大学 当当某某个个坐坐标标轴轴与与投投影影面面平平行行时时,则则该该坐坐标标轴轴方方向向的的平平行行线线在在投投影影面面上上的的投投影影仍仍保保持持平平行行,不不形形成成灭灭点点。投投影影中中主主灭灭点点数数目目由由与与投投影影面面相相交交的的坐坐标标轴轴数数目目来来决决定定,并据此将透视投影分类为一点、二点或三点透视。并据此将透视投影分类为一点、二点或三点透视。 一一点点透透视视有有一一个个主主灭灭点点,即即投投影影面面与与一一个个坐坐标标轴轴正正交交,与与另另外外两两个
13、个坐坐标标轴轴平平行行;两两点点透透视视有有两两个个主主灭灭点点,即即投投影影面面与与两两个个坐坐标标轴轴相相交交,与与另另一一个个坐坐标标轴轴平平行行;三三点透视有三个主灭点,即投影面与三个坐标轴都相交。点透视有三个主灭点,即投影面与三个坐标轴都相交。3.6.1 灭点及产生机理灭点及产生机理青岛农业大学3.6.1 灭点及产生机理灭点及产生机理一点透视两点透视三点透视青岛农业大学3.6.2 透视投影的基本原理透视投影的基本原理r设视点设视点E(0,0,zE(0,0,ze e) )在在z z轴上,投影面取与轴上,投影面取与Z Z轴垂直的坐标轴垂直的坐标平面,空间点为平面,空间点为P(xP(xp
14、p,y,yp p,z,zp p) ),则视线,则视线EPEP的直线方程为:的直线方程为: x=0+(xx=0+(xp p-0)t -0)t y=0+(y y=0+(yp p-0)t -0)t z= z=z ze e+(z+(zp p-z-ze e)t)t 则空间点在投影面的投影点为:则空间点在投影面的投影点为:青岛农业大学3.6.2 透视投影的基本原理透视投影的基本原理 投影面为投影面为XOY平面,投影中心到投影面的平面,投影中心到投影面的距离为距离为 ze的一点透视变换矩阵的一点透视变换矩阵透视投影实际上是先进行透视变换,然后再向投透视投影实际上是先进行透视变换,然后再向投影面作正投影的变换
15、。影面作正投影的变换。青岛农业大学在透视投影下有:当当zp 时,时,x 0,y 0,z -Ze所以,所以,(0,0,-Ze)为该透视的一个灭点。为该透视的一个灭点。3.6.2 透视投影的基本原理透视投影的基本原理青岛农业大学n同样,视点在同样,视点在(Xe,0,0)的透视投影对应的变的透视投影对应的变换矩阵为:换矩阵为:3.6.2 透视投影的基本原理透视投影的基本原理灭点在灭点在(-Xe,0,0)青岛农业大学视点在视点在(0,ye,0)的透视投影对应的变换矩阵为的透视投影对应的变换矩阵为3.6.2 透视投影的基本原理透视投影的基本原理灭点在灭点在(0,-ye,0)青岛农业大学3.6.2 透视变
16、换透视变换基本公式基本公式 取取r为为 ,p p为为 ,q q为:为: ,则透视变,则透视变换矩阵为:换矩阵为: 视点在视点在z轴上的透视变换阵轴上的透视变换阵 当当p p、q q、r r三个参数中只有一个为非零时,即为一点透视,三个参数中只有一个为非零时,即为一点透视,两个非零为两点透视,全部非零时为三点透视。两个非零为两点透视,全部非零时为三点透视。青岛农业大学3.6.3 透视投影转化为平行投影透视投影转化为平行投影理论理论理论理论r定定理理:对对一一个个空空间间物物体体,一一定定存存在在另另一一个个空空间间物物体体,使使前前者者在在画画面面上上的的透透视视投投影影与与后后者者的的平平行行
17、投投影是一样的,且保留了深度方向的对应关系。影是一样的,且保留了深度方向的对应关系。青岛农业大学3.6.3 透视投影转化为平行投影透视投影转化为平行投影理论理论理论理论证明:设有一个空间物体证明:设有一个空间物体B1,其空间点由,其空间点由P(x y z)表达,用下列方表达,用下列方 法构法构 筑另一个空间物体筑另一个空间物体B2: qB2的的拓拓扑扑与与空空间间物物体体B1一一致致,其其相相应应空空间间点点P(x y z)由由P经经透透视变换而得。视变换而得。 qB1在在xoy平平面面上上的的透透视视投投影影坐坐标标与与B2在在xoy平平面面上上的的正正投投影影坐坐标标均为均为(x y)。
18、即即空空间间物物体体B1和和空空间间物物体体B2相相应应点点与与画画面面的的远远近近关关系系(深深度度方方向向)是一致的。是一致的。青岛农业大学3.6.4 透视图透视图 根根据据透透视视变变换换的的基基本本原原理理:与与画画面面成成一一角角度度的的平平行行线线簇簇经经透透视视变变换换后后交交于于灭灭点点,可可采采用用两种不同的方法来获得透视图:两种不同的方法来获得透视图: q保保持持画画面面铅铅垂垂而而通通过过旋旋转转物物体体使使之之与与画画面面构构成角度达到透视变换效果成角度达到透视变换效果q通过倾斜投影画面而达到透视变换效果通过倾斜投影画面而达到透视变换效果青岛农业大学3.6.4 透视图透
19、视图一点透视一点透视zxyEn人人眼眼从从正正面面去去观观察察一一个个立立方方体体,当当z轴轴与与投投影影平平面面垂垂直直时时,另另两两根根轴轴ox,oy轴轴平平行行于于投投影影平平面面。这这时时的的立立方方体体透透视视图图只只有有一一个个灭灭点点,即即与与投投影影面面垂垂直直的的那那组组平平行线的透视投影交于一点。行线的透视投影交于一点。青岛农业大学3.6.4 透视图透视图两点透视两点透视n人人眼眼观观看看的的立立方方体体绕绕y轴轴旋旋转转一一个个角角度度之之后后,再再进进行行透透视视投投影影。三三坐坐标标轴轴中中oy轴轴与与投投影影平平面面平平行行,这这时时除除平平行行于于oy轴轴的的那那
20、组组平平行行线线外外,其其它它两两组组平平行行线线的的透透视视投投影影分分别别在在投投影影平平面面的的左左右右两两侧侧,作作出出的的立立方方体体透透视视图图产产生生两两个个主灭点。主灭点。zxyE青岛农业大学3.6.4 透视图透视图三点透视三点透视n投影平面与三坐标轴均不平行。投影平面与三坐标轴均不平行。n这时的三组平行线均产生主灭点。这时的三组平行线均产生主灭点。zxyE青岛农业大学齐次坐标系中沿坐标轴三个方向的无穷远点是齐次坐标系中沿坐标轴三个方向的无穷远点是单位阵单位阵E的前三行构成的向量,对其施以透视的前三行构成的向量,对其施以透视变换变换Pz即可。即可。3.6.4 透视图透视图青岛农
21、业大学3.6.5 平行透视(一灭点)青岛农业大学3.6.6 成角透视(二灭点)把单位立方体绕把单位立方体绕y y轴旋转轴旋转y y角,然后进行投影变换,则角,然后进行投影变换,则平行于平行于x轴的向量将在投影面轴的向量将在投影面xoy上有灭点:上有灭点:平行于平行于z轴的向量将在投影面轴的向量将在投影面xoy上有灭点:上有灭点:青岛农业大学r将物体绕将物体绕x轴转轴转 x角角(Rx),绕,绕y轴转轴转 y角角(Ry) ,再施以变,再施以变换换Pz即得三灭点透视,变换为:即得三灭点透视,变换为: =3.6.7 三三灭点透视青岛农业大学 规规格格化化矩矩阵阵的的前前三三行行,即即得得原原来来分分别
22、别平平行行于于x,y,z轴的向量经变换后的投影分别交于三个灭点:轴的向量经变换后的投影分别交于三个灭点: 3.6.7 三三灭点透视青岛农业大学3.7 视图变换视图变换窗口窗口- -视区变换视区变换 窗口(Window):在WC中定义的一个(矩形)区域,该区域内的对象将予以显示。 视区(Viewport):在DC中定义一个(矩形)区域,所有在窗口内的对象都将显示在该区域中。青岛农业大学3.7 视图变换视图变换 窗口用来确定要显示的物体,视区确定实际显示图形。实际情况中,窗口与视区的大小往往不一样。如果要在视区正确地显示形体,必须将其从窗口变换到视区,此过程称为窗口-视区变换。 为了使变换后的图形
23、不变形,变换时要满足下列条件: 1)X、Y方向进行相同的比例变换 2)窗口在视区中占有最大的区域对象在窗口中和在视区中有同样的相对位置。青岛农业大学0xy(Xwmax,Ywmax)(Xwmin,Ywmin)3.7 视图变换视图变换(Xvmin,Yvmin)(Xvmax,Yvmax)青岛农业大学3.7 视图变换视图变换青岛农业大学3.8 总结总结r讨论了图形变换和投影中的若干问题:讨论了图形变换和投影中的若干问题: q图形变换的基本描述图形变换的基本描述 q图形变换的几何化表示图形变换的几何化表示 q投影变换投影变换q透视变换透视变换 青岛农业大学3.8总结总结图形变换的基本描述图形变换的基本描
24、述r所有的变换均基于点的变换;所有的变换均基于点的变换; r采采用用向向量量、矩矩阵阵和和齐齐次次坐坐标标的的形形式式来来描描述述图图形形的的变换十分方便;变换十分方便; r一一个个变变换换是是一一个个单单一一的的数数学学实实体体,能能够够用用一一个个单单一的名或符号标识;一的名或符号标识; r两两个个变变换换能能够够被被结结合合而而产产生生一一个个具具有有二二者者功功效效的的单一变换,单一变换,C=AB。青岛农业大学3.8总结总结图形变换的几何化表示图形变换的几何化表示 平平面面上上任任意意2条条相相交交的的向向量量构构成成一一个个新新坐坐标标系系,新新旧旧坐坐标标系系的的坐坐标标变变换换可
25、可由由两两条条相相交交向向量量在在原原坐坐标标系系下的直线方程系数标出。下的直线方程系数标出。青岛农业大学3.8总结总结透视变换透视变换 根根据据透透视视变变换换的的基基本本原原理理:与与画画面面成成一一角角度度的的平平行行线线簇簇经经透透视视变变换换后后交交于于灭灭点点,可可采采用用两两种种不不同同的方法来获得透视图:的方法来获得透视图: q一一是是保保持持画画面面铅铅垂垂而而通通过过旋旋转转物物体体使使之之与与画画面面构构成成角角度度达达到到透透视视变变换换效效果果,得得到到了了3 3种种最最佳佳透透视变换矩阵;视变换矩阵; q二是通过倾斜投影画面而达到透视变换效果。二是通过倾斜投影画面而达到透视变换效果。青岛农业大学3.8总结总结透视变换透视变换r给给出出了了“对对一一个个空空间间物物体体,一一定定存存在在另另一一个个空空间间物物体体,使使前前者者在在画画面面上上的的透透视视投投影影与与后后者者的的平平行行投投影影是是一一样样的的,且且保保留留了了深深度度方方向向的对应关系的对应关系”的一个证明。的一个证明。 q这这个个性性质质可可使使复复杂杂的的透透视视投投影影转转化化成成简简单单的的平平行行投投影影,使使得得立立体体图图形形的的处处理大为简化。理大为简化。