我正在尝试从滚动、俯仰和偏航值中获取(Apple 风格,CMAttitude)旋转矩阵。有人知道这种转换是如何工作的吗?
例子:
滚动:1.01315,俯仰:1.54177 和偏航:-0.361097
应该导致这个旋转矩阵:
谢谢!
我正在尝试从滚动、俯仰和偏航值中获取(Apple 风格,CMAttitude)旋转矩阵。有人知道这种转换是如何工作的吗?
例子:
滚动:1.01315,俯仰:1.54177 和偏航:-0.361097
应该导致这个旋转矩阵:
谢谢!
我认为您可以使用 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);
您的变换现在将保存您正在寻找的矩阵。