三维旋转

  • 引言
  • 三维旋转
    • 1)欧拉角
    • 2)轴角式
  • 旋转分解
    • 1)V||的旋转
    • 2)V的旋转
    • 3)V的整体旋转

引言

前面我们了解了 复数在二维旋转中的作用与联系
而四元数与三维旋转之间的关系与复数对二维旋转有很多类似的地方,下面我们就先来详细了解一下三维旋转的过程。

三维旋转

首先讨论一下三维旋转,我们了解到常用的三维旋转有两种方式:

1)欧拉角

即按照一定的顺序,分别对X, Y, Z三个轴进行旋转 θ 角。绕各旋转轴的旋转矩阵为:

然后任意的三维旋转可以分解成上述三种旋转方式的组合。(注意:三个旋转的顺序是非常重要的,因为3D旋转矩阵的相乘一般是不可交换的,即
),而一般情况下,我们只会选择其中的一个固定的旋转顺序来进行处理,但是这种方式就会导致万向锁的问题。

2)轴角式

即按照一个固定方向为旋转轴,绕着此轴旋转 θ 角,如下图中所示,向量V绕着旋转轴u旋转了 θ 度变换到V’

在轴角式变换方法中,一个旋转的定义需要四个变量,旋转轴的u的(x,y,z)方向,以及一个旋转角θ,也就是说有四个自由度。但是三维旋转本质上只有三个自由度,如欧拉角的方式。(多出来的自由度是因为我们在定义旋转轴u时,不仅定义了他的方向,还定义了他的长度,例如测绘/地理中我们使用经纬度两个量就可以找到地球上的任一方位,而再定义海拔则能够找到其具体的空间位置)为了减少长度这个自由度,可以转化一个单位向量:

旋转分解

对于要旋转的向量V,我们可以分解为平行于旋转轴u和垂直于旋转轴u的两个分量,如下所示:

写成下式所示:

而我们分别旋转上述两个分解向量,再进行组合,则得到旋转后的向量V’

可以从上述的示意图中看出,V‘||其实是V在u上的投影,根据正交投影公式:

而且已知:
所以:

下面分别对V||与V两个分量进行处理。

1)V||的旋转

首先,由于V||本身就是和旋转轴u是平行的,所以这种情况很简单,即旋转前后的变量没有发生改变,仍然与之前的旋转轴u重合。

2)V的旋转

正交于旋转轴u的分量V旋转示意图如下所示:

现在,我们就把三维上的旋转转换到了二维平面上,此外,我们再定义一个向量w同时正交于向量u和V,这个w可以通过向量叉乘获得。

因为旋转轴u的模长为1,||u|| = 1,所以w的模长为:

这就表明w与V的模长是相同的,位于同一个圆上。利用一些三角公式,我们可以把上图右侧中的V’投影到v和w两个方向上:

3)V的整体旋转

将上述1)V2)V||的两个分量组合在一起就可以获得V的旋转V’。

因为叉乘符合乘法分配律:

将V|| = (uv)u与V = v - (uv)u代入得:

这样,我们就得到了一般形式的旋转公式:

三维旋转详细解读(Rodrigues‘ Roatation Formula 罗德里格旋转公式)相关推荐

  1. Rodrigues’ Rotation Formula罗德里格旋转公式详解(坐标轴旋转)

    在计算机图形学中,会遇见旋转轴标定之类的问题,因此会涉及到三维空间中的旋转,也就是数学上的罗德里格旋转公式(Rodrigues' Rotation Formula). 首先直接先把公式整上: 接下来进 ...

  2. 【MATLAB】三维旋转的实现

    1 三维旋转的表达方式 三维空间中常用的表示旋转的方式有: **[1]旋转矩阵(rotation matrix) [2]旋转向量(rotation vector)/角轴(轴角)(axis angle) ...

  3. 罗德里格旋转公式 (Rodrigues’ Rotation Formula)

    关于三维空间中的旋转,我们以前提到过基于欧拉角的旋转表达矩阵,它们分别描述了围绕 x 轴.y 轴.z 轴旋转后坐标应当如何变化.事实上,我们可以更进一步,推导出一个通用的.围绕过原点的任意轴旋转的公式 ...

  4. 旋转向量与欧拉角 罗德里格斯公式(Rodrigues's Formula)

    旋转向量 旋转矩阵表达方式 旋转矩阵描述旋转,变换矩阵描述一个6自由度的三维刚体运动.但存在如下缺点: SO(3)的旋转矩阵有9个量,但一次旋转只有3个自由度.因此这种表达方式是冗余的.同理,变换矩阵 ...

  5. 【有限位移旋量理论】罗德里格旋转公式(Rodrigues Rotation Formula)

    [有限位移旋量理论]罗德里格旋转公式(Rodrigues Rotation Formula) 有限位移旋量理论也称位移旋量,是李群se(3)的元素,有限位移可以描述绕轴的旋转和平移,有限位移的研究可以 ...

  6. 三维旋转(根据转轴和角度)的公式。罗德里格旋转公式

    (这是从维基百科拿来的公式) 在三维旋转理论体系中,罗德里格旋转公式(根据欧林·罗德里格命名)是在给定转轴和旋转角度后,旋转一个向量的有效算法.如果v是在中的向量,k是转轴的单位向量,θ是旋转角度(根 ...

  7. 【倾斜摄影】——三维建模软件ContextCapture 空三质量报告详细解读

    [倾斜摄影]--三维建模软件ContextCapture 空三质量报告详细解读 文章目录 前言 第一部分:项目概述 第二部分:相机校准 第三部分 像片位置 第四部分 照片匹配 第五部分 调查 总结 前 ...

  8. 2d的公式_旋转之二 - 三维空间中的旋转:罗德里格旋转公式

    接上篇: 复数与2D旋转 先来推导三维空间中的常用旋转公式. 三维空间中的旋转 如果 绕着空间中的一个单位向量 旋转,旋转我们采用右手坐标系: 可以把 分解成平行于 的向量 和 : 绕 旋转并不会造成 ...

  9. VINS-mono详细解读与实现

    VINS-mono详细解读 VINS-mono详细解读 前言 Vins-mono是香港科技大学开源的一个VIO算法,https://github.com/HKUST-Aerial-Robotics/V ...

  10. 罗德里格斯旋转公式(Rodrigues‘ rotation formula)推导

    原博文链接:https://www.cnblogs.com/wtyuan/p/12324495.html 本文综合了几个相关的维基百科,加了点自己的理解,从比较基础的向量投影和叉积讲起,推导出罗德里格 ...

最新文章

  1. AndroidApplication Fundamentals(Android应用基础)
  2. java system.out.read_求教Java高手,关于输入流的read的问题,为什么while循环体里面的两个System.out.println没有打印出来?...
  3. Python开发规范
  4. abb机器人离线编程软件叫做_滨州abb机器人离线编程软件
  5. android禁止屏幕自动旋转_Android 禁止屏幕旋转 屏幕旋转不刷新 Activity 动态更改屏幕方向...
  6. 服务器系统试用,苹果“雪豹”服务器操作系统试用安装篇
  7. Android前景与背景
  8. html5自动播放视频
  9. Python相关文章索引(13)
  10. java课程设计打字训练测试软件_Java版打字练习案例源码
  11. 天天都在和游戏打交道,你知道到底什么是游戏UI吗?优漫动游
  12. unity3d四元数和旋转矩阵
  13. 单身女生看过来:你为什么没有男朋友的20个原因
  14. IDEA 出现问题:PSI and index do not match 解决方案
  15. HDUOJ 2955 Robberies
  16. 人工智能处理的几大基础任务、元宇宙和人工智能
  17. 计算机在线给手机杀毒,怎么用电脑给手机杀毒(如果手机中病毒了怎么办)
  18. 中国计算机软件工程大学专业,全国开设软件工程专业院校有哪些 都有什么大学名单...
  19. PhpStudy PHP8 网站打不开502 bad gateway(静态网页能打开,php打不开)
  20. 对接腾讯企业邮箱(授权免登,获取未读邮件数量)

热门文章

  1. 图像坐标球面投影_晶体的球面坐标与球面投影
  2. ps切图教程 android,PS怎么切图 PS最新版本切图教程
  3. 计算机组成原理中CPI、MIPS、CPU执行时间、主频等计算
  4. Php货币计算怎么样才严谨,php怎样【货币问答】- php怎样所有答案 - 联合货币
  5. C语言计算阶乘及阶乘的和
  6. EI会议论文发表流程剖析(史上最详细!经典!)
  7. EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字...
  8. opencv打开图片显示全灰色
  9. 一些常见的Common类
  10. mandriva2009硬盘安装