矢量旋转变换精品文稿.ppt

上传人:石*** 文档编号:52877386 上传时间:2022-10-24 格式:PPT 页数:15 大小:1.27MB
返回 下载 相关 举报
矢量旋转变换精品文稿.ppt_第1页
第1页 / 共15页
矢量旋转变换精品文稿.ppt_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《矢量旋转变换精品文稿.ppt》由会员分享,可在线阅读,更多相关《矢量旋转变换精品文稿.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、矢量旋转变换第1页,本讲稿共15页基础的基础的2-D2-D绕原点旋转绕原点旋转在在2-D2-D的迪卡尔坐标系中,一个位置向量的旋转公式可以由三的迪卡尔坐标系中,一个位置向量的旋转公式可以由三角函数的几何意义推出。比如上图所示是位置向量角函数的几何意义推出。比如上图所示是位置向量R R逆时针逆时针旋转角度旋转角度B B前后的情况。在左图中,我们有关系:前后的情况。在左图中,我们有关系:vx x0 0=|R|*cosA=|R|*cosAvy y0 0=|R|*sinA=|R|*sinA第2页,本讲稿共15页v=cosA=xcosA=x0 0/|R|sinA=y/|R|sinA=y0 0/|R|/|

2、R|v下图中,下图中,x x1 1=|R|*cos=|R|*cos(A+BA+B)y y1 1=|R|*sin=|R|*sin(A+BA+B)v其中(其中(x x1 1,y y1 1)就是()就是(x x0 0,y y0 0)旋转角)旋转角B B后得到的点,也后得到的点,也就是位置向量就是位置向量R R最后指向的点。最后指向的点。第3页,本讲稿共15页vx x1 1=|R|*cos=|R|*cos(A+BA+B)y y1 1=|R|*sin=|R|*sin(A+BA+B)v我们展开我们展开coscos(A+BA+B)和)和sinsin(A+BA+B),得到),得到vx x1 1=|R|*=|R

3、|*(cosAcosB-sinAsinBcosAcosB-sinAsinB)vy y1 1=|R|*=|R|*(sinAcosB+cosAsinBsinAcosB+cosAsinB)v现在把现在把 cosA=x cosA=x0 0/|R|sinA=y/|R|sinA=y0 0/|R|/|R|v代入上面的式子,得到代入上面的式子,得到vx x1 1=|R|*=|R|*(x x0 0*cosB/|R|-y*cosB/|R|-y0 0*sinB/|R|*sinB/|R|)vy y1 1=|R|*=|R|*(y y0 0*cosB/|R|+x*cosB/|R|+x0 0*sinB/|R|*sinB/|

4、R|)v=x=x1 1=x=x0 0*cosB-y*cosB-y0 0*sinB*sinBv y y1 1=x=x0 0*sinB+y*sinB+y0 0*cosB*cosBv现在我要把这个旋转公式写成矩阵的形式即:现在我要把这个旋转公式写成矩阵的形式即:2-D2-D旋转变换矩阵:旋转变换矩阵:第4页,本讲稿共15页平面旋转矩阵平面旋转矩阵第5页,本讲稿共15页第6页,本讲稿共15页平移部分v平移不是线性的,不能表示为与22矩阵相乘的形式。例如要从点(2,1)开始,将其旋转 90度,在x方向将其平移3个单位,在y方向将其平移4个单位。可通过先使用矩阵乘法再使用矩阵加法来完成此操作。第7页,本讲

5、稿共15页iP1B110 xyPiBi第8页,本讲稿共15页v补充部分第9页,本讲稿共15页平移部分v平移不是线性的,不能表示为与22矩阵相乘的形式。例如要从点(2,1)开始,将其旋转 90度,在x方向将其平移3个单位,在y方向将其平移4个单位。可通过先使用矩阵乘法再使用矩阵加法来完成此操作。第10页,本讲稿共15页v后面跟一平移(与 12 矩阵相加)的线性变换(与 22 矩阵相乘)称为仿射变换。放射变换(先乘后加)可以通过乘以一个3*3的矩阵来实现,若要使其起作用,平面上的点必须存储于具有虚拟第三坐标的 13 矩阵中。通常的方法是使所有的第三坐标等于 1。例如,矩阵 2 1 1 代表点(2,

6、1)。例如与单个 33 矩阵相乘的仿射变换(旋转 90 度;在 x 方向上平移 3 个单位,在 y 方向上平移 4 个单位):第11页,本讲稿共15页v在前面的示例中,点(2,1)映射到了点(2,6)。其中33 矩阵的第三列包含数字0,0,1。对于仿射变换的33 矩阵都是这样的。重要的数字是列 1 和列 2 中的 6 个数字。矩阵左上角的 22 部分表示变换的线性部分,第 3 行中的前两项表示平移。第12页,本讲稿共15页v在使用3*3的矩阵做仿射变换时候,表示点的矩阵变成了一个1*3矩阵,这个矩阵中的最后一个值必须设置成1。对于3*3矩阵,其最后一列的值是多少是没有关系的,因为他们不会影响结

7、果中的前两列。不过如上,经常将他们设置为0,0,1。这一列对于坐标转换的结果并没有任何影响,但是他们是必须的,因为矩阵相乘必须满足“相乘的两个矩阵第一个矩阵的列数必须与第二个矩阵的行数相同”。第13页,本讲稿共15页v平面或空间里的每个线性变换(这里就是旋转变换)都对应一个矩阵,叫做变换矩阵。对一个点实施线性变换就是通过乘上该线性变换的矩阵完成的。v把顶点和矩阵相乘,就会发现矩阵的某些项,扮演着为顶点变换(平移、旋转、缩放)提供参数的作用。(前人总结出来,填哪些那些项能得到平移矩阵/缩放矩阵/旋转矩阵)比如平移矩阵,你自己拿一个顶点和它相乘,算一遍,就会发现它化简到最后一步时的算式,和顶点平移

8、算式是一样的。旋转、缩放也是如此。第14页,本讲稿共15页v那么为什么还要和矩阵相乘?直接用平移算式、旋转算式、缩放算式不就行了?v不行 因为靠矩阵来计算可以减少计算量。v一个顶点要进行多次变换,比如平移后旋转再平移之后再缩放,用简单算式得算4遍,矩阵只要算一遍。v原理就是公式:(顶点矩阵A)矩阵B=顶点(矩阵A矩阵B),即矩阵接合律的推广。(矩阵一般不遵守分配律,所以顶点变换有先后顺序,一个顶点平移再旋转,和旋转再平移,得到的位置不同)即:很容易地进行组合变换以及逆变换。v机器人中可能很多关节都进行同一套变换。用简单算式,n个变换对m个顶点,就得算nm遍。把n个变换做成矩阵,用矩阵乘法接合到一起,那最后m个顶点,每个只要同矩阵做一次乘运算,就可以得到变换后的位置。计算量大大降低第15页,本讲稿共15页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁