三维旋转矩阵的计算_第1页
三维旋转矩阵的计算_第2页
三维旋转矩阵的计算_第3页
三维旋转矩阵的计算_第4页
三维旋转矩阵的计算_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、三维旋转矩阵的计算旋转矩阵(Rotation matrix )是在乘以一个向量的时候有改变向量的方向但不 改变大小的效果的矩阵。旋转矩阵不包括反演,它可以把右手坐标系改变成左 手坐标系或反之。所有旋转加上反演形成了正交矩阵的集合。在三维空间中,旋转变换是最基本的变换类型之一,有多种描述方式,如 Euler 角、旋转矩阵、旋转轴/旋转角度、四元数等。本文将介绍各种描述方式以及它 们之间的转换。1 .旋转矩阵用一个3阶正交矩阵来表示旋转变换,是一种最常用的表示方法。容易证明, 3 阶正交阵的自由度为3。注意,它的行列式必须等于1,当等于-1的时候相当 于还做了一个镜像变换。2 . Euler 角根

2、据Euler定理,在三维空间中,任意一种旋转变换都可以归结为若干个沿着 坐标轴旋转的组合,组合的个数不超过三个并且两个相邻的旋转必须沿着不同 的坐标轴。因此,可以用三个沿着坐标轴旋转的角度来表示一个变换,称为 Euler角。旋转变换是不可交换的,根据旋转顺序的不同,有 12种表示方式, 分别为:XYZ、XZY、XYX、XZX、YXZ、YZX、YXY、YZY、ZXY、ZYX、ZXZ、 ZYZ,可以自由选择其中的一种。对于同一个变换,旋转顺序不同,Euler角也不同,在指定Euler角时应当首先约定旋转顺序。2.1 Euler角转化为旋转矩阵不妨设先绕Z轴旋转T,再绕Y轴旋转制最后绕X轴旋转%即旋

3、转顺序为 XYZ,旋转矩阵cy = cos(z),3=sin(诙示逆时针旋转。3.1 旋转轴/旋转角度 转化为旋转矩阵设v是任意一个向量,定义Vn = (ny)n = nnv v = v = (Z nn )v% = nxv =m j,= /7Xi,=川、,=-v,人 A.A. A.A J 4 AV| =v-v_L =(/+w2)v如下图所示这样,我们建立了一个直角坐标系。;3xM设u为v绕轴旋转后得到的向量,则有u = cosGv, + sinOv = (sm3n -cos/川-)匕 4=i u = ij +| = (/ + sin? +( l-cos)w2)v = R(n,0R(n. = I

4、 + sin+(1 cos 0)nR即为旋转矩阵。进一步可表示为co = On =(力叼牝)、Rco) = R(nO 4 .单位四元数(Unit quaternions)四元数由Hamilton于1843年提出,实际上是在四维向量集合上定义了通常的 向量加法和新的乘法运算,从而形成了一个环。% = % + 加 + % + /i, % = ix2 + jy2 +kz、+g4l +夕2 =/(内 +2)+J(必 +%) +后(4 +Z2)+(i +处: %夕2 = (iXl +/M + 后i +。)(a2 +J2 +kZ2 +C02) 2-27 2* * 11 *-77 i = j = k =ij

5、k = -1, i = jk = kjJ =ki = ik, k = y =-jiq |= Jx2+/+z2+2q称为单位四元数,如果|q|二1 。一个单位四元数可以表示三维旋转。用单位 四元数表示旋转可以保持一个光滑移动的相机的轨迹,适合动画生成。4.1 旋转轴/旋转角度 转化为单位四元数根据旋转轴n和旋转角度9,得到单位四元数qv = (WZ) = sin,wg4.2 单位四元数 转化为旋转轴/旋转角度.90q = (v, co) = (sin w?cos 22,6 = 2tan-1() (o4.3 单位四元数转化为旋转矩阵T?(z7, 0) = I + sin Bn +(1-cos)/7

6、2 = I + 2a)v +2v2-z0XyXL22-x - zyz22yz -x - yR(q) =1-2(/+z2)2(xy +za)2(xz -yeo)2(xy-za)2(xz+ya)1 - 2(x2 +z2) 2(yz xco)2(yz +xg)l-2(x2 +y2)4.4四元数的性质定义四元数的逆、乘法和除法,如下所示/ =(匕,?),% =(%。2)qf =(匕,一: =(一匕, 1q =1 102 = I.匕 x v2 + 中产2 + 由?匕,o)xa2 - %.匕)q = qj q、= q1q? = (% x 匕 + 8 一 ,一 -%R(q) = &(% )&(%), RW) = &(%)及(1)根据该性质,我们可以对两个旋转变换 q1和q2作线性插值,这相当于在四维 空间中的超球面上对点q1和q2作球面线性插值。q(D =sin(l - t)B +sin。sin tOsin。Q = cos-1( 必=cosT(

温馨提示

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

评论

0/150

提交评论