您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 三维旋转矩阵(大学)
第7章三维变换7.1简介7.2三维几何变换7.3三维坐标变换7.1简介三维平移变换、比例变换可看成是二维情况的直接推广。但旋转变换则不然,因为我们可选取空间任意方向作旋转轴,因此三维变换处理起来更为复杂。与二维变换相似,我们也采用齐次坐标技术来描述空间的各点坐标及其变换,这时,描述空间三维变换的变换矩阵是4×4的形式。由此,一系列变换可以用单个矩阵来表示。7.2三维几何变换7.2.1基本三维几何变换1.平移变换若空间平移量为(tx,ty,tz),则平移变换为zyxtzztyytxxP(x,y,z)P’(x’,y’,z’)xyz101000010000111zyxtttzyxzyx补充说明:点的平移、物体的平移、多面体的平移、逆变换2.比例变换100000000000011zyxssszyxzyx(1)相对坐标原点的比例变换一个点P=(x,y,z)相对于坐标原点的比例变换的矩阵可表示为xyzzyxzszysyxsx,,其中zyxsss,,为正值。(2)相对于所选定的固定点的比例变换zxy(xf,yf,zf)zxy(xf,yf,zf)zxy(xf,yf,zf)zxy(xf,yf,zf)(1)(2)(3)1111000000000,,,,,,fzfyfxzyxfffzyxfffzsysxsssszyxTsssSzyxT3.绕坐标轴的旋转变换三维空间中的旋转变换比二维空间中的旋转变换复杂。除了需要指定旋转角外,还需指定旋转轴。若以坐标系的三个坐标轴x,y,z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。此时用二维旋转公式就可以直接推出三维旋转变换矩阵。规定在右手坐标系中,物体旋转的正方向是右手螺旋方向,即从该轴正半轴向原点看是逆时针方向。(1)绕z轴旋转xxxyyyzzzzzyxyyxxcossinsincosxzyx(2)绕x轴旋转xxzyzzyycossinsincos(3)绕y轴旋转yyxzxxzzcossinsincos1000010000cossin00sincos11zyxzyx10000cossin00sincos0000111zyxzyx10000cos0sin00100sin0cos11zyxzyx绕z轴旋转绕x轴旋转绕y轴旋转旋转,则该轴坐标的一列元素不变。按照二维图形变换的情况,将其旋转矩阵cossinsincos中的元素添入相应的位置中,即对于单位矩阵1000010000100001xyzxyz旋转变换矩阵规律:,绕哪个坐标轴(1)绕z轴正向旋转角,旋转后点的z坐标值不变,x、y坐标的变化相当于在xoy平面内作正角旋转。1000010000cossin00sincos11zyxzyx1000010000100001xyzxyz(2)绕x轴正向旋转角,旋转后点的x坐标值不变,Y、z坐标的变化相当于在yoz平面内作正角旋转。10000cossin00sincos0000111zyxzyx10000cos0sin00100sin0cos11xyzxyz即10000cos0sin00100sin0cos11zyxzyx这就是说,绕y轴的旋转变换的矩阵与绕x轴和z轴变换的矩阵从表面上看在符号上有所不同。(3)绕y轴正向旋转角,y坐标值不变,z、x的坐标相当于在zox平面内作正角旋转,于是7.2.2组合变换1.物体绕平行于某一坐标轴的旋转变换。基本步骤:(1)平移物体使旋转轴与所平行的坐标轴重合;(2)沿着该坐标轴进行指定角度的旋转;(3)平移物体使旋转轴移回到原位置。xyzxyz(a)(b)yxz(c)xz(d)1TRTRx2.绕任意轴旋转的变换(1)平移物体使旋转轴通过坐标原点;xyzP1••P2xyzP’1••P’2(1)(2)旋转物体使旋转轴与某个坐标轴(如z轴)重合;(3)关于该坐标轴进行指定角度的旋转;xyzP’1••P2’’(2)yxzP’1••P2’’(3)(4)应用逆旋转变换将旋转轴回到原方向;(5)应用逆平移变换将旋转轴变换到原位置。xyzP’1••P’2(4)xyzP1••P2(5)例.求变换AV,使过原点的向量V=(a,b,c)与z轴的正向一致。xyzVxyz实现步骤:(1)将V绕x轴旋转到xz平面上;(2)再绕y轴旋转使之与z轴正向重合。旋转角度的确定:绕x轴旋转的角度等于向量V在yz平面上的投影向量与z轴正向的夹角。xyzV=(a,b,c)V1=(0,b,c)V’V’根据矢量的点乘与叉乘,可以算出:2222cos,sincbccbb因此,10000000000122222222cbccbbcbbcbcRx22,0,cbaVRVx类似地,可以求出:22222222cos,sincbacbcbaa1000000010002222222222222222cbacbcbaacbaacbacbRyyxVRRA利用这一结果,则绕任意轴旋转的变换矩阵可表示为:111TRRRRRTRxyzyxxyzP1••P2xyzP’1••P’21)TxyzP’1••P2’’2)xzP’1••P2’’3)yxRRzR给定具有单位长的旋转轴A=[ax,ay,az]和旋转角,则物体绕OA轴旋转变换的矩阵表示可确定如下:xxxxxxxxxxxyzxyxxxaaaaaaaaaaaaaaaaaaAˆTxyxzyzzzyzxzzyyyxyzxyxxxMPPAAIAMaaaaaaAaaaaaaaaaaaaaaaaaaA'sinˆcosˆ000ˆ*A轴角旋转7.2.3绕任意轴旋转变换的简单算法xyzo其中TM表示M的转置矩阵。利用这一结果,则绕任意轴旋转的变换矩阵可表示为:传统的方法通过绕坐标轴旋转变换的乘积表示绕任意轴旋转的变换。与之相比,这种方法更直观。xyzP1••P2xyzP’1••P’21TMTRT其中旋转轴A=[ax,ay,az]为1212PPPPA7.2.4三维变换矩阵的功能分块stttpaaapaaapaaazyxzyx332313322212312111(1)三维线性变换部分(2)三维平移变换部分(3)透视变换部分(4)整体比例因子7.3三维坐标变换几何变换:在一个参考坐标系下将物体从一个位置移动到另一个位置的变换。坐标变换:一个物体在不同坐标系之间的坐标变换。如从世界坐标系到观察坐标系的变换;观察坐标到设备坐标之间的变换。再如,对物体造型时,我们通常在局部坐标系中构造物体,然后重新定位到用户坐标系。坐标变换的构造方法:与二维的情况相同,为将物体的坐标描述从一个系统转换为另一个系统,我们需要构造一个变换矩阵,它能使两个坐标系统重叠。具体过程分为两步:(1)平移坐标系统oxyz,使它的坐标原点与新坐标系统的原点重合;(2)进行一些旋转变换,使两坐标系的坐标轴重叠。有多种计算坐标变换的方法,下面我们介绍一种简单的方法。xyz(0,0,0)000,,zyxxuyuzux’z’y’设新坐标系o’x’y’z’原点的坐标为(x0,y0,z0),相对原坐标系其单位坐标矢量为:321,,xxxxuuuu321,,yyyyuuuu321,,zzzzuuuu将原坐标系xyz下的坐标转换成新坐标系x’y’z’的坐标可由以下两步完成:首先,平移坐标系xyz,使其原点与新坐标系x’y’z’的原点(x0,y0,z0)重合;xyz(0,0,0)000,,zyxxuyuzux’z’y’xyz(0,0,0)1010000100001000zyxT平移矩阵为:(x,y,z)第二步,利用单位坐标向量构造坐标旋转矩阵1000000333222111zyxzyxzyxuuuuuuuuuR该矩阵R将单位向量xuyuzu分别变换到x,y和z轴。综合以上两步,从oxyz到o’x’y’z’的坐标变换的矩阵为RzyxT000,,RzyxTzyxzyx000,,1,,,1,,,说明:变换矩阵TR将一个直角坐标系变换为另一个坐标系。即使一个坐标系是右手坐标系,另一个为左手坐标系,结论依然成立。,也即坐标变换公式为:习题77-1对于点P(x,y,z),(1)写出它绕x轴旋转角,然后再绕y轴旋转角的变换矩阵。(2)写出它绕y轴旋转角,然后再绕x轴旋转角的变换矩阵。所得到的变换矩阵的结果一样吗?7-2写出绕空间任意轴旋转的变换矩阵。
本文标题:三维旋转矩阵(大学)
链接地址:https://www.777doc.com/doc-1906130 .html