xcode - 将 OpenGL 4x4 矩阵转换为旋转角度

标签 xcode opengl matrix rotation

我正在 OpenGL 中提取模型矩阵 glGetFloatv (GL_MODELVIEW_MATRIX, (float*)x)

并且想要从生成的 4x4 矩阵中提取 x、y 和 z 轴旋转。我怎样才能做到这一点 ? 谢谢!

最佳答案

首先您应该知道,称为欧拉角的 x、y、z 轴旋转存在严重的数值问题。而且他们也不是明确的。因此,要么存储旋转角度和旋转轴,从而有效地变相形成四元数,要么坚持使用完整的旋转矩阵。

从旋转矩阵中找到四元数称为特征值问题。从技术上讲,您正在确定旋转矩阵的特征向量,它是轴,大小指定角度。

关于xcode - 将 OpenGL 4x4 矩阵转换为旋转角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6870469/

相关文章:

python - 从索引列表到单热矩阵

ios - 如何在 Xcode 7 中将四个按钮对齐死点?

xcode - 淡入弹跳动画 subview

c++ - OpenGL glTexImage2D 立方图和宽度/高度参数

java - OpenGL (LWJGL) - 获取纹理的像素颜色

c++ - 使用简单的 OpenGL 命令 glvertex2i、glColor3ub 时出现 GL_INVALID_OPERATION 错误 1218 (0x0502)

c++ - boost 间隔矩阵

c++ - 使用 Xcode 13 在 iOS 15 上编译 Cronet 时,shrink_to_fit() 的 "Undefined symbols"

iOS:基础框架问题

r - 如何有效地找到矩阵前 n 个值的列索引?