首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从初始和最终旋转四元数中求出旋转轴

从初始和最终旋转四元数中求出旋转轴
EN

Stack Overflow用户
提问于 2012-03-30 22:53:42
回答 1查看 1.7K关注 0票数 1

我必须找出相机的轴和旋转角度与向上和方向矢量(它们都是垂直的)。我有最初和最后的位置的上升和方向矢量的相机,是旋转。我想找出相机旋转的轴和角度。我在我的项目中使用C#。我是这个3D旋转的新手。如果你觉得这些问题很傻,请原谅我的问题。

EN

回答 1

Stack Overflow用户

发布于 2012-04-03 19:17:44

从方向(前向)向量f和向上向量u可以通过执行向量交叉积 (s =f)得到侧向量s。这三个矢量现在都是正交的。你也应该通过规范它们中的每一个来使它们成为正交的。综合起来,这些向量构成了一个正交基础。

你现在有两个这样的基础:一个来自你最初的相机方向,另一个来自你最后的相机方向。这两个基都可以表示为旋转矩阵。旋转矩阵就是3x3矩阵,其中3行分别是:

  1. 正向向量
  2. 向上向量
  3. 侧向量

例如,矩阵:

代码语言:javascript
运行
AI代码解释
复制
[[1 0 0]
 [0 1 0]
 [0 0 1]]

可能是你的初始相机在开始的方向,它的前向矢量,向上向量和侧向量指向正x轴,y轴和z轴,分别。

现在您可以使用这个M1将这两个基(M2和Q1)转换为两个单位四元数(Q1和Q2),这个算法处理诸如除以零这样的潜在问题。

在这一点上,你有两个单位四元数代表你的初始和最后的相机方向。现在您必须找到四元数qT,它将Q1转换为Q2,即:

代码语言:javascript
运行
AI代码解释
复制
q2 = qT * q1
q2 * q1^-1 = qT * (q1 * q1^-1) = qT
=> qT = q2 * q1^-1

知道单位四元数的逆等于它的共轭

代码语言:javascript
运行
AI代码解释
复制
q1^-1 = q1*    iif  ||q1|| = 1
qT = q2 * q1^-1 = q2 * q1*

还有一个步骤:从四元数中提取轴和角 qT:

代码语言:javascript
运行
AI代码解释
复制
angle = 2 * acos(qw)
x = qx / sqrt(1-qw*qw)
y = qy / sqrt(1-qw*qw)
z = qz / sqrt(1-qw*qw)

当然,角度是以弧度表示的。在计算x,y和z时要小心,如果没有旋转或很小的旋转,就会发生这种情况,所以您应该测试角度> epsilon,在那里选择epsilon为相当小的角度(例如1/10度),如果是这样的话,就不计算矢量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9953764

复制
相关文章
Mastercam怎样设置一个旋转轴?
数控编程、车铣复合、普车加工、行业前沿、机械视频,生产工艺、加工中心、模具、数控等前沿资讯在这里等你哦
lrglu
2023/02/24
1.7K0
Mastercam怎样设置一个旋转轴?
从10W个数中随机抽走2个数,求出那两个数是多少
从1到10w(共10w个数)中随机抽走2个数,然后打乱剩下的数的顺序,问如果从这剩下的数中快速的找出抽走的是哪2个数?
meteoric
2019/02/25
1.1K0
从10W个数中随机抽走2个数,求出那两个数是多少
布局转模型无法生成新图形_三维数组初始化
本系列文章为原创,转载请注明出处。 作者:Dongdong Bai 邮箱: baidongdong@nudt.edu.cn
全栈程序员站长
2022/11/02
5110
布局转模型无法生成新图形_三维数组初始化
模型矩阵、视图矩阵、投影矩阵
模型视图投影矩阵的作用,就是将顶点从局部坐标系转化到规范立方体(Canonical View Volnme)中。总而言之,模型视图投影矩阵=投影矩阵×视图矩阵×模型矩阵,模型矩阵将顶点从局部坐标系转化到世界坐标系中,视图矩阵将顶点从世界坐标系转化到视图坐标系下,而投影矩阵将顶点从视图坐标系转化到规范立方体中。
全栈程序员站长
2022/08/27
2.3K0
智慧社区从住户需求出发
智慧社区是利用新兴技术,整合社区资源,为居民创造一个安全、便捷、舒适的社区环境的新模式。终极目标是服务于住户,提升住户居住环境舒适度。智慧社区开发的方向有哪些,如何把握开发方向呢?个人认为应该从住户需求从发,逐步完善智慧社区服务项目。本文将从社区安全、智能家居、智慧物业角度出发,一起探讨智慧社区建设。
AI社区
2019/12/27
9000
智慧社区从住户需求出发
Eigen中四元数、欧拉角、旋转矩阵、旋转向量之间的转换
旋转向量 1,初始化旋转向量:旋转角为alpha,旋转轴为(x,y,z) Eigen::AngleAxisd rotation_vector(alpha,Vector3d(x,y,z)) 2,旋转向量转旋转矩阵 Eigen::Matrix3d rotation_matrix; rotation_matrix=rotation_vector.matrix(); Eigen::Matrix3d rotation_matrix; rotation_matrix=rotation_vector.toRotati
点云PCL博主
2022/01/27
3.4K0
UE5中四元数的旋转技巧
旋转角过渡:测试角度: 0,45,0旋转到 120,90,100【可以看到旋转绕了一圈】
Jean
2021/09/07
3.4K0
坐标转换与姿态描述
为了能够科学的反映物体的运动特性,会在特定的坐标系中进行描述,一般情况下,分析飞行器运动特性经常要用到以下几种坐标系统1、大地坐标系统;2、地心固定坐标系统;3、本地北东地坐标系统;4、机载北东地坐标系统;5、机体轴坐标系统。 其中3、4、5在我们建模、设计控制律时都是经常需要使用的坐标系,描述物体(刚体)位姿信息的6个自由度信息都是在这三个坐标系中产生的
小飞侠xp
2019/10/13
2.5K0
刚体运动和坐标变换-1
旋转矩阵 :旋转矩阵可以表示向量的旋转,其本质是两个坐标系基底之间的内积构成的矩阵
Mezereon
2023/03/29
3870
刚体运动和坐标变换-1
从零开始学习自动驾驶系统(八)-基础知识之车辆姿态表达
辆位置和姿态是自动驾驶中的一个基础问题,只有解决了车辆的位置和姿态,才能将自动驾驶的各个模块关联起来。车辆的位置和姿态一般由自动驾驶的定位模块输出。
YoungTimes
2022/04/28
2.9K0
从零开始学习自动驾驶系统(八)-基础知识之车辆姿态表达
通过初始时间和流逝的分钟数计算终止时间
输入在一行中给出两个整数,分别是四位数字表示的起始时间,以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。
算法与编程之美
2021/12/15
8680
独家|图说Pandas中旋转和重塑函数
本文通过图例的方式,举例说明了pandas中旋转(pivot)和重塑(reshape)函数的实现方式。
数据派THU
2019/11/20
6570
独家|图说Pandas中旋转和重塑函数
three.js 欧拉角和四元数
这篇郭先生就来说说欧拉角和四元数,欧拉角和四元数的优缺点是老生常谈的话题了,使用条件我就不多说了,我只说一下使用方法。
郭先生的博客
2020/08/31
1.9K0
three.js 欧拉角和四元数
《游戏引擎架构》阅读笔记 第一部分第4章
本系列博客为《游戏引擎架构》一书的阅读笔记,旨在精炼相关内容知识点,记录笔记,以及根据目前(2022年)的行业技术制作相关补充总结。 本书籍无硬性阅读门槛,但推荐拥有一定线性代数,高等数学以及编程基础,最好为制作过完整的小型游戏demo再来阅读。 本系列博客会记录知识点在书中出现的具体位置。并约定(Pa b),其中a为书籍中的页数,b为从上往下数的段落号,如有lastb字样则为从下往上数第b段。 本系列博客会约定用【】来区别本人所书写的与书中观点不一致或者未提及的观点,该部分观点受限于个人以及当前时代的视角
[Sugar]
2022/10/28
3750
《游戏引擎架构》阅读笔记 第一部分第4章
Unity第三人称视角解决方案
镜头跟随 在实现第三人称时,镜头问题困扰了我一整天,参考了官方的脚本 SmoothFollow,虽然能实现镜头跟在人物身后,但是发现几个问题。 脚本实现太繁琐,有几个属性目前根本就用不到。 人物旋转时不能控制摄像机跟着旋转,也就是说,不能让镜头一直跟在人物身后。 脚本代码如下: public class SmoothFollow : MonoBehaviour { // The target we are following [SerializeField] private Transfo
xferris
2018/06/01
2.6K0
欧拉角_欧拉角 图
来源 https://www.zhihu.com/question/47736315
全栈程序员站长
2022/09/20
7840
欧拉角_欧拉角 图
如何快速求出与n互素的数有多少个?
一个数n,在小于等于n的正整数[1,n]中,与n互素的数有多少个呢? (注:x与n互素,说明x与n的最大公约数为1)
小K算法
2022/11/24
6880
如何快速求出与n互素的数有多少个?
点击加载更多

相似问题

四元数和旋转轴

12

在OpenCV中从旋转矩阵和平移矢量中求出旋转轴

23

如何从最终向量中求出旋转矩阵?

14

从旋转矩阵中移除任意旋转轴

23

在webgl中旋转旋转轴

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文