资源描述
第 7章 三 维 变 换 7.1 简介 7.2 三维几何变换 7.3 三维坐标变换 7.1 简介三维平移变换、比例变换可看成是二维情况的直接推广。但旋转变换则不然,因为我们可选取空间任意方向作旋转轴,因此三维变换处理起来更为复杂。与二维变换相似,我们也采用齐次坐标技术来描述空间的各点坐标及其变换,这时,描述空间三维变换的变换矩阵是44的形式。由此,一系列变换可以用单个矩阵来表示。 7.2 三维几何变换7.2.1 基本三维几何变换 1. 平移变换 若空间平移量为(tx, ty, tz),则平移变换为 zyxtzz tyy txx P(x,y,z) P(x,y,z)x yz 10100 0010 00011 1 zyx tttzyxzyx补充说明:点的平移、物体的平移、多面体的平移、逆变换 2. 比例变换 1000 000 000 0001 1 zyx ssszyxzyx (1) 相对坐标原点的比例变换一个点P=(x,y,z)相对于坐标原点的比例变换的矩阵可表示为xy z zyx zszysyxsx ,其中zyx sss ,为正值。 (2) 相对于所选定的固定点的比例变换z xy (xf,yf,zf)z xy (xf,yf,zf)z xy (xf,yf,zf) z xy (xf,yf,zf)(1)(2) (3) 1111 000 000 000, fzfyfx zyxfffzyxfff zsysxs ssszyxTsssSzyxT 3. 绕坐标轴的旋转变换 三维空间中的旋转变换比二维空间中的旋转变换复杂。除了需要指定旋转角外,还需指定旋转轴。 若以坐标系的三个坐标轴x,y,z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。此时用二维旋转公式就可以直接推出三维旋转变换矩阵。 规定在右手坐标系中,物体旋转的正方向是右手螺旋方向,即从该轴正半轴向原点看是逆时针方向。 (1)绕 z 轴旋转xxx y y yz zzzz yxy yxx cossin sincos xzyx (2)绕 x 轴旋转xx zyz zyy cossin sincos(3)绕 y 轴旋转 yy xzx xzz cossin sincos 1000 0100 00cossin 00sincos1 1 zyxzyx 1000 0cossin0 0sincos0 00011 1 zyxzyx 1000 0cos0sin 0010 0sin0cos1 1 zyxzyx 绕 z 轴旋转绕 x 轴旋转绕 y 轴旋转 旋转,则该轴坐标的一列元素不变。按照二维图形变换的情况,将其旋转矩阵 cossin sincos中的元素添入相应的位置中,即对于单位矩阵 1000 0100 0010 0001x y zxyz旋转变换矩阵规律:,绕哪个坐标轴 (1) 绕z轴正向旋转角,旋转后点的z坐标值不变, x、y坐标的变化相当于在xoy平面内作正角旋转。 1000 0100 00cossin 00sincos1 1 zyxzyx 1000 0100 0010 0001x y zxyz(2)绕x轴正向旋转角,旋转后点的x坐标值不变, Y、z坐标的变化相当于在yoz平面内作正角旋转。 1000 0cossin0 0sincos0 00011 1 zyxzyx 1000 0cos0sin 0010 0sin0cos1 1 xyzxyz即 1000 0cos0sin 0010 0sin0cos1 1 zyxzyx这就是说,绕y轴的旋转变换的矩阵与绕x轴和z轴变换的矩阵从表面上看在符号上有所不同。(3) 绕y轴正向旋转角,y坐标值不变,z、x的坐标相当于在zox平面内作正角旋转,于是 7.2.2 组合变换1.物体绕平行于某一坐标轴的旋转变换。基本步骤: (1) 平移物体使旋转轴与所平行的坐标轴重合; (2) 沿着该坐标轴进行指定角度的旋转; (3) 平移物体使旋转轴移回到原位置。xyz xyz(a) (b) y xz (c) xz (d) 1 TRTR x 2.绕任意轴旋转的变换(1)平移物体使旋转轴通过坐标原点;xyz P1 P2 xyz P1 P2(1)(2)旋转物体使旋转轴与某个坐标轴(如z轴)重合;(3)关于该坐标轴进行指定角度的旋转; xyz P1P2 (2) y xz P1P2 (3) (4) 应用逆旋转变换将旋转轴回到原方向;(5) 应用逆平移变换将旋转轴变换到原位置。xyz P1 P2(4) xyz P1 P2(5) 例. 求变换AV,使过原点的向量V=(a,b,c)与z轴的正向一致。xyz V xyz 实现步骤:(1)将V绕x轴旋转到xz 平面上;(2)再绕y轴旋转使之与z轴正向重合。旋转角度的确定:绕x轴旋转的角度 等于向量V在yz 平面上的投影向量与z 轴正向的夹角。 xyz V=(a,b,c)V1=(0,b,c)V V 根据矢量的点乘与叉乘,可以算出: 2222 cos,sin cb ccb b 因此, 1000 00 00 0001 2222 2222 cb ccb b cb bcb cRx 22,0, cbaVRV x 类似地,可以求出: 222 22222 cos,sin cba cbcba a 1000 00 0010 00 222 22222 222222 22 cba cbcba a cba acba cbRy yxV RRA 利用这一结果,则绕任意轴旋转的变换矩阵可表示为: 111 TRRRRRTR xyzyx xyz P1 P2 x yz P1 P21) Txyz P1P 2 2) xz P1P2 3) yx RR zR 给定具有单位长的旋转轴A=ax,ay,az和旋转角 , 则物体绕OA轴旋转变换的矩阵表示可确定如下: xxxxxx xxxxxy zxyxxx aaaaaa aaaaaa aaaaaaA T xy xz yz zzyzxz zyyyxy zxyxxxMPP AAIAM aa aa aaA aaaaaa aaaaaa aaaaaaA sincos 000 * A 轴角旋转 7.2.3 绕任意轴旋转变换的简单算法xyz o 其中TM表示M的转置矩阵。 利用这一结果,则绕任意轴旋转的变换矩阵可表示为:传统的方法通过绕坐标轴旋转变换的乘积表示绕任意轴旋转的变换。与之相比,这种方法更直观。xyz P1 P2 xyz P1 P2 1 TMTR T其中旋转轴A=ax,ay,az为12 12 PP PP A 7.2.4 三维变换矩阵的功能分块 sttt paaa paaa paaa zyx zyx332313 322212 312111(1)三维线性变换部分(2)三维平移变换部分(3)透视变换部分(4)整体比例因子 7.3 三维坐标变换几何变换:在一个参考坐标系下将物体从一个位置移动到另一个位置的变换。坐标变换: 一个物体在不同坐标系之间的坐标变换。如从世界坐标系到观察坐标系的变换;观察坐标到设备坐标之间的变换。再如,对物体造型时,我们通常在局部坐标系中构造物体,然后重新定位到用户坐标系。 坐标变换的构造方法:与二维的情况相同,为将物体的坐标描述从一个系统转换为另一个系统,我们需要构造一个变换矩阵,它能使两个坐标系统重叠。具体过程分为两步:(1)平移坐标系统oxyz,使它的坐标原点与新坐标系统的原点重合;(2)进行一些旋转变换,使两坐标系的坐标轴重叠。有多种计算坐标变换的方法,下面我们介绍一种简单的方法。 xyz (0,0,0) 000 , zyx xuyuzu xzy设新坐标系oxyz 原点的坐标为(x0,y0,z0),相对原坐标系其单位坐标矢量为: 321 , xxxx uuuu 321 , yyyy uuuu 321 , zzzz uuuu 将原坐标系xyz下的坐标转换成新坐标系xyz的坐标可由以下两步完成:首先, 平移坐标系xyz,使其原点与新坐标系xyz的原点(x0,y0,z0)重合; xyz (0,0,0) 000 , zyx xuyuzu xzy xyz (0,0,0) 10100 0010 0001 000 zyxT平移矩阵为:(x,y,z)第二步,利用单位坐标向量构造坐标旋转矩阵 1000 000333 222 111 zyx zyx zyx uuu uuu uuuR 该矩阵R将单位向量xu yu zu分别变换到x,y和z 轴。综合以上两步,从oxyz到oxyz的坐标变换的矩阵为 RzyxT 000 , RzyxTzyxzyx 000 ,1,1,说明:变换矩阵TR将一个直角坐标系变换为另一个坐标系。即使一个坐标系是右手坐标系,另一个为左手坐标系,结论依然成立。,也即坐标变换公式为: 习题77-1 对于点P(x,y,z) ,(1) 写出它绕x 轴旋转 角,然后再绕y轴旋转 角的变换矩阵。 (2)写出它绕 y 轴旋转 角,然后再绕 x 轴旋转 角的变换矩阵。所得到的变换矩阵的结果一样吗?7-2 写出绕空间任意轴旋转的变换矩阵。
展开阅读全文