六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt

上传人:sccc 文档编号:5336324 上传时间:2023-06-27 格式:PPT 页数:42 大小:1.98MB
返回 下载 相关 举报
六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt_第1页
第1页 / 共42页
六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt_第2页
第2页 / 共42页
六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt_第3页
第3页 / 共42页
六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt_第4页
第4页 / 共42页
六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt》由会员分享,可在线阅读,更多相关《六讲二维及三维空间的变换概念及其矩阵表示ppt课件.ppt(42页珍藏版)》请在三一办公上搜索。

1、2023/6/27,第六讲:二维及三维空间的变换概念及其矩阵表示,2023/6/27,几何变换二维变换齐次坐标系和二维变换的矩阵表示二维变换的复合窗口到视口的变换效率问题三维变换的矩阵表示三维变换的复合坐标系的变换,二维及三维空间的变换概念、矩阵表示、三维视图,二维、三维空间的变换概念及其矩阵表示,习题答案,2023/6/27,几何变换,本讲介绍计算机图形学经常用到的基本的二维和三维几何变换,其中的平移变换、比例变换和旋转变换对很多图形应用程序来说极其重要。许多应用程序或图形子程序软件包需要用到各种变换,例如:一个城市规划程序,利用平移变换将表示建筑物和树木的图符移到合适的位置,利用旋转变换确

2、定图符的朝向,以及利用比例变换确定图符的大小。一般来说,很多应用程序在绘图时都要用到几何变换来改变物体(也称为图符或模板)的位置、方向和大小。本讲还介绍如何应用三维变换(旋转变换、平移变换和比例变换)作为创建三维物体的二维显示过程的一部分。,2023/6/27,P=RP,二维变换,旋转变换矩阵,x=sx xy=sy y,x=x+dx,dx=x-x y=y+dy,dy=y-y P=P+T,平移变换,比例变换矩阵,2023/6/27,旋转矩阵的推导,小结,2023/6/27,齐次坐标系和二维变换的矩阵表示,平移矩阵,齐次坐标表示,P=T+P P=SP P=RP希望能用一种一致的方法来表示这三种变换

3、。将(x,y)附加第三个坐标,于是每个点的坐标都用一个三元组(x,y,W)来表示,称为点(x,y)的齐次坐标。在齐次坐标系中,我们认为两组齐次坐标(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)得到(x/W,y/W,1),它们代表同一点。一般来说,当W不为零时,我们采用W为1的坐标,并将x/W和y/W称为齐次点(x,y,W)的笛卡儿坐标。

4、而W=0的点被称为无穷远点,在这里我们不讨论此类点。,平移变换,2023/6/27,齐次坐标几何意义,三元组一般用来表示三维空间中的点,但是此处是用来表示二维空间的点。这两种表示之间具有以下联系:如果取所有代表同一点的三元组,即所有形式为(tx,ty,W)的三元组(其中t0),便可得到三维空间中的一条直线,因此,每一个齐次点就代表了三维空间中的一条直线。又由于我们可以将一点的坐标齐次化(通过除以W)而得到形式为(x,y,1)的坐标,因此,齐次化的点就形成了(x,y,W)空间中的一个平面,由等式W=1定义。图中示出了这种联系,注意:无穷远点没表示在该平面中。,XYW齐次坐标系,其中示有W=1的平

5、面和投影到该平面上的点P(X,Y,W),平面,2023/6/27,二维变换的矩阵表示,两个连续的旋转变换是可叠加的证明留作习题。,平移变换,旋转变换,比例变换,2023/6/27,特殊正交阵(special orthogonal),左上角有个22的子矩阵,我们可以将其中的每一行看作是一个行向量。这两个行向量有以下几个特点:1)每个都是单位向量。2)每两个向量之间相互垂直(它们的点积为零)。3)如果将每个向量所指的方向旋转R(),那么这些方向量便可位于正x轴、y轴方向上,即:,前两个特点也适用于该22子矩阵的两个列向量,并且列向量所对应的两个方向量就是沿x轴和y轴正方向的向量(i,j,k)经矩阵

6、R变换后而得到的.因此,当已知旋转变换的结果时,这些特点便为如何构造旋转变换矩阵提供了两种有效的方法。具有这些特性的矩阵称为特殊正交阵。,特殊正交阵,2023/6/27,刚体变换仿射变换,单位正方体 旋转45度 在x轴方向拉伸,上图是单位正方体先旋转45度,再进行不均匀的比例变换,结果是单位立方体的仿射变换,只保留线段之间的平行关系,不保持长度和角度不变。,对于形如:的变换矩阵,若其左上角的主子式是正交的,那么该矩阵变换保角保长。也就是说,一个单位的正方形经该矩阵变换后仍然是一个单位的正方形,,特殊正交阵,既不会变成单位边长的菱形,也不会变成非单位边长的正方形。这种变换也被称为刚体变换,因为进

7、行变换的物体不会有任何变形。任意顺序的旋转、平移变换都等同于这种形式的矩阵。一系列任意的旋转、平移和比例变换的结果又是如何呢?这些变换称为仿射变换,它们能够保持直线平行性,但不角和不保长。如上图所示,其中先将一个单位正方体旋转45度,然后进行不均匀的比例变换。很明显,正方体的角度和长度都发生了变化,但那些原来平行的线仍保持平行,再继续进行旋转、比例和平移变换也不会改变线的平行性,R()、S(sx,sy)和T(dx,dy)都是仿射变换。R()、T(dx,dy)也是刚体变换保长保角。,2023/6/27,对单位正方体进行简单的错切变换,每一种变换情况,斜边的长度都超过了1。,错切变换(一种仿射变换

8、),单位正方体 方体在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的函数。,沿y轴的错切矩阵,2023/6/27,二维变换的复合(例一),现在考虑绕任意一点P1旋转物体的问题。1)将P1点平移到原点;2)旋转;3)平移还原P1点。,(x1,y1),(x1,y1),2023/6/27,二维变换的复合(例二),关于任意点P1比例变

9、换一个物体。,2023/6/27,二维变换的复合(小结),假设我们想要使图中的房子以任意点P1为中心进行旋转、平移和缩放(比例)变换。这时具体步骤与上述类似:先将点P1平移到原点,待完成比例变换和旋转变换后再将房子从坐标原点平移到新的位置P2,因此记录变换的数据结构可以是包含比例变换因子、旋转角、平移量和变换顺序的数据结构,或者只是简单地记录复合变换矩阵的数据结构:如果M1和M2分别代表一个基本的平移变换、比例变换或旋转变换,那么在什么情况下有M1M2=M2M1呢?或者说,何时M1和M2可交换呢?当然,一般来说矩阵乘法是不可交换的,但是,在下面的特殊情况下,是可以进行交换的:M1 M2平移变换

10、 平移变换比例变换 比例变换旋转变换 旋转变换 比例变换(sx=sy)旋转变换因此,在这些情况下,我们不用关心矩阵乘法的顺序。,T(x2,y2)R()S(sx,sy)T(-x1,-y1),2023/6/27,习题,2023/6/27,窗口到视口的变换,2023/6/27,窗口到视口的变换步骤,将一个空间坐标系的窗口变换到视口的步骤:,所期望的结果点坐标由P=Mwv x y 1TP 代表了视口内新点坐标,x,y,1代表了窗口内点坐标.视图变换:就是把用户坐标系表示的点在视口坐标系表示出来。,2023/6/27,窗口的剪切和视口的关系,许多图形软件包将窗口到视口的变换和窗口中输出图元的剪切结合起来

11、,上图举例说明了窗口的剪切和视口的关系。,空间坐标系中的输出图元被窗口剪切,保留的部分在视口中显示出来。,2023/6/27,效率问题,要计算一个向量与一个33的矩阵的乘积MP,则必须做九次乘法和六次加法。上面左侧公式的最后一行为固定结构,因此实际操作将变为四次乘法和四次加法:x=xr11+y r12+tx y=xr21+y r22+ty如果有些硬件的矩阵乘法器具有并行加法器和乘法器,那么无需考虑这一效率问题。旋转方程R()需要进行四次乘法和两次加法,当角非常小时(只有几度),cos非常接近于1,根据这一点可减少计算量,因此旋转变换公式可近似地表示成:x=x-ysin,y=xsin+y然而,该

12、式只是x和y的近似值,每计算一次,都会产生误差积累。如果我们反复无限次地使用该公式,会使其结果完全变成误差,使得旋转图象看起来就象随意画的线段集合。另一种更好的近似方法是在上面式子的第二个公式中用x代替x:x=x-ysin,y=xsin+y=(x-y sin)sin+y=x sin+y(1 sin2)这种近似上一个公式要好。,2023/6/27,三维变换的矩阵表示(坐标系),在齐次坐标系中,二维变换可以用33的矩阵表示,假定我们也用齐次坐标来表示三维空间中的点,那么三维变换便可用44的矩阵表示。因此,我们用(x,y,z,W)而不是(x,y,z)来表示三维空间中的一点,其中若一个四元组是另一个四

13、元组的非零倍数,则认为它们代表同一点,并且四元组(0,0,0,0)是不允许的。和二维空间一样,任意点(x,y,z,W)(W0)的标准表示为(x/W,y/W,z/W,1),将坐标转化成这种形式被称为齐次化,而W为零的点则称为无穷远点。同样,齐次化的几何解释也存在:三维空间中的每一个点可以看作是从四维空间的原点出发的一条线,且齐次化的点组成了四维空间中由简单等式W=1确定的三维子空间。本课中的三维坐标系采用右手系,如右下图所示,按照习惯定义,右手系下的正向旋转的规定是:当从一个正向轴向原点望去时,则另一个正向轴逆时针旋转90度后与第三个正向轴重合,如下表所示 旋转轴 正向旋转的方向 x y z y

14、 z x z x y应注意,并不是所有的图形学教科书都沿袭这一约定。在三维图形学中采用屏幕上的左手系会很方便(如右上图所示),因为在左手系下,可以很自然地解释z值越大,点离观察者越远的情况,但这里我们仍然使用右手系,因为它符合标准的数学约定。请注意,当从左手系的正向轴向原点望去时,正向旋转是顺时针的(xy)。正向旋转的定义使本节中的旋转矩阵既可以用于右手坐标系也可以用于左手坐标系。,显示屏上的左手坐标系。,右手坐标系,2023/6/27,三维变换的矩阵表示(公式),平移,比例,01,在xy方向上错切,2023/6/27,三维变换的矩阵表示(平面方程),单个点的变换已经讨论。线段的变换可以通过对

15、两端点进行变换来实现。如果平面是由三点定义的,可用同样的方法处理。如果平面由一个平面方程来定义,也需要对平面方程的各个系数进行变换。为了处理这种情况,平面方程系数的列向量N=A B C D T,点坐标 P=x y z 1 T,则有:N P=0,其中“”表示向量的点积。点积结果得到平面方程 Ax+By+Cz+D=0,即行向量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是单位矩阵的倍数时等式

16、才成立。如果该倍数为1,则有Q T=M-1或Q=(M-1)T。通过M变换后得到的平面的系数列向量为:N=QN=(M-1)TN(5-48)矩阵(M-1)T并不一定存在,因为M的行列式可能为0。例如,当M包含一个投影变换时(我们可能想考查一下在平面上的透视投影的效果),就有可能发生这种情况。此时利用克莱姆(Cramer)法则,采用求M的逆用到的辅助矩阵来代替(M-1)T。如果只想对平面的法线进行变换,并且M只是平移变换、旋转变换和比例变换矩阵的复合,则计算会更加简单。这时等式(5-48)可以简化为A B C 0T(W为0的点代表一个无穷远点,可以视为一个方向)。,2023/6/27,三维变换的复合

17、,本节,我们将结合一个具体的例子来详细讨论如何复合三维变换矩阵。如上图所示,我们要将其中的有向线段P1P2和P1P3从(a)中的初始位置变换到(b)中的最终位置,于是,点P1被移到坐标原点,P1P2与z轴重合,P1P3落在y值为正的(y,z)平面内,但线段的长度在变换中没有发生改变。实现该变换的方法有两种:第一种方法是按部就班地构造一系列变换T,Rx,Ry和Rz,这种方法虽然有些冗长乏味,但很容易理解。第二种方法是运用上节介绍的正交矩阵,此方法十分简要,但是变换过程也更加抽象。,(a)初始位置(b)最终位置 将P1、P2和P3 从初始位置(a)变换到最终位置(b),2023/6/27,利用前述

18、的原始变换,便可将整个复杂的问题分割成几个相对比较简单的小问题。具体来说,整个变换可以分为4个步骤:将P1点平移到坐标原点;绕y轴旋转使得P1P2落在(y,z)平面上;绕x轴旋转使得P1P2与z轴重合;绕z轴旋转使得P1P3落在(y,z)平面上;,原始变换方法(综述),2023/6/27,绕y轴旋转:长度为D1的P1P2 的投影旋转到与z轴重合,角表示围绕y轴正向旋转的方向,旋转的角度是(90)。,第一步:将P1平移到坐标原点,平移变换矩阵,(a)初始位置,2023/6/27,变换图示,第二步,第一步,2023/6/27,第二步:绕y轴 旋 转,绕y轴旋转:长度为D1的P1P2 的投影旋转到与

19、z轴重合,角表示围绕y轴正向旋转的方向,旋转的角度是(90)。,右图示出了线段 P1P2 在第一步完成后的位置,并且可看到它在(x,z)平面上的投影。本步旋转的角度是(90)=90,这时有:,P2 的x坐标是零,z坐标是D1,2023/6/27,第二步:绕y轴 旋 转结果,绕x轴旋转:P1P2旋转正向角后与z轴重合,其中D2是线段的长度,线段P1P3没有在图上画出,因为它不能决定旋转的角度。这两条线段都用Rx()变换来旋转。,2023/6/27,第三步:绕x轴旋转,右图是线段P1P2在第二步完成后的位置.,绕z轴旋转:长度为D3 的P1P3的投影旋转角后与y轴重合,从而使得P1P3落在(y,z

20、)平面上。,而且P1P 2的长度为D2=|P 1P 2|,但由于旋转变换和平移变换保持长度不变,所以P1P2与P1P2的长度是相等的,即有:,第三步旋转变换的结果是:,从该式可以看出,现在P1P2已和Z轴重合。,绕x轴旋转:P1P2旋转正向角后与z轴重合,其中D2是线段的长度,线段P1P3没有在图上画出,因为它不能决定旋转的角度。这两条线段都用Rx()变换来旋转。,2023/6/27,第四步:绕Z轴旋转,右下角的图示出了线段P1P2和P1P3在第三步结束后的位置,其中P2与z轴重合,而P3位于:,本步旋转的角度为正向角,且满足:,其中R=Rz()Rx()Ry(90)。,整个变换过程为:,202

21、3/6/27,第二种方法:利用正交矩阵的性质,利用正交矩阵的性质,R 的每个单位行向量经R旋转变换后便成为各个坐标轴(即x,y,z轴)。,令:Rx、Ry、Rz分别为R的第一、二、三行的行向量。因为 Rz是沿P1 P2的单位向量,并且将旋转到正向z轴,所以有:,另外,单位向量Rx与点P1、P2和P3所确定的平面垂直,并且将旋转到正向x轴,所以,Rx一定是该平面内两个向量的单位叉积:,最后,很容易得到Ry:,性质,2023/6/27,正交矩阵的性质,行向量性质,列向量性质,旋转矩阵,01,-sincos,2023/6/27,将P1、P2和P3 从初始位置(a)变换到最终位置(b)示意图,(b)最终

22、位置,(a)初始位置,2023/6/27,飞机的例子,(xp,yp,zp)坐标系中的一架飞机。,右上图显示的是一架定义在坐标系xp,yp,zp中的飞机,其中飞机的中心位于原点。我们变换的目的是想将这个飞机的头部转到矢量DOF(飞行方向)所指的方向,其中心位于P点而且机身不侧倾,如右下图所示。该变换需要先把飞机的头部转向规定的方向,然后将飞机从原点平移到P点。为了得到旋转矩阵,我们只需先确定xp,yp,zp轴在右下图中的指向,然后取各方向矢量的单位向量,并把它们作为旋转矩阵的列向量即可。由于起初飞机的头部指向zp轴的正向,所以zp轴必须变换到DOF所指的方向,,而且xp轴必须变换成垂直与DOF方

23、向的水平向量即y轴与DOF的叉积:yDOF。xp,zp确定后,yp也就随之确定了,即为zp和xp的叉积:zpxp=DOF(yDOF)。因此,旋转矩阵的三个列向量分别为单位向量|y DOF|、|DOF(yDOF)|和|DOF|:但是当DOF与y轴方向相同时,叉积y DOF和DOF(yDOF)均变成0,在这种特殊情况下,R不再是一个旋转矩阵。,2023/6/27,坐标系的变换,到目前为止,我们只讨论了如何在同一坐标系中将一个物体的一组点变换成另一组点,因此前面的各种变换归根结底都是关于原点所做的变换,坐标系均不变动。下面我们将介绍另一种变换的思路,即通过改变坐标系来实现物体的变换。当将定义在各自不

24、同的坐标系中的多个物体合并在一起,并放在一个通用的坐标系中时,这种方法便显示出它的优越性。左手坐标系和右手坐标系互换:,2023/6/27,点P和坐标系1,2,3,4。,2023/6/27,房子上的点可以用任何一个坐标系的坐标来表示。,坐标系的变换房子表示,2023/6/27,坐标系的变换(房子变迁),原始的房子(a)初始位置及所在的坐标系(b)变换后所在的坐标系与原坐标系之间的关系,2023/6/27,三轮车与三个坐标系,(空间坐标系),2023/6/27,习题答案,p1=(1,2)p1=(1,2)p2=(4,2)p2=(2,2)p3=(4,3)p3=(2,5)p4=(1,3)p4=(1,5),M=T2 S T1 综合矩阵,=,=,2023/6/27,请提问,2023/6/27,感谢支持,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号