《六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt》由会员分享,可在线阅读,更多相关《六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、六讲二维及三维空间的变换概念及其矩阵表示ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望几何变换二维变换齐次坐标系和二维变换的矩阵表示二维变换的复合窗口到视口的变换效率问题三维变换的矩阵表示三维变换的复合坐标系的变换二维及三维空间的变换概念、矩阵表示、三维视图二二维、三、三维空空间的的变换概念及其矩概念及其矩阵表示表示2022/10/30几何变换几何变换本讲介绍计算机图形学经常用到的基本的二本讲介绍计算机图形学经常用到的基本的二维维和三和三维维几何变换,
2、其几何变换,其中的平移变换、比例变换和旋转变换对很多图形应用程序来说极其中的平移变换、比例变换和旋转变换对很多图形应用程序来说极其重要。重要。许多应用程序或图形子程序软件包需要用到各种变换,例如:一个许多应用程序或图形子程序软件包需要用到各种变换,例如:一个城市规划程序,利用平移变换将表示建筑物和树木的图符移到合适城市规划程序,利用平移变换将表示建筑物和树木的图符移到合适的位置,利用旋转变换确定图符的朝向,以及利用比例变换确定图的位置,利用旋转变换确定图符的朝向,以及利用比例变换确定图符的大小。一般来说,很多应用程序在绘图时都要用到几何变换来符的大小。一般来说,很多应用程序在绘图时都要用到几何
3、变换来改变物体(也称为图符或模板)的位置、方向和大小。本讲还介绍改变物体(也称为图符或模板)的位置、方向和大小。本讲还介绍如何应用三维变换如何应用三维变换(旋转变换、平移变换和比例变换旋转变换、平移变换和比例变换)作为创建三维作为创建三维物体的二维显示过程的一部分。物体的二维显示过程的一部分。2022/10/30 P=RP二维变换二维变换变换前 一座房子的平移变换.变换后 旋转变换矩阵旋转变换矩阵 房子的比例变换。两个方向上的变换比例不同,并且房子改变了位置。比例变换前 比例变换后旋转之前 旋转之后房子的旋转变换,旋转的同时也改变了位置。x=sx xy=sy yx=x+dx,dx=x-x y=
4、y+dy,dy=y-y P=P+T平移变换平移变换比例变换矩阵比例变换矩阵2022/10/30旋转矩阵的推导旋转矩阵的推导小结小结rr正向旋转其中:2022/10/30齐次坐标系和二维变换的矩阵表示齐次坐标系和二维变换的矩阵表示平移矩阵平移矩阵 齐次坐标表示齐次坐标表示P P=T+P =T+P P P=S=S P P P P=R=R P P希望能用一种一致的方法来表示这三种变换。希望能用一种一致的方法来表示这三种变换。将(将(x,y)x,y)附加第三个坐标,于是每个点的坐标都用附加第三个坐标,于是每个点的坐标都用一个三元组一个三元组(x,y,W)来来表示,称为点(表示,称为点(x x,y y)
5、的齐次的齐次坐标。在齐次坐标系中,我们认为两组齐次坐标坐标。在齐次坐标系中,我们认为两组齐次坐标(x,y,W)和和(x,y,W)代表同一点当且仅当代表同一点当且仅当(x,y,W)与与(x,y,W)互为互为倍数倍数,因此因此(2,3,6)和和(4,6,12)是用不同的三元组坐标表示的同一点。也是用不同的三元组坐标表示的同一点。也就是说每个点齐次坐标不唯一。要求齐次坐标中至就是说每个点齐次坐标不唯一。要求齐次坐标中至少有一个不为零,即少有一个不为零,即(0,0,0)是不允许的。如果坐是不允许的。如果坐标标W不为零,那么我们可以用它作为除数:由不为零,那么我们可以用它作为除数:由(x,y,W)得到得
6、到(x/W,y/W,1),它们它们代表同一点。一般代表同一点。一般来说,当来说,当W不为零时,我们采用不为零时,我们采用W为为1 1的坐标,并的坐标,并将将x/W和和y/W称为齐次点称为齐次点(x,y,W)的笛卡儿坐标。而的笛卡儿坐标。而W=0的点被称为无穷远点,在这里我们不讨论此类的点被称为无穷远点,在这里我们不讨论此类点点。平移变换平移变换2022/10/30齐次坐标几何意义齐次坐标几何意义三元组一般用来表示三维空间中三元组一般用来表示三维空间中的点,但是此处是用来表示二维的点,但是此处是用来表示二维空间的点。这两种表示之间具有空间的点。这两种表示之间具有以下联系:如果取所有代表同一以下联
7、系:如果取所有代表同一点的三元组,即所有形式为点的三元组,即所有形式为(tx,ty,W)的三元组(其中的三元组(其中t0),),便可得到三维空间中的一条直线,便可得到三维空间中的一条直线,因此,每一个齐次点就代表了三因此,每一个齐次点就代表了三维空间中的一条直线。又由于我维空间中的一条直线。又由于我们可以将一点的坐标齐次化(通们可以将一点的坐标齐次化(通过除以过除以W)而得到形式为而得到形式为(x,y,1)的坐标,因此,齐次化的点就形的坐标,因此,齐次化的点就形成了成了(x,y,W)空间中的一个平面空间中的一个平面,由等式由等式W=1定义。图中示出了这定义。图中示出了这种联系,注意:无穷远点没
8、表示种联系,注意:无穷远点没表示在该平面中。在该平面中。XYW齐次坐标系,其中示有W=1的平面和投影到该平面上的点P(X,Y,W)平面2022/10/30二维变换的矩阵表示二维变换的矩阵表示两个连续的旋转变换是可叠加的证明留作习题。平移变换平移变换旋转变换旋转变换比例变换比例变换2022/10/30特殊正交阵特殊正交阵(special orthogonal)左上角有个左上角有个22的子矩阵,我们可以将其中的每的子矩阵,我们可以将其中的每一行看作是一个行向量。这两个行向量有以下几一行看作是一个行向量。这两个行向量有以下几个特点:个特点:1)每个都是单位向量。每个都是单位向量。2)每两个向量之间相
9、互垂直每两个向量之间相互垂直(它们的点积为零)。它们的点积为零)。3)如果将每个向量所指的方向旋转如果将每个向量所指的方向旋转R(),那么那么这些方向量便可位于正这些方向量便可位于正x轴、轴、y轴方向上,轴方向上,即即:前两个特点也适用于该前两个特点也适用于该22子矩阵的两个列向量,并且列向量所对应的两个子矩阵的两个列向量,并且列向量所对应的两个方向量就是沿方向量就是沿x轴和轴和y轴正方向的向量轴正方向的向量(i,j,k)i,j,k)经矩阵经矩阵R R变换后而得到的变换后而得到的.因此,当已知旋转变换的结果时,这些特点便因此,当已知旋转变换的结果时,这些特点便为如何构造为如何构造旋转变换矩阵旋
10、转变换矩阵提供了提供了两种有效的方法两种有效的方法。具有这些特性的矩阵称为特殊正交阵具有这些特性的矩阵称为特殊正交阵。特殊正交阵01 sin cos 02022/10/30刚体变换仿射变换刚体变换仿射变换 单位正方体单位正方体 旋转旋转4545度度 在在x轴方向拉伸轴方向拉伸上图是单位正方体先旋转45度,再进行不均匀的比例变换,结果是单位立方体的仿射变换,只保留线段之间的平行关系,不保持长度和角度不变。对于形如:的变换矩阵,若其左上角的主子式是正交的,那么该矩阵变换保角保长。也就是说,一个单位的正方形经该矩阵变换后仍然是一个单位的正方形,特殊正交阵既不会变成单位边长的菱形,也不会变成非单位边长
11、的正方形。这种变换也被称为刚体变换刚体变换,因为进行变换的物体不会有任何变形。任意顺序的旋转、平移变换都等同于这种形式的矩阵。一系列任意的旋转、平移和比例变换的结果又是如何呢?这些变换称为仿射仿射变换变换,它们能够保持直线平行性,但不角和不保长。如上图所示,其中先将一个单位正方体旋转45度,然后进行不均匀的比例变换。很明显,正方体的角度和长度都发生了变化,但那些原来平行的线仍保持平行,再继续进行旋转、比例和平移变换也不会改变线的平行性,R()、S(sx,sy)和和T(dx,dy)都是仿射变换都是仿射变换。R()、T(dx,dy)也是刚体变换是刚体变换保长保角。2022/10/30对单位正方体进
12、行简单的错切变换,对单位正方体进行简单的错切变换,每一种变换情况,斜边的长度都超过了每一种变换情况,斜边的长度都超过了1。错切变换错切变换(一种仿射变换)(一种仿射变换)单位正方体 方体在x方向上错切 正方体在y方向上错切二维的错切变换分为两种:沿x轴的错切变换和沿y轴的错切变换。上图示出了沿两个轴错切一个单位正方体的效果。其中a、b是比例常量。注意:SHxx y 1T=x+ay y 1 T,表示在x方向上的比例变化是y的函数。SHyx y 1T=x bx+y 1 T表示在y方向上的比例变化是x的函数。SHx沿沿x轴的错轴的错切变换矩阵切变换矩阵Shy沿沿y轴的轴的错切矩阵错切矩阵2022/1
13、0/30二维变换的复合二维变换的复合(例一)例一)现在考虑绕任意一点现在考虑绕任意一点P1旋转物体的问题。旋转物体的问题。1)将将P1点平移到原点;点平移到原点;2)旋转;旋转;3)平移还原平移还原P1点。点。(x1,y1)(x1,y1)2022/10/30二维变换的复合二维变换的复合(例二)例二)关于任意关于任意点点P1比例比例变换一个变换一个物体。物体。2022/10/30二维变换的复合(小结)二维变换的复合(小结)假假设设我我们们想想要要使使图图中中的的房房子子以以任任意意点点P1为为中中心心进进行行旋旋转转、平平移移和和缩缩放放(比比例例)变变换换。这这时时具具体体步步骤骤与与上上述述
14、类类似似:先先将将点点P1平平移移到到原原点点,待待完完成成比比例例变变换换和和旋旋转转变变换换后后再再将将房房子子从从坐坐标标原原点点平平移移到到新新的的位位置置P2,因因此此记记录录变变换换的的数数据据结结构构可可以以是是包包含含比比例例变变换换因因子子、旋旋转转角角、平平移移量量和和变变换换顺顺序序的的数数据据结结构构,或或者者只只是是简简单单地地记记录录复复合合变变换换矩矩阵的数据结构:阵的数据结构:如如果果M1和和M2分分别别代代表表一一个个基基本本的的平平移移变变换换、比比例例变变换换或或旋旋转转变变换换,那那么么在在什什么么情情况况下下有有M1M2=M2M1呢呢?或或者者说说,何
15、何时时M1和和M2可可交交换换呢呢?当当然然,一一般般来来说说矩矩阵阵乘乘法是不可交换的,但是,在下面的特殊情况下,是可以进行交换的:法是不可交换的,但是,在下面的特殊情况下,是可以进行交换的:M1 M2平移变换平移变换 平移变换平移变换比例变换比例变换 比例变换比例变换旋转变换旋转变换 旋转变换旋转变换 比例变换比例变换(sx=sy)旋转变换旋转变换因此,在这些情况下,我们不用关心矩阵乘法的顺序。因此,在这些情况下,我们不用关心矩阵乘法的顺序。T(x2,y2)R()S(sx,sy)T(-x1,-y1)2022/10/30习题习题写出综合变换矩阵.12003456782345678112345
16、678123456782022/10/30窗口到视口的变换窗口到视口的变换2022/10/30窗口到视口的变换步骤窗口到视口的变换步骤将一个空间坐标系的窗口变换到视口的步骤:所期望的结果点坐标由所期望的结果点坐标由P=Mwv x y 1TP 代表了视口内新点坐标代表了视口内新点坐标,x,y,1代表了窗口内点坐标代表了窗口内点坐标.视图变换:就是把用户坐标系表视图变换:就是把用户坐标系表示的点在视口坐标系表示出来示的点在视口坐标系表示出来。2022/10/30窗口的剪切和视口的关系窗口的剪切和视口的关系许多图形软件包将窗口到视口的变换和窗口中输出图元的剪切结合起来,许多图形软件包将窗口到视口的变
17、换和窗口中输出图元的剪切结合起来,上图举例说明了窗口的剪切和视口的关系。上图举例说明了窗口的剪切和视口的关系。空间坐标系中的输出图元被窗口剪切,保留的部分在视口中显示出来。空间坐标系中的输出图元被窗口剪切,保留的部分在视口中显示出来。2022/10/30效率问题效率问题要计算一个向量与一个要计算一个向量与一个33的矩阵的乘积的矩阵的乘积MP,则必须则必须做九次乘法和六次加法。上做九次乘法和六次加法。上面左侧公式面左侧公式的的最后一行为固定结构,因此实际操作将变为四次乘法和四次加法:最后一行为固定结构,因此实际操作将变为四次乘法和四次加法:x=x r11+y r12+tx y=x r21+y r
18、22+ty如果有些硬件的矩阵乘法器具有并行加法器和乘法器,那么无需考虑这一效率问如果有些硬件的矩阵乘法器具有并行加法器和乘法器,那么无需考虑这一效率问题。题。旋转方程旋转方程R R()需要进行四次乘法和两次加法,当需要进行四次乘法和两次加法,当角非常小时(只有几度),角非常小时(只有几度),cos非常接近于非常接近于1 1,根据这一点可减少计算量,因此旋转变换公式,根据这一点可减少计算量,因此旋转变换公式可可近似地表示成:近似地表示成:x=x-ysin,y=xsin+y然而,该式只是然而,该式只是x和和y的近似值,每计算一次,都会产生误差积累。如果我们反复的近似值,每计算一次,都会产生误差积累
19、。如果我们反复无限次地使用该公式,会使其结果完全变成误差,使得旋转图象看起来就象随意无限次地使用该公式,会使其结果完全变成误差,使得旋转图象看起来就象随意画的线段集合。画的线段集合。另一种更好的近似方法是在上面式子另一种更好的近似方法是在上面式子的的第二个公式中用第二个公式中用x代替代替x:x=x-ysin,y=xsin+y=(x-y sin)sin+y=x sin+y(1 sin2)这种近似上一个公式这种近似上一个公式要要好。好。2022/10/30三维变换的矩阵表示三维变换的矩阵表示(坐标系坐标系)在齐次坐标系中,二维变换可以用在齐次坐标系中,二维变换可以用33的的矩阵表示,假定我们也用矩
20、阵表示,假定我们也用齐次坐标齐次坐标来表示三维空间中的点,那么三维变换便可用来表示三维空间中的点,那么三维变换便可用44的的矩阵矩阵表示。因此,我们用表示。因此,我们用(x,y,z,W)而不是而不是(x,y,z)来来表示三维空间中的表示三维空间中的一点,其中若一个四元组是另一个四元组的非零倍数,则认为它们一点,其中若一个四元组是另一个四元组的非零倍数,则认为它们代表同一点,并且四元组代表同一点,并且四元组(0,0,0,0)是不允许的。和二维空间一样,是不允许的。和二维空间一样,任意点任意点(x,y,z,W)(W0)的标准表示为的标准表示为(x/W,y/W,z/W,1),将坐标将坐标转化成这种形
21、式被称为齐次化,而转化成这种形式被称为齐次化,而W为零的点则称为无穷远点。同为零的点则称为无穷远点。同样,齐次化的几何解释也存在:三维空间中的每一个点可以看作是样,齐次化的几何解释也存在:三维空间中的每一个点可以看作是从四维空间的原点出发的一条线,且齐次化的点组成了四维空间中从四维空间的原点出发的一条线,且齐次化的点组成了四维空间中由简单等式由简单等式W=1确定的三维子空间。本课中的三维坐标系采用确定的三维子空间。本课中的三维坐标系采用右手右手系系,如右下图所示,按照习惯定义,右手系下的正向旋转的规定是:,如右下图所示,按照习惯定义,右手系下的正向旋转的规定是:当从一个正向轴向原点望去时,则另
22、一个正向轴逆时针旋转当从一个正向轴向原点望去时,则另一个正向轴逆时针旋转9090度后度后与第三个正向轴重合,如下表所示与第三个正向轴重合,如下表所示 旋转轴旋转轴 正向旋转的方向正向旋转的方向 x y z y z x z x y应注意,并不是所有的图形学教科书都沿袭这一约定。应注意,并不是所有的图形学教科书都沿袭这一约定。在三维图形学中采用屏幕上的左手系会很方便在三维图形学中采用屏幕上的左手系会很方便(如右上如右上图图所示所示),因因为在左手系下,可以很自然地解释为在左手系下,可以很自然地解释z值越大,点离观察者越远的情值越大,点离观察者越远的情况,但这里我们仍然使用右手系,因为它符合标准的数
23、学约定。请况,但这里我们仍然使用右手系,因为它符合标准的数学约定。请注意,当从左手系的正向轴向原点望去时,正向旋转是顺时针的注意,当从左手系的正向轴向原点望去时,正向旋转是顺时针的(x xy)y)。正向旋转的定义使本节中的旋转矩阵既可以用于右手坐标正向旋转的定义使本节中的旋转矩阵既可以用于右手坐标系也可以用于左手坐标系。系也可以用于左手坐标系。显示屏上的左手左手坐标系。右手右手坐标系2022/10/30三维变换的矩阵表示三维变换的矩阵表示(公式)(公式)平移比例绕z旋转绕x旋转综合绕y旋转01在xy方向上错切2022/10/30三维变换的矩阵表示三维变换的矩阵表示(平面方程)(平面方程)单单个
24、个点点的的变变换换已已经经讨讨论论。线线段段的的变变换换可可以以通通过过对对两两端端点点进进行行变变换换来来实实现现。如如果果平平面面是是由由三三点点定定义义的的,可可用用同同样样的的方方法法处处理理。如如果果平平面面由由一一个个平平面面方方程程来来定定义义,也也需需要要对对平平面面方方程程的的各个系数进行变换。各个系数进行变换。为了处理这种情况,平面方程系数的列向量为了处理这种情况,平面方程系数的列向量N=A B C D T,点坐标点坐标 P=x y z 1 T,则有则有:N P=0,其中其中“”表示表示向量的点积向量的点积。点积结果得到平面方程点积结果得到平面方程 Ax+By+Cz+D=0
25、,即行向量即行向量N T和列向量和列向量P相乘:相乘:N TP=0假设平面上的点假设平面上的点P通过某一矩阵通过某一矩阵M进行变换,即进行变换,即MP。若若使使变变换换后后的的点点仍仍满满足足N TP=0,N必必须须通通过过某某一一矩矩阵阵Q(待待定定)进进行行变变换换,于于是是便便可可得得到到(QN)TMP=0。由于由于(QN)T=N TQ T,则则N TQ TMP=0。只只有有当当Q TM是是单单位位矩矩阵阵的的倍倍数数时时等等式式才才成成立立。如如果果该该倍倍数数为为1,则则有有Q T=M-1或或Q=(M-1)T。通过通过M变换后得到的平面的系数列向量为:变换后得到的平面的系数列向量为:
26、N=Q N=(M-1)TN (5-48)矩矩阵阵(M-1)T并并不不一一定定存存在在,因因为为M的的行行列列式式可可能能为为0。例例如如,当当M包包含含一一个个投投影影变变换换时时(我我们们可可能能想想考考查查一一下下在在平平面面上上的的透透视视投投影影的的效效果果),就就有有可可能能发发生生这这种种情情况况。此此时时利利用用克克莱莱姆(姆(Cramer)法则,采用求法则,采用求M的逆用到的辅助矩阵来代替的逆用到的辅助矩阵来代替(M-1)T。如果只想对平面的法线进行变换,并且如果只想对平面的法线进行变换,并且M只是平移变换、旋转变换和比例变换矩阵的复只是平移变换、旋转变换和比例变换矩阵的复合,
27、则计算会更加简单。这时等式(合,则计算会更加简单。这时等式(5-48)可以简化为)可以简化为A B C 0T(W为为0的点代表一的点代表一个无穷远点,可以视为一个方向)。个无穷远点,可以视为一个方向)。2022/10/30三三维变换维变换的复合的复合本节,我们将结合一个具体的例子来详细讨论如何复合三维变换矩阵。本节,我们将结合一个具体的例子来详细讨论如何复合三维变换矩阵。如如上上图图所所示示,我我们们要要将将其其中中的的有有向向线线段段P1P2和和P1P3从从(a)中中的的初初始始位位置置变变换换到到(b)中中的的最最终终位位置置,于于是是,点点P1被被移移到到坐坐标标原原点点,P1P2与与z
28、轴轴重重合合,P1P3落落在在y值值为正的(为正的(y,z)平面内,但线段的长度在变换中没有发生改变。平面内,但线段的长度在变换中没有发生改变。实现该变换的方法有两种:实现该变换的方法有两种:第一种方法第一种方法是按部就班地构造一系列变换是按部就班地构造一系列变换T,Rx,Ry和和Rz,这种方法虽然有些冗长乏味,但很容易理解。这种方法虽然有些冗长乏味,但很容易理解。第二种方法第二种方法是运用上节介绍是运用上节介绍的正交矩阵,此方法十分简要,但是变换过程也更加抽象。的正交矩阵,此方法十分简要,但是变换过程也更加抽象。(a)初始位置 (b)最终位置 将P1、P2和P3 从初始位置(a)变换到最终位
29、置(b)2022/10/30利用前述的原始变换,便可将整个复杂的问题分割成几个相对比较简单的小问题。具体来说,整个变换可以分为4个步骤:将P1点平移到坐标原点;绕y轴旋转使得P1P2落在(y,z)平面上;绕x轴旋转使得P1P2与z轴重合;绕z轴旋转使得P1P3落在(y,z)平面上;原始原始变换变换方法方法(综述综述)2022/10/30 绕y轴旋转:长度为D1的P1P2 的投影旋转到与z轴重合,角表示围绕y轴正向旋转的方向,旋转的角度是(90)。第一步:将第一步:将P1平移到坐平移到坐标标原点原点平移变换矩阵平移变换矩阵(a)初始位置初始位置将将T应用到点应用到点P1、P2和和P3便可便可得到
30、:得到:2022/10/30变换图示变换图示第二步第一步2022/10/30第二步:第二步:绕绕y轴轴 旋旋 转转 绕y轴旋转:长度为D1的P1P2 的投影旋转到与z轴重合,角表示围绕y轴正向旋转的方向,旋转的角度是(90)。右图右图示出了线段示出了线段 P1P2 在第一步完成后的位在第一步完成后的位置,并且可看到它在置,并且可看到它在(x,z)平面上的投影。平面上的投影。本步旋转的角度是本步旋转的角度是(90(90)=90)=90,这时有:这时有:P2 的的x坐标是零,坐标是零,z坐标是坐标是D1绕x轴旋转:P1P2旋转正向角后与z轴重合其中D2是线段的长度,线段P1P3没有在图上画出,因为
31、它不能决定旋转的角度。这两条线段都用Rx()变换来旋转。绕y旋转2022/10/30第二步:第二步:绕绕y轴轴 旋旋 转转结果结果绕x轴旋转:P1P2旋转正向角后与z轴重合,其中D2是线段的长度,线段P1P3没有在图上画出,因为它不能决定旋转的角度。这两条线段都用Rx()变换来旋转。2022/10/30第三步:第三步:绕绕x轴轴旋旋转转右右图是线段图是线段P1P2在第二步完成后的位置在第二步完成后的位置.绕绕z轴轴旋旋转转:长长度度为为D3 的的P1P3的的投投影影旋旋转转角角后后与与y轴轴重重合合,从从而而使使得得P1P3落落在在(y,z)平平面面上。上。而且而且P1P 2的长度为的长度为D
32、2=|P 1P 2|,但由于旋但由于旋转变换和平移变换保持长度不变,所以转变换和平移变换保持长度不变,所以P1P2与与P1P2的长度是相等的,即有:的长度是相等的,即有:第三步旋转变换的结果是第三步旋转变换的结果是:从该式可以看出,现在从该式可以看出,现在P1P2已和已和Z轴重合。轴重合。绕绕x轴轴旋旋转转:P1P2旋旋转转正正向向角角后后与与z轴轴重重合合,其其中中D2是是线线段段的的长长度度,线线段段P1P3没没有有在在图图上上画画出出,因因为为它它不不能能决决定定旋旋转转的的角角度度。这这 两两 条条 线线 段段 都都 用用Rx()变换来旋转。变换来旋转。绕绕x旋转旋转2022/10/3
33、0第四步:第四步:绕绕Z轴轴旋旋转转右下角的右下角的图示出了线段图示出了线段P1P2和和P1P3在第三步结束后的在第三步结束后的位置,其中位置,其中P 2与与z轴重合,而轴重合,而P 3位于:位于:本步旋转的角度为本步旋转的角度为正向角正向角,且满足:且满足:其中其中R R=Rz()Rx()Ry(90 90)。)。整个变换过程为:整个变换过程为:绕绕z旋转旋转2022/10/30第二种方法第二种方法:利用正交矩利用正交矩阵阵的性的性质质利用正交矩阵的性质利用正交矩阵的性质,R 的的每个单位行向量经每个单位行向量经R旋转变旋转变换换后便成后便成为各个坐标轴(即为各个坐标轴(即x,y,z轴)轴)。
34、令:令:Rx、Ry、Rz分别为分别为R的第的第一、二、三行的行向量。一、二、三行的行向量。因为因为 Rz是沿是沿P1 P2的单位向量,的单位向量,并且将旋转到正向并且将旋转到正向z轴,所以轴,所以有:有:另外,单位向量另外,单位向量Rx与点与点P1、P2和和P3所确定的平面垂直,所确定的平面垂直,并且将旋转到正向并且将旋转到正向x轴,所轴,所以,以,Rx一定是该平面内两个一定是该平面内两个向量的单位叉积向量的单位叉积:最后,很容易得到最后,很容易得到Ry:它将旋转到正向它将旋转到正向y轴的位轴的位置。于是,整个复合矩置。于是,整个复合矩阵为:阵为:右右图示出了单个的向量图示出了单个的向量Rx、
35、Ry和和Rz。单单位位向向量量Rx、Ry和和Rz 将将被被旋旋转转到到与各个坐标轴重合。与各个坐标轴重合。性质2022/10/30正交矩正交矩阵阵的性的性质质行向量性质行向量性质列向量性质列向量性质旋转矩阵旋转矩阵01-sincos2022/10/30将将P1、P2和和P3 从初始位置(从初始位置(a a)变换变换到最到最终终位置位置(b b)示意图示意图(b)最终位置最终位置(a)初始位置初始位置2022/10/30飞机的例子飞机的例子(xp,yp,zp)坐坐标标系系中中的一架飞机。的一架飞机。上图上图中的飞机平移到中的飞机平移到P点,并且点,并且机头转向机头转向DOF所指方向。所指方向。z
36、p=DOF xp=yDOFyp=zpxp =DOF(yDOF)右上右上图显示的是一架定义在坐标系图显示的是一架定义在坐标系xp,yp,zp中的飞机,其中飞机的中心位于中的飞机,其中飞机的中心位于原点。我们变换的目的是想将这个飞机的头部转到矢量原点。我们变换的目的是想将这个飞机的头部转到矢量DOF(飞行方向)所飞行方向)所指的方向,其中心位于指的方向,其中心位于P点而且点而且机身不侧倾机身不侧倾,如如右下图所示右下图所示。该变换需要先把。该变换需要先把飞机的头部转向规定的方向,然后将飞机从原点平移到飞机的头部转向规定的方向,然后将飞机从原点平移到P点。为了得到旋转矩点。为了得到旋转矩阵,我们只需
37、先确定阵,我们只需先确定xp,yp,zp轴在轴在右下图右下图中的指向,然后取各方向矢量的单中的指向,然后取各方向矢量的单位向量,并把它们作为旋转矩阵的列向量即可。位向量,并把它们作为旋转矩阵的列向量即可。由于起初飞机的头部指向由于起初飞机的头部指向zp轴的正向,所以轴的正向,所以zp轴必须变换到轴必须变换到DOF所指的方向,所指的方向,而且而且xp轴必须变换成垂直与轴必须变换成垂直与DOF方向的水方向的水平向量平向量即即y轴与轴与DOF的叉积:的叉积:yDOF。xp,zp确定后,确定后,yp也就随之确定了,即为也就随之确定了,即为zp和和xp的叉积:的叉积:zpxp=DOF(yDOF)。)。因
38、此,旋转矩阵的三个列向量分别为单位因此,旋转矩阵的三个列向量分别为单位向量向量|y DOF|、|DOF(yDOF)|和和|DOF|:但是当但是当DOF与与y轴方向相同时,叉积轴方向相同时,叉积y DOF和和DOF(yDOF)均变成均变成0,在这种,在这种特殊情况下,特殊情况下,R不再是一个旋转矩阵。不再是一个旋转矩阵。2022/10/30坐标系的变换坐标系的变换到目前为止,我们只讨论了如何在同一坐标系到目前为止,我们只讨论了如何在同一坐标系中将一个物体的一组点变换成另一组点,因此中将一个物体的一组点变换成另一组点,因此前面的各种变换归根结底都是关于原点所做的前面的各种变换归根结底都是关于原点所
39、做的变换,坐标系均不变动。下面我们将介绍另一变换,坐标系均不变动。下面我们将介绍另一种变换的思路,即通过改变坐标系来实现物体种变换的思路,即通过改变坐标系来实现物体的变换。当将定义在各自不同的坐标系中的多的变换。当将定义在各自不同的坐标系中的多个物体合并在一起个物体合并在一起,并放在一个通用的坐标系中并放在一个通用的坐标系中时,这种方法便显示出它的优越性。时,这种方法便显示出它的优越性。左手坐标系和右手坐标系互换左手坐标系和右手坐标系互换:2022/10/30点点P和坐标系和坐标系1,2,3,4。2022/10/30房子上的点可以用任何一个坐标系的坐标来表示。坐标系的变换房子表示坐标系的变换房
40、子表示2022/10/30坐标系的变换坐标系的变换(房子房子变迁变迁)原始的房子(原始的房子(a)初始位置及所在的坐标系(初始位置及所在的坐标系(b)变换后所在的变换后所在的坐标系与原坐标系之间的关系坐标系与原坐标系之间的关系2022/10/30三三轮车轮车与三个坐与三个坐标标系系(空间坐标系)2022/10/30习题答案习题答案p1=(1,2)p1=(1,2)p2=(4,2)p2=(2,2)p3=(4,3)p3=(2,5)p4=(1,3)p4=(1,5)T1=1 0 -10 1 -20 0 1S=1/3 0 00 3 00 0 1T2=1 0 10 1 20 0 1M=T2 S T1 综合矩阵综合矩阵=1 0 -10 1 -20 0 1 1/3 0 0 0 3 0 0 0 11 0 10 1 20 0 11/3 0 2/30 3 -40 0 1=T2 S T1 121121121=M=T2 S T1 221421421=M=T2 S T1 251431431=M=T2 S T1 151131131=M2022/10/302022/10/302022/10/30