c++ - 如何知道对象在 3D 中仅旋转了 15 度?

标签 c++ math object 3d rotation

我在 3D 空间中有一个朝向某个方向的 3D 对象。我怎么知道它已经从其初始旋转 q(欧拉角:0、0、0)仅在任意轴上旋转了任意数量的 15 度。例如,X轴旋转4*15度,Y轴旋转7*15度,Z轴旋转13*15度。我怎样才能检测到这一点?

我试图从对象的旋转矩阵中获取欧拉角,但似乎只有当我只在一个轴上旋转时才能正确检测到这种情况。如果我开始混合 X、Y 和 Z 轴 15 度旋转,欧拉角就会变得困惑。

我 100% 确定对象只旋转了 15 度。

最佳答案

旋转矩阵只能分解成四元数,我相信,不能分解成每轴旋转。

关于c++ - 如何知道对象在 3D 中仅旋转了 15 度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6535616/

相关文章:

C++ 为什么 bitvec[0].flip() 有效

php - 从 PHP 调用 C/C++ 库函数

java - 在 Java 中执行符号数学

java - 单位圆程序舍入

javascript - 传递给这个 'function(x)' 的是什么?

python - 状态和行动形式主义。不同类之间如何实现+,-,=运算符

java - 从java的其他地方访问innerClass中创建的对象

java - 无法返回对象类型?

Mac 上 xcode 的 C++ bool 逻辑语法

c++ - cin.get() ASCII码与代码中已经设置的字符的ASCII码不同