计算机辅助设计 图形变换._第1页
计算机辅助设计 图形变换._第2页
计算机辅助设计 图形变换._第3页
计算机辅助设计 图形变换._第4页
计算机辅助设计 图形变换._第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、l了解:l1.矢量和矩阵;l2.二维和三维图形变换的类型及运算规则;l3.投影。l重点:l二维和三维图形的几何变换及其复合变换方法l5.1图形变换的方法l5.2二维图形几何变换l5.3三维图形几何变换l5.4三维图形的投影变换l图形变换是图形变换是计算机图形学计算机图形学的重要组成部分。的重要组成部分。l图形变换在计算机中的实现是通过矩阵运算来达图形变换在计算机中的实现是通过矩阵运算来达到的。到的。l这是因为这是因为: :l(1)(1)二维或三维图形可以用若干个点组成的矩阵二维或三维图形可以用若干个点组成的矩阵来表示或储存;来表示或储存;l(2)(2)矩阵运算在计算机中是很容易实现的。矩阵运算

2、在计算机中是很容易实现的。 l 图形变换一般是指对图形的几何信息经过几何变换后产生新的图形,它提供了构造或修改图形的方法。除图形的位置变动外,还可以将图形放大或缩小,甚至对图形作不同方向的拉伸来使其扭曲变形。 l图形是点的集合图形是点的集合l在二维平面中,任何一个图形都可以认为是点之间的连线构成的。对于一个图形作几何变换,实际上就是对一系列点进行变换。l点的表示点的表示l 在二维平面内,一个点通常用它的两个坐标(x,y)来表示,写成矩阵形式则为: 或 ll 表示点的矩阵通常被称为点的位置向量,以下将采用行向量表示一个点。如有三角形的三个顶点坐标a(x1, y1), b(x2, y2), c(x

3、3,y3),用矩阵表示则记为: l二维图形变换是图形变换的基础。其中最重要的是二维图形变换是图形变换的基础。其中最重要的是比例变换、旋转变换和平移比例变换、旋转变换和平移等变换。等变换。l首先从构成图形的最基本要素点的变换来谈起。首先从构成图形的最基本要素点的变换来谈起。1. 1. 点的变换点的变换l在二维空间中,一个点在二维空间中,一个点P P可用它的坐标可用它的坐标P(x,y)P(x,y)来表示,来表示,或者用一行矩阵来表示成或者用一行矩阵来表示成x yx y。 l而该点而该点P P由某一位置由某一位置P(x,y)P(x,y)变换到另一位置变换到另一位置P(x,y),P(x,y),就可以用

4、矩阵乘法来实现。就可以用矩阵乘法来实现。 即即l从该式中我们可以看出其含义,就是二维空间的从该式中我们可以看出其含义,就是二维空间的点点P(x,y)P(x,y)经过变换矩阵经过变换矩阵T T变换后而变换到变换后而变换到P(x,y) P(x,y) 。l显而易见,变换后点的位置仅取决于变换矩阵显而易见,变换后点的位置仅取决于变换矩阵T T内内各元素之值,下面我们来看几种变换。各元素之值,下面我们来看几种变换。 l(1)恒等变换l若变换矩阵若变换矩阵T T中,主对角元素中,主对角元素a=d=1a=d=1,而其余元素,而其余元素c=b=0c=b=0,这时变换矩阵,这时变换矩阵T T就是单位矩阵,点就是

5、单位矩阵,点P P经过经过T T变换后的点坐标为变换后的点坐标为 yxyxyx1001l可见,点可见,点P P在变换前后,它的位置并没有改变,在变换前后,它的位置并没有改变,因此我们称单位矩阵为恒等变换矩阵。因此我们称单位矩阵为恒等变换矩阵。l以单位阵为变换矩阵所做的变换为恒等变换。以单位阵为变换矩阵所做的变换为恒等变换。l(2) 镜射变换l所谓镜射变换是指变换后的点与变换前的点对称所谓镜射变换是指变换后的点与变换前的点对称于于x x轴或轴或y y轴或对称于某一特定的直线或某一特定轴或对称于某一特定的直线或某一特定的点。的点。l下面我们来看一看关于几种特定直线和特定点的下面我们来看一看关于几种

6、特定直线和特定点的镜射变换。镜射变换。11000100011 1yxyxyxYXP(x,-y)P(x,y)(a)关于x轴对称YXP(-x,y)p(x,y)(b)关于y轴对称11000100011 1yxyxyxYXP(x,y)(c)关于原点对称11000100011 1yxyxyx11000010101 1xyyxyxYXp(x,y)p(y,x)x=y(d)关于x=y对称YXP(-y,-x)P(x,y)x=-y(e)关于x=-y对称11000010101 1xyyxyxXY(a)关于x轴对称XY(b)关于y轴对称XY(c)关于原点对称XY(d)关于x=y对称XY(e)关于x=-y对称YX图6-

7、4 旋转变换PPrr(3 3)旋转变换)旋转变换 旋转变换是指在坐标轴不动的情况下将旋转变换是指在坐标轴不动的情况下将p p点绕坐标原点转动某个角度(逆点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点时针为正,顺时针为负)得到新的点pp的重定位过程。的重定位过程。对于给定的点对于给定的点p(x,y)p(x,y),其极坐标形式为,其极坐标形式为x = rcosy = r sin于是于是p(x,y)为为x = rcos(+)=rcoscosrsinsin=xcosysin y= rsin(+) =rcossin + rsincos=xsin+ ycos1000cossin0sincos

8、11yxyxl2.2.直线的变换直线的变换对于直线来言,它的位置可由它的两个端点的坐标对于直线来言,它的位置可由它的两个端点的坐标来确定,如直线来确定,如直线ABAB,其两端点,其两端点A A和和B B的坐标为的坐标为(x(x1 1,y,y1 1) ) 和和(x(x2 2,y,y2 2) )。这样线段。这样线段ABAB就可以表示成矩就可以表示成矩阵形式阵形式l二维空间中的一条直线,在同一变换矩阵的作用二维空间中的一条直线,在同一变换矩阵的作用下会变成什么样子,变换时有什么特点?下会变成什么样子,变换时有什么特点? l特点特点1 1:直线变换后仍为直线,且变换前后线上:直线变换后仍为直线,且变换

9、前后线上各点一一对应。各点一一对应。l特点特点2 2:两条平行直线经过同一矩阵变换后仍然:两条平行直线经过同一矩阵变换后仍然为平行直线。为平行直线。l特点特点3 3:相交的两条直线在同一变换矩阵作用后:相交的两条直线在同一变换矩阵作用后仍然相交,并且交点也有对应关系。仍然相交,并且交点也有对应关系。l3.3.平面图形的变换平面图形的变换l根据平面几何的知识,我们知道,平行、相交两根据平面几何的知识,我们知道,平行、相交两条直线,可以唯一决定一个平面。条直线,可以唯一决定一个平面。l那么,我们通过直线变换特性就可以推出,平面那么,我们通过直线变换特性就可以推出,平面图形经过变换后仍然为平面图形。

10、图形经过变换后仍然为平面图形。l下面我们介绍平面图形的下面我们介绍平面图形的比例变换、旋转变换及比例变换、旋转变换及错切变换错切变换。 比例变换比例变换是指对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为比例系数比例系数。变换后有:x=xsxy=ysyYX图6-2 比例变换(Sx=2,Sy=3)P(4,3)P(2,1)1100000011ysxsssyxyxyxyx比例变换的坐标计算如下:(a) Sx=Sy比例原图(b) SxSy比例原图图6-3 比例变换SxSySx=Sy1Sx=Sy1比例变换见右图 (1)当Sx = Sy =1时,为恒等比例变换,即图形不变;(

11、2)当Sx = Sy 1时,图形沿两个坐标轴方向等比放大。(3)当Sx = Sy 1时,图形沿两个坐标轴方向等比缩小。(4)当SxSy时,图形沿两个坐标轴方向进行非等比变换。示例l旋转变换是将图形绕一固定点顺时针或逆时针方向进行旋转。规定:逆时针方向为正,顺时针方向为负。下面讨论图形绕原点沿逆时针方向旋转角的旋转变换。如果点(x,y)沿逆时针旋转角,变换后的点( , )的数学表达式为: 示例 l齐次坐标旋转变换为 错切变换错切变换,也称为剪切、错位变换,用于产生弹性也称为剪切、错位变换,用于产生弹性物体的变形处理。物体的变形处理。YXYXYX(a) 原图(b) 沿x方向错切(c) 沿y方向错切

12、图6-7 错切变换示例1000101cbT (1)沿沿x x方向错切方向错切 x=x+cy y=yx=x+cy y=y (2)沿沿y y方向错切方向错切 x=x y=bx+yx=x y=bx+y (3)两个方向错切两个方向错切x=x+cy y=bx+yx=x+cy y=bx+yl在平面图形的变换中,在平面图形的变换中,比例变换比例变换改变了图形的大改变了图形的大小,但其形状未发生变化;小,但其形状未发生变化;l错切变换错切变换不仅改变尺寸大小,而且也改变了图形不仅改变尺寸大小,而且也改变了图形的形状;的形状;l旋转变换旋转变换只是改变了图形的位置,其本身大小形只是改变了图形的位置,其本身大小形

13、状都未发生变化(因此旋转变换矩阵通常用于正状都未发生变化(因此旋转变换矩阵通常用于正投影变换)。投影变换)。 l分别讨论几种不同的对称变换。 示例 l(1)以y轴为对称线的对称变换,变换后,图形点集的x坐标值不变,符号相反,y坐标值不变。矩阵表示为l(2)以x轴为对称线的对称变换,变换后,图形点集的x坐标值不变,y坐标值不变,符号相反。矩阵表示为 l(3)以原点为对称的对称变换,变换后,图形点集的x和y坐标值不变,符号均相反。矩阵表示为 l (4)以直线y=x为对称线的对称变换,变换后,图形点集的x和y坐标对调。矩阵表示为 l(5)以直线y=-x为对称线的对称变换,变换后,图形点集的x和y坐标

14、对调,符号相反。矩阵表示为 l 平移是将图形中的每一个点进行移动。若将一个点(x,y)沿水平方向移动c单位,平移到一个新位置( ),数学表达式为 l如果c是正值,则点向右移动,如果是负值,则向左移动; l同理,如果f是正值,则点向上移动,如果f是负值,则向下移动。 示例 引进齐次坐标的优点引进齐次坐标的优点 : 提供了用矩阵运算把二维、三维甚至高维空间中的提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效一个点集从一个坐标系变换到另一个坐标系的有效方法。方法。 可以表示无穷远的点。可以表示无穷远的点。n+1n+1维的齐次坐标中如果维的齐次坐标中如果h=0h

15、=0,实际上就表示了,实际上就表示了n n维空维空间的一个无穷远点。间的一个无穷远点。 4. 4. 平面齐次坐标变换平面齐次坐标变换所谓齐次坐标法就是用所谓齐次坐标法就是用n+1n+1维向量来表示一个维向量来表示一个n n维向维向量量. . 101000111mlyxyx100mldcbaT smlqdcpbayxTyxyxD1112上面矩阵每一个元素都是有特殊含义的。l 可以对图形进行缩放、旋转、对称、错切等变换;l 是对图形进行平移变换;l 是对图形作投影变换;l 则是对图形整体进行缩放变换。dcbaT1mlT2qpT3 sT4l实际上,图形变换中常常是相对于任意点或任意直线变换。解决这个

16、问题的思路是这样的:先将任意点移向坐标原点(任意线则移向与X或Y轴重合的位置),再用前述变换矩阵加以变换,最后反向移回任意点(任意线移回原位)。可见,这是经过平移、某种变换、再平移的多次变换构成,而不仅仅是一种独立的变换,故而称为复合变换。l复合变换中,多个变换矩阵之积称为复合变换矩阵。l1. 1.图形相对于任意点作旋转变换图形相对于任意点作旋转变换 l 例:求三角形以点(4,6)为中心逆时针旋转30的组合变换矩阵 示例l由此可知,相对于(e,f)点作旋转变换,由以下三个矩阵相乘来实现: l T称为组合变换矩阵。 l 图形相对于任意点作比例变换与旋转变换相似。 相对于(e,f)点作比例变换,由

17、以下三个矩阵相乘来实现:l2.图形对于任一条线y=ax+b对称 示例l由5种变换组合而成l(1)将直线y=ax+b沿着y轴平移-b,使直线通过坐标原点,方程变为y=ax,变换矩阵为l(2)将直线y=ax旋转角,使其与x轴重合,变换矩阵为:10010001barctga1000cossin0sincos100010001(3)关于x轴对称变换,变换矩阵为:(4)方向旋转,恢复直线y=ax,变换矩阵为:arctga1000cossin0sincosl(5)方向平移,恢复直线y=ax+bl思考题:l1.已知三角形的三个顶点坐标为(10,20)、(20,20)及(15,30),要求此三角形以点(15,

18、25)为中心,作二维比例变换,x方向的比例因子为3,y方向的比例因子为2,试求此变换矩阵及变换之后的新三角形的顶点坐标。l2.试求图形关于直线Ax+By+C=0对称的变换矩阵。10010001bl1. 1.图形相对于任意点作旋转变换图形相对于任意点作旋转变换 示例l 思考:图形相对于任意点的比例变换如何实现?l2. 2. 图形对于任一条过原点的直线图形对于任一条过原点的直线y=axy=ax对对称称 l 思考:图形对于任一条过原点的直线y=ax+b对称 示例l3.已知图1所示的五角星的10个顶点坐标为( )、( )、( )( )。现要使该五角星的中心沿 的圆运动,且运动中,五角星的一条对称轴线A

19、B始终通过该圆的圆心,试推导实现该运动过程的坐标变换矩阵。 yxBA11,x y22,xy33,xy1010,xy22(3)(4)36xyl对于三维空间的点用对于三维空间的点用4 4个分量个分量 x y z 1 x y z 1来表示它的来表示它的各个位置向量,变换矩阵要用各个位置向量,变换矩阵要用4 44 4矩阵才能表示包矩阵才能表示包括平移在内的所有变换。括平移在内的所有变换。l如果我们用如果我们用x y z 1x y z 1表示变换前点的位置向量,用表示变换前点的位置向量,用X Y Z HX Y Z H表示变换后点的位置向量,表示变换后点的位置向量,用用 xx* * y y* * z z*

20、 * 11表示正常化处理后点的位置向量,那表示正常化处理后点的位置向量,那么空间点的位置向量变换可写成么空间点的位置向量变换可写成 11*zyxHZYXTzyxsnmlrjihqfedpcbaTl将此矩阵分成将此矩阵分成4 4个子矩阵进行分析个子矩阵进行分析l在这在这4 4个子矩阵中,各个子矩阵的作用分别是:个子矩阵中,各个子矩阵的作用分别是:l3 3* *3 3矩阵:矩阵:使立体产生比例、镜射、旋转和错切使立体产生比例、镜射、旋转和错切变换。变换。l1 1* *3 3矩阵:矩阵:使立体产生平移变换。使立体产生平移变换。l3 3* *1 1矩阵:矩阵:使立体产生透视变换。使立体产生透视变换。l

21、1 1* *1 1矩阵:矩阵:使立体产生整体比例变换。使立体产生整体比例变换。l下面我们分别来介绍立体的平移、比例、旋转、下面我们分别来介绍立体的平移、比例、旋转、错切等变换。错切等变换。 l一、平移变换一、平移变换 平移变换是使立体在空间平行移动到另一新的位平移变换是使立体在空间平行移动到另一新的位置,在变换过程中,立体的形状并没有发生变化,置,在变换过程中,立体的形状并没有发生变化,它的变换矩阵就是在单位矩阵内加入平移参数,它的变换矩阵就是在单位矩阵内加入平移参数,即即1010000100001nmlTZYX(x,y,z)(x,y,z)图7-5 平移变换l二、比例变换二、比例变换 l空间立

22、体各点坐标按某一比例放大或缩小,这种变换成空间立体各点坐标按某一比例放大或缩小,这种变换成为比例变换。为比例变换。l在变换矩阵在变换矩阵T T中,中,a,e,ja,e,j起局部比例变换作用,而元素起局部比例变换作用,而元素s s起起整体比例变换作用。局部比例变换矩阵整体比例变换作用。局部比例变换矩阵T T为:为:l对点的位置向量进行变换对点的位置向量进行变换lx y z 1.T=ax ey jzx y z 1.T=ax ey jz 1=x 1=x* * y y* * z z* * 1 1 l由上式可以看出,空间点的由上式可以看出,空间点的x,y,zx,y,z坐标是分别按比例坐标是分别按比例a,

23、e,ja,e,j变化的。变化的。a=e=j0 a=e=j0 局部比例变换,局部比例变换,aej0aej0。1000000000000jeaT在讨论了在讨论了a,e,ja,e,j的作用之后,再来研究元素的作用之后,再来研究元素s s,元素元素s s的作用是使图形产生整体比例变换,其的作用是使图形产生整体比例变换,其变换矩阵变换矩阵T T为:为:sT000010000100001x y z 1.T=x y z s= x/s y/s z/s 1=x y z 1.T=x y z s= x/s y/s z/s 1= x x* * y y* * z z* * 1 1例子例子:对如图所示的长方形体进行比例变

24、换,其中a=1/2,e=1/3,j=1/2,求变换后的长方形体各点坐标。 yzxyzxABCDEFGH图7-6 比例变换223111l三、旋转变换三、旋转变换 l旋转变换是使空间立体绕旋转轴转过一个角度,旋转后的立体只旋转变换是使空间立体绕旋转轴转过一个角度,旋转后的立体只改变了空间位置,它的形状没有发生任何变化改变了空间位置,它的形状没有发生任何变化. .l作旋转变换时,立体可以绕坐标轴旋转,也可以以空间任意直线作旋转变换时,立体可以绕坐标轴旋转,也可以以空间任意直线为旋转轴旋转一定的角度。为旋转轴旋转一定的角度。l对于旋转变换中,旋转角度的正负我们用右手定则来确定,既右对于旋转变换中,旋转

25、角度的正负我们用右手定则来确定,既右手大拇指指向旋转轴的正向,其余四个手指指向表示旋转方向,手大拇指指向旋转轴的正向,其余四个手指指向表示旋转方向,符合右手定则,旋转角度为正,否则为负。符合右手定则,旋转角度为正,否则为负。 zyX 旋转变换的角度方向1. 1.绕绕z z轴旋转的变换矩阵轴旋转的变换矩阵 在二维图形旋转变换中,我们已经用图解法证得在二维图形旋转变换中,我们已经用图解法证得在在XOY平面中图形绕原点平面中图形绕原点o的旋转变换矩阵为的旋转变换矩阵为1000cossin0sincosT在在XOY平面绕原点平面绕原点o旋转可视为绕旋转可视为绕z轴旋转,只是轴旋转,只是Z为零,为零,在

26、三维旋转变换中,在三维旋转变换中,z坐标不为零,但在绕坐标不为零,但在绕Z轴的旋转过轴的旋转过程中,程中,Z坐标不发生变化,因此,三维旋转变换矩阵只是坐标不发生变化,因此,三维旋转变换矩阵只是在二维旋转基础上加一在二维旋转基础上加一Z坐标,故三维旋转变换矩阵为:坐标,故三维旋转变换矩阵为: 1000010000cossin00sincoszT1. 2. 2.绕绕X X轴旋转的变换矩阵轴旋转的变换矩阵用同样的方法可得绕用同样的方法可得绕X X轴旋转变换矩阵轴旋转变换矩阵10000cossin00sincos00001xT 3.绕Y轴的旋转变换矩阵用同样的方法可得绕用同样的方法可得绕Y Y轴旋转变

27、换矩阵轴旋转变换矩阵10000cos0sin00100sin0cosyT四四. . 错切变换错切变换错切变换是指立方体沿错切变换是指立方体沿x,y,zx,y,z三个方向的错切变形,三个方向的错切变形,在上述在上述4 4* *4 4变换矩阵中,令主对角线各元素为变换矩阵中,令主对角线各元素为1 1,第,第4 4行和第行和第4 4列元素均为零,可得到三维错切变换矩阵,列元素均为零,可得到三维错切变换矩阵,即即1000010101ihfdcbT11)()()(1*zyxzfycxjzybxhzdyxTzyxl五五. .镜射变换镜射变换l在二维平面中,镜射变换是对坐标轴的镜射。在二维平面中,镜射变换是

28、对坐标轴的镜射。l在三维空间中,立体的镜射变换则是对坐标平面在三维空间中,立体的镜射变换则是对坐标平面的镜射,因此,只要将恒等变换的单位矩阵中的有的镜射,因此,只要将恒等变换的单位矩阵中的有关列的符号改变即可。关列的符号改变即可。l对对xoyxoy平面的镜射变换矩阵:平面的镜射变换矩阵:l将单位矩阵中控制将单位矩阵中控制Z Z坐标的(坐标的(+1+1)改为()改为(-1-1)即可)即可。 1000010000100001T1000010000100001yozT1000010000100001xozT三维图形复合变换5.4 正投影变换正投影变换将空间三维物体,通过矩阵变换而获得国家标准所规将空

29、间三维物体,通过矩阵变换而获得国家标准所规定的三个投影视图(即主视图、俯视图和、左视图)定的三个投影视图(即主视图、俯视图和、左视图)或六个投影视图的绘图信息,这种变换就称为正投影或六个投影视图的绘图信息,这种变换就称为正投影变换。下面,我们就用前面所讲的基本变换方法来获变换。下面,我们就用前面所讲的基本变换方法来获得三个视图的变换矩阵。得三个视图的变换矩阵。xzyOZYXY主视图俯视图侧视图7-13 三维形体及其三视图1. 主视图主视图l将三维形体向xoz面(又称V面)作垂直投影(即正平行投影),得到主视图。 xzyOZYXY主视图俯视图侧视图7-13 三维形体及其三视图1000010000000001xozT2. 俯视图俯视图三维形体向xoy面(又称H面)作垂直投影得到俯视图,(1) 投影变换(2)使H面绕x轴负转90(3)使H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论