【问题标题】:Create CMAttitude rotation matrix from roll, pitch and yaw values从滚动、俯仰和偏航值创建 CMAttitude 旋转矩阵
【发布时间】:2013-11-01 22:38:25
【问题描述】:

我正在尝试从滚动、俯仰和偏航值中获取(Apple 风格,CMAttitude)旋转矩阵。有人知道这种转换是如何工作的吗?

例子:

滚动:1.01315, 间距:1.54177 和 偏航:-0.361097

应该产生这个旋转矩阵:

谢谢!

【问题讨论】:

    标签: iphone matrix rotation core-motion pitch


    【解决方案1】:

    我认为您可以使用 CATransform3D 来实现。

    你会使用这两个调用:

    CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x, CGFloat y, CGFloat z);
    CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z)
    

    您需要弄清楚滚动、俯仰和偏航如何与您的坐标系对应(通常是 x、y、z,但也可以是 z、x、y)

    然后做一个这样的组合:

    CATransform3D transform = CATransform3DMakeRotation(anglex, 1.0, 0.0, 0.0);
    transform = CATransform3DRotate(transform, angley, 0.0, 1.0, 0.0);
    transform = CATransform3DRotate(transform, anglez, 0.0, 0.0, 1.0);
    

    您的变换现在将保存您正在寻找的矩阵。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多