10得票3回答
将欧拉角转换为矩阵,以及将矩阵转换为欧拉角

我试图使用.NET/C#将欧拉角描述的3D旋转转换为矩阵,然后再转回去。我的约定是: 左手系(x向右,y向上,z向前) 旋转顺序:绕y轴的偏航,绕x轴的俯仰,绕z轴的转弯 使用左手规则进行正旋转(拇指指向+无穷大) 我的尝试是: 欧拉角到矩阵(我已经删除了x、y、z平移部分以简化问题...

18得票5回答
使用Roll-Pitch-Yaw角度转换图像(图像矫正)

我正在开发一个应用程序,需要矫正从移动摄像平台上拍摄的图像。该平台测量滚转、俯仰和偏航角度,我想通过某种转换将其看起来像是直接从上方拍摄的图像。 换句话说,我希望一个完美的正方形平放在地面上,在某些相机方位下远距离拍摄,经过变换后正方形会变得完全对称。 我一直在尝试使用OpenCV(C++...

12得票7回答
欧拉角与四元数 - 存储内部与向用户展示之间的紧张关系引起的问题?

四元数可以说是内部表示物体旋转的适当选择。它们插值简单高效,并且能够明确地表示单个方向。 然而,在用户界面中展示四元数通常不合适 - 欧拉角通常更为熟悉,其值更加直观和可预测。 欧拉角在代码层面上很复杂 - 它们需要存储旋转顺序,并使用此顺序和相关角度组成实用方向(无论是矩阵还是四元数),...

9得票4回答
通过另一个四元数的偏航部分纠正一个四元数的偏航部分

我有以下问题:需要用由第二个跟踪对象导出的另一个方向四元数(q2)的偏航角(仅仅是偏航角!)对运动捕捉设备生成的四元数(q1)进行校正,以便q1的俯仰和翻滚与以前相同,但其偏航与q2相同。 现有的解决方案是先将四元数转换为矩阵,再通过计算提取旋转角度并进行航向修正。但这样会在某个轴直接朝向时...

11得票1回答
如何使用陀螺仪的原始数据 (°/s) 计算 3D 旋转?

我的问题可能看起来微不足道,但我读得越多就越困惑...... 我开始了一个小项目,想要大致跟踪旋转物体的运动。(确切地说是篮球) 我有一个三轴加速度计(低通滤波)和一个测量°/s的三轴陀螺仪。 我知道陀螺仪存在的问题,但由于测量只会持续几秒钟,而角度往往很大-我现在不关心漂移和万向节。 我的...

25得票4回答
从矩阵中获取俯仰角和横滚角而不产生奇异性

我正在研究一个带有2个自由度(俯仰和横滚)的运动模拟器。我从游戏中读取变换矩阵,并需要获取角度并将其发送到硬件驱动电机。由于欧拉角存在奇点,所以我无法真正使用它们。它的行为如下:(来源:gfycat.com)。当它应该像这样:(来源:gfycat.com)。我准备了在线示例以更好地展示这个问题...

15得票1回答
计算维度大于3的欧拉角/泰特-布莱恩角的类比。

在尝试回答另一个SO问题时,如何计算大于3维的欧拉角的问题浮现了出来。 RSpincalc包有一个简单的DCM2EA函数,用于将3D旋转矩阵转换为欧拉或Tait-Bryan角度,但这仅处理3个维度的特定情况。 维基百科关于欧拉角的页面简要讨论了将欧拉角扩展到更高维度的问题,并引用了一篇意大利论...

8得票3回答
使用OpenCV、C++和2D图像进行头部姿态估计 - 几何方法 - 滚动、偏航和俯仰。

我正在尝试基于2D图像找到一个人脸的三个角度,使用OpenCV和HaarCascade来查找脸部、眼睛、鼻子和嘴巴。但我没有找到可以帮助我找到X、Y和Z(横滚、俯仰和偏航)角度的任何几何方法。请问是否有人可以提供一些在C++或Java中有效的方法?

33得票8回答
将四元数旋转转换为欧拉角旋转的算法存在吗?

是否有一种现有的算法,可以将四元数表示的旋转转换为欧拉角表示?欧拉表示的旋转顺序已知,并且可以是六个排列中的任何一个(即xyz、xzy、yxz、yzx、zxy、zyx)。我见过针对固定旋转顺序(通常是NASA航向、俯仰和滚动约定)的算法,但没有针对任意旋转顺序的算法。 此外,由于单个方向存在...

44得票9回答
如何从旋转矩阵计算角度

我正在使用同一对象的两个图像,该对象从第一张图像旋转了一定角度。 我已经计算出每个图像的位姿并使用Rodergues()将旋转向量转换为矩阵。现在我该如何计算并查看它与其第一位置相比旋转了多少? 我尝试了许多方法,但答案都不接近。 编辑:我的相机是固定的,只有物体在移动。