矢量旋转变换_第1页
矢量旋转变换_第2页
矢量旋转变换_第3页
矢量旋转变换_第4页
矢量旋转变换_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

矢量旋转变换第一页,共十五页,编辑于2023年,星期三基础的2-D绕原点旋转在2-D的迪卡尔坐标系中,一个位置向量的旋转公式可以由三角函数的几何意义推出。比如上图所示是位置向量R逆时针旋转角度B前后的情况。在左图中,我们有关系:x0=|R|*cosAy0=|R|*sinA第二页,共十五页,编辑于2023年,星期三=>cosA=x0/|R|sinA=y0/|R|下图中,x1=|R|*cos(A+B)y1=|R|*sin(A+B)其中(x1,y1)就是(x0,y0)旋转角B后得到的点,也就是位置向量R最后指向的点。

第三页,共十五页,编辑于2023年,星期三x1=|R|*cos(A+B)y1=|R|*sin(A+B)我们展开cos(A+B)和sin(A+B),得到x1=|R|*(cosAcosB-sinAsinB)y1=|R|*(sinAcosB+cosAsinB)现在把cosA=x0/|R|sinA=y0/|R|代入上面的式子,得到x1=|R|*(x0*cosB/|R|-y0*sinB/|R|)y1=|R|*(y0*cosB/|R|+x0*sinB/|R|)=>x1=x0*cosB-y0*sinBy1=x0*sinB+y0*cosB现在我要把这个旋转公式写成矩阵的形式即:2-D旋转变换矩阵:第四页,共十五页,编辑于2023年,星期三平面旋转矩阵第五页,共十五页,编辑于2023年,星期三第六页,共十五页,编辑于2023年,星期三平移部分平移不是线性的,不能表示为与2×2矩阵相乘的形式。例如要从点(2,1)开始,将其旋转90度,在x方向将其平移3个单位,在y方向将其平移4个单位。可通过先使用矩阵乘法再使用矩阵加法来完成此操作。第七页,共十五页,编辑于2023年,星期三∴θiP1B1θ10xyPiBi第八页,共十五页,编辑于2023年,星期三补充部分第九页,共十五页,编辑于2023年,星期三平移部分平移不是线性的,不能表示为与2×2矩阵相乘的形式。例如要从点(2,1)开始,将其旋转90度,在x方向将其平移3个单位,在y方向将其平移4个单位。可通过先使用矩阵乘法再使用矩阵加法来完成此操作。第十页,共十五页,编辑于2023年,星期三后面跟一平移(与1×2矩阵相加)的线性变换(与2×2矩阵相乘)称为仿射变换。放射变换(先乘后加)可以通过乘以一个3*3的矩阵来实现,若要使其起作用,平面上的点必须存储于具有虚拟第三坐标的1×3矩阵中。通常的方法是使所有的第三坐标等于1。例如,矩阵[211]代表点(2,1)。例如与单个3×3矩阵相乘的仿射变换(旋转90度;在x方向上平移3个单位,在y方向上平移4个单位):第十一页,共十五页,编辑于2023年,星期三在前面的示例中,点(2,1)映射到了点(2,6)。其中3×3矩阵的第三列包含数字0,0,1。对于仿射变换的3×3矩阵都是这样的。重要的数字是列1和列2中的6个数字。矩阵左上角的2×2部分表示变换的线性部分,第3行中的前两项表示平移。第十二页,共十五页,编辑于2023年,星期三在使用3*3的矩阵做仿射变换时候,表示点的矩阵变成了一个1*3矩阵,这个矩阵中的最后一个值必须设置成1。对于3*3矩阵,其最后一列的值是多少是没有关系的,因为他们不会影响结果中的前两列。不过如上,经常将他们设置为0,0,1。这一列对于坐标转换的结果并没有任何影响,但是他们是必须的,因为矩阵相乘必须满足“相乘的两个矩阵第一个矩阵的列数必须与第二个矩阵的行数相同”。第十三页,共十五页,编辑于2023年,星期三平面或空间里的每个线性变换(这里就是旋转变换)都对应一个矩阵,叫做变换矩阵。对一个点实施线性变换就是通过乘上该线性变换的矩阵完成的。把顶点和矩阵相乘,就会发现矩阵的某些项,扮演着为顶点变换(平移、旋转、缩放)提供参数的作用。(前人总结出来,填哪些那些项能得到平移矩阵/缩放矩阵/旋转矩阵)

比如平移矩阵,你自己拿一个顶点和它相乘,算一遍,就会发现它化简到最后一步时的算式,和顶点平移算式是一样的。旋转、缩放也是如此。第十四页,共十五页,编辑于2023年,星期三那么为什么还要和矩阵相乘?直接用平移算式、旋转算式、缩放算式不就行了?

不行因为靠矩阵来计算可以减少计算量。

一个顶点要进行多次变换,比如平移后旋转再平移之后再缩放,用简单算式得算4遍,矩阵只要算一遍。

原理就是公式:(顶点×矩阵A)×矩阵B=顶点×(矩阵A×矩阵B),即矩阵接合律的推广。(矩阵一般不遵守分配律,所以顶点变换有先后顺序,一个顶点平移再旋转,和旋转再平移,得到的位置不同)即:很容易地进行组合变换以及逆变换。机器人中可能很多关节都进行同一

温馨提示

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

评论

0/150

提交评论